polymerist.polymers.estimation ============================== .. py:module:: polymerist.polymers.estimation .. autoapi-nested-parse:: For estimating properties of chains based on their constituent monomers and chain info Functions --------- .. autoapisummary:: polymerist.polymers.estimation.estimate_n_atoms_linear polymerist.polymers.estimation.estimate_n_monomers_infimum polymerist.polymers.estimation.estimate_n_monomers_supremum Module Contents --------------- .. py:function:: estimate_n_atoms_linear(monomers: polymerist.polymers.monomers.repr.MonomerGroup, n_monomers: int) -> int For a given collection of monomer fragments and a desired degree of polymerization, estimates and returns the number of atoms present in the resulting chain !NOTE! : As-implemented, only works for linear homopolymers and block copolymers with equal an distribution of monomers :Parameters: * **monomers** (*MonomerGroup*) -- A collection of monomer fragments * **n_monomers** (*int*) -- The desired degree of polymerization (i.e. number of repeat units in the polymer chain) :returns: **n_atoms** -- The estimated number of atoms in the resulting chain :rtype: int .. py:function:: estimate_n_monomers_infimum(monomers: polymerist.polymers.monomers.repr.MonomerGroup, n_atoms_max: int, n_monomers_min: int = 3) -> int For a given collection of monomer fragments and an UPPER bound on the number of atoms, returns the LARGEST number of monomers which guarantees that a polymer chain made up of that many monomers will have NO MORE THAN the specified maximum number of atoms :Parameters: * **monomers** (*MonomerGroup*) -- A collection of monomer fragments * **n_atoms_max** (*int*) -- The maximum number of atoms the resulting chain should contain * **n_monomers_min** (*int*) -- The minimum number of monomers to consider (default is 3) :returns: **n_monomers_infimum** -- The greatest lower bound on the number of monomers needed to achieve the desired chain length (i.e. number of atom) :rtype: int .. py:function:: estimate_n_monomers_supremum(monomers: polymerist.polymers.monomers.repr.MonomerGroup, n_atoms_min: int, n_monomers_min: int = 3) -> int For a given collection of monomer fragments and a LOWER bound on the number of atoms, returns the SMALLEST number of monomers which guarantees that a polymer chain made up of that many monomers will have NO FEWER THAN the specified minimum number of atoms :Parameters: * **monomers** (*MonomerGroup*) -- A collection of monomer fragments * **n_atoms_min** (*int*) -- The minimum number of atoms the resulting chain should contain * **n_monomers_min** (*int*) -- The minimum number of monomers to consider (default is 3) :returns: **n_monomers_supremum** -- The least upper bound on the number of monomers needed to achieve the desired chain length (i.e. number of atoms) :rtype: int