Simpatico  v1.10

Synopsis

Linear diblock copolymer molecular species.

A Diblock is a species linear diblock copolymer containing two chemically homogeneous blocks of atoms, in which atoms within each block have the same atomType (i.e., the same atom type id). All bonds must have the same bondType id, throughout both blocks, including the junction bond.

If the code is compiled with angle potentials enabled (i.e., with SIMP_ANGLE defined), a Diblock 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 Diblock 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::Diblock

Parameters

Diblockhe parameter file format is:

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

Square brackets indicate optional parameters, while parentheses indicate parameters whose presence or absence is conditional on the presence or absence or values of 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 required array parameters blockLengths and atomTypes have two elements each, whose values appear with a single array element on each line, with the parameter name only on the first line. Here is an example of simple parameter block for a species that may contain up to 200 block copolymer molecules of 32 beads each, with 12 beads of type 0 in the first block and 20 beads of type 1 in the second, with bonds of bond type id equal to 0.

Diblock{
moleculeCapacity 200
blockLengths 12
20
atomTypes 0
1
bondType 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
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 diblock copolymer with angle and dihedral potentials must include all possible parameters.