Simpatico
v1.10
|
Linear multi-block copolymer molecular species.
A Multiblock is a species linear block copolymer containing one or more chemically homogeneous blocks of atoms in which atoms within each block have the same atomType (i.e., the same atom type id). All bonds in a Multiblock have the same bondType id, throughout all blocks, including any junction bonds.
If the code is compiled with angle potentials enabled (i.e., with SIMP_ANGLE defined), a Hompolymer may optionally have a bending potential between each sequence of three consecutive atoms. All angle potentials, if present, are characterized by the same angle potential type id, and are thus described by the same parameters.
If the code is compiled with dihedral potentials enabled (i.e., with SIMP_DIHEDRAL defined), a Hompolymer may optionally have a dihedral potential between each sequence of four consecutive atoms. All dihedral potentials, if present, are characterized by the same angle potential type id, and are thus described by the same parameters.
Multiblock parameter file format is:
Here, square brackets indicate optional parameters, while parentheses indicate parameters whose presence or absence is conditional on presence and/or values earlier parameters, as discussed in more detail below.
Parameters related angle and dihedral potentials (the last four parameters in this format) are valid only if the code has been compiled with angle and dihedral potentials enabled, respectively.
When the code is compiled with the relevant parameters enabled, the boolean parameters hasAngles and hasDihedrals are optional, and are both taken to be false by default if absent. The conditional parameters angleType and dihedral type are required if any and only if the following conditions are satisfied:
The array parameters blockLengths and atomTypes are both arrays of nBlock integer elements. Each element of each such array-valued parameter appears on a separate line, preceded by the parameter name (blockLengths or atomTypes) only on the first line.
Below is an example of simple parameter block for a species that may contain up to 200 block triblock copolymer molecules of 32 beads each, with 12 beads of type 2 in the first block, 8 beads of type 0 in the second block and 10 beads of type 1 in the third block, with bonds of bond type id equal to 0.
The absence of the optional parameters hasAngle and hasDihedral and of the conditional angleType and dihedralType parameters indicates that this species of molecule has no angle or dihedral potentials, i.e., that it is a completely flexible chain.
The parameter meanings are as follows:
moleculeCapacity | number of molecules for which memory is allocated | required |
nBlock | number of blocks | required |
blockLengths | array of number of atoms in each block | required |
atomTypes | array of monomer type ids for each block | required |
bondType | bond type id of all bonds | required |
hasAngles | true iff molecule has angle potentials | optional (default false) |
angleType | angle type id of all angle potentials | conditional |
hasDihedrals | true iff molecule has dihedral potentials | optional (default false) |
dihedralType | dihedral type id of all dihedral potentials | conditional |
A parameter block to describe a flexible diblock copolymer, with no angle or dihedral potentials, needs to include only the blockLengths, atomTypes and bondType parameters, as in the above example. A parameter block to describe a worm-like chain must also include parametr hasAngles, which should be set true, and an angleType parameter. A parameter block to describe a block copolymer with angle and dihedral potentials must include all possible parameters.