mstk.forcefield.ImproperTerm¶
- class mstk.forcefield.ImproperTerm(type1, type2, type3, type4)¶
Base class for all improper terms.
Subclasses should be implemented for each functional form, e.g.
PeriodicImproperTerm.During the initialization, the three side atom types will be sorted by their string.
Improper term is usually used to keep 3-coordinated structures in the same plane. The first atom is the central atom, following the convention of GROMACS and CHARMM. However, the definition of the value of improper i-j-k-l is vague. CHARMM defines the value of the improper as the angle between plane i-j-k and j-k-l. Whereas OPLS defines the value as the angle between j-k-i and k-i-l.
ImproperTerm allows wildcard(*) for side atoms. During force field matching, the terms with wildcard will have lower priority. The terms with wildcard will be used only if exact match cannot be found.
- Parameters:
type1 (str) –
type2 (str) –
type3 (str) –
type4 (str) –
- type1¶
- Type:
str
- type2¶
- Type:
str
- type3¶
- Type:
str
- type4¶
- Type:
str
Methods
__init__(type1, type2, type3, type4)evaluate_energy(val)Evaluate the energy for a force field term like HarmonicBondTerm, PeriodicDihedralTerm, etc...
get_alias()Return a short alias for the name of this class
to_zff()Pack the attributes of a term into a string so that can be saved into a line in ZFF file.
to_zff_header()Header string to explain a line in ZFF format
Attributes
The name of this force field term.
- property name¶
The name of this force field term.
- Returns:
name
- Return type:
str