Simpatico  v1.10

Synopsis

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.

See also
Simp::Multiblock

Parameters

Multiblock parameter file format is:

Multiblock{
moleculeCapcacity int
nBlock int
blockLengths Array int[nBlock]
atomTypes Array int[nBlock]
bondType int
[hasAngles bool]
(angleType int)
[hasDihedrals bool]
(dihedralType int)
}

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.

Multiblock{
moleculeCapacity 200
nBlock 3
blockLengths 12
8
10
atomTypes 2
0
bondType 1
}

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.