mstk.forcefield.DihedralTerm

class mstk.forcefield.DihedralTerm(type1, type2, type3, type4)

Base class for all dihedral terms.

Subclasses should be implemented for each functional form, e.g. PeriodicDihedralTerm.

During the initialization, the sequence of atom types to use i-j-k-l or l-k-j-i will be determined by their string order.

DihedralTerm allows wildcard(*) for side atoms. For sorting purpose, the wildcard will always be the last. 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

is_zero

Whether or not this dihedral terms always give zero energy.

name

The name of this force field term.

property name

The name of this force field term.

Returns:

name

Return type:

str

property is_zero

Whether or not this dihedral terms always give zero energy.

For linear groups like alkyne and nitrile, dihedral terms are presented in topology. But the parameters for these terms usually equal to zero.

Returns:

is

Return type:

bool