mstk.forcefield.AtomType

class mstk.forcefield.AtomType(name, mass=-1, charge=0, eqt_bci=None, eqt_vdw=None, eqt_bond=None, eqt_ang_c=None, eqt_ang_s=None, eqt_dih_c=None, eqt_dih_s=None, eqt_imp_c=None, eqt_imp_s=None, eqt_polar=None)

AtomType is the most fundamental element in a force field. It determines which VdwTerm, BondTerm, etc… will be used to describe the energy functions between a specific set of atoms.

Equivalent table (EQT) is extensively used in mstk. It helps decreasing the number of force field terms significantly without losing generality and accuracy, thus making the force field extendable.

Parameters:
  • name (str) – The name of this atom type.

  • mass (float , optional) – The mass of this atom type.

  • charge (float , optional) – The charge of this atom type.

  • eqt_bci (str , optional) – The equivalent type for bond charge increment parameters

  • eqt_vdw (str , optional) – The equivalent type for vdW parameters

  • eqt_bond (str , optional) – The equivalent type for bond parameters

  • eqt_ang_c (str , optional) – The equivalent type for angle parameters if this atom type is the center of an angle

  • eqt_ang_s (str , optional) – The equivalent type for angle parameters if this atom type is the side of an angle

  • eqt_dih_c (str , optional) – The equivalent type for dihedral parameters if this atom type is the center of a dihedral

  • eqt_dih_s (str , optional) – The equivalent type for dihedral parameters if this atom type is the side of a dihedral

  • eqt_imp_c (str , optional) – The equivalent type for improper parameters if this atom type is the center of an improper

  • eqt_imp_s (str , optional) – The equivalent type for improper parameters if this atom type is the side of an improper

  • eqt_polar (str , optional) – The equivalent type for polarization parameters

mass

The mass of this atom type. -1 means not provided in the force field. Mass is not mandatory, because finally we are going to take the masses from the Topology. However, masses in force field can be used to assign the masses in topology.

Type:

float

charge

The charge of this atom type. Similar to mass, the charges we are finally going to use are from the Topology. But charges in force field can be used to assign the charges in topology.

Type:

float

eqt_bci

The equivalent type for bond charge increment parameters

Type:

str

eqt_vdw

The equivalent type for vdW parameters

Type:

str

eqt_bond

The equivalent type for bond parameters

Type:

str

eqt_ang_c

The equivalent type for angle parameters if this atom type is the center of an angle

Type:

str

eqt_ang_s

The equivalent type for angle parameters if this atom type is the side of an angle

Type:

str

eqt_dih_c

The equivalent type for dihedral parameters if this atom type is the center of a dihedral

Type:

str

eqt_dih_s

The equivalent type for dihedral parameters if this atom type is the side of a dihedral

Type:

str

eqt_imp_c

The equivalent type for improper parameters if this atom type is the center of an improper

Type:

str

eqt_imp_s

The equivalent type for improper parameters if this atom type is the side of an improper

Type:

str

eqt_polar

The equivalent type for polarization parameters

Type:

str

Methods

__init__(name[, mass, charge, eqt_bci, ...])

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

eqt_types

name

The name of this atom type.

property name

The name of this atom type.

Setter:

Set the name of this atom type

Returns:

name

Return type:

str

property eqt_types