mstk.forcefield.SDKAngleTerm¶
- class mstk.forcefield.SDKAngleTerm(type1, type2, type3, theta, k)¶
Angle term in SDK function form
The energy function is
>>> U = k * (theta-theta0)^2 + LJ96 >>> LJ96 = 6.75 * epsilon * ((sigma/r)^9 - (sigma/r)^6) + epsilon, r < 1.144714 * sigma
The angle is in unit of radian, and the force constant is in unit of kJ/mol/rad^2.
This term itself does not contain parameters epsilon and sigma. Instead, it expects a
MieTermbetween type1 and type3 existing in theForceFieldobject. If such a MieTerm does not exist, or the repulsion and attraction of this MieTerm do not equal to 9 and 6, then the ForceField is invalid and cannot be used to construct aSystem.During the initialization, the two side atom types will be sorted by their string.
- Parameters:
type1 (str) –
type2 (str) –
type3 (str) –
theta (float) –
k (float) –
- type1¶
- Type:
str
- type2¶
- Type:
str
- type3¶
- Type:
str
- theta¶
- Type:
float
- k¶
- Type:
float
- fixed¶
- Type:
bool
Methods
__init__(type1, type2, type3, theta, k)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
to_zfp()Pack the attributes of a term into a dict so that can be saved into ZFP xml file.
Attributes
Whether or not this angle term is linear.
nameThe name of this force field term.
- property is_linear¶
Whether or not this angle term is linear.
- Returns:
is
- Return type:
bool