mstk.forcefield.MorseBondTerm

class mstk.forcefield.MorseBondTerm(type1, type2, length, k, depth)

Bond term in Morse function form

The energy function is

>>> U = depth*(1-exp(-alpha*(r-b0)))^2
>>> alpha = (k / depth) ** 0.5

The k corresponds to the force constant k in HarmonicBondTerm.

During the initialization, the two atom types will be sorted by their string.

Parameters:
  • type1 (str) –

  • type2 (str) –

  • length (float) –

  • k (float) –

  • depth (float) –

type1
Type:

str

type2
Type:

str

length
Type:

float

k
Type:

float

depth
Type:

float

Methods

__init__(type1, type2, length, k, depth)

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

name

The name of this force field term.

evaluate_energy(val)

Evaluate the energy for a force field term like HarmonicBondTerm, PeriodicDihedralTerm, etc…

It is mainly for debugging. It is not (and can not be) implemented for all terms.

Parameters:

val (float) – The value of distance, angle, dihedral or improper.

Returns:

energy

Return type:

float