mstk.topology.Improper

class mstk.topology.Improper(atom1, atom2, atom3, atom4)

An improper between four atoms. The first atom is the central atom.

Parameters:
atom1
Type:

Atom

atom2
Type:

Atom

atom3
Type:

Atom

atom4
Type:

Atom

Methods

__init__(atom1, atom2, atom3, atom4)

equals(other)

Check if two impropers represent the same connectivity.

evaluate([cell])

Evaluate the value of this improper torsion in unit of radian.

Attributes

atoms

The atoms forming this improper torsion

name

Name of this improper

equals(other)

Check if two impropers represent the same connectivity. Impropers are considered as equal if they have the same side atoms and central atom, regardless of the sequence of side atoms. So i-j-k-l and i-k-l-j are the same.

Parameters:

other (Improper) –

Returns:

equal

Return type:

bool

property name

Name of this improper

Returns:

name

Return type:

str

property atoms

The atoms forming this improper torsion

Returns:

atoms

Return type:

tuple of Atom

evaluate(cell=None)

Evaluate the value of this improper torsion in unit of radian. The improper is defined as the angle between plane a1-a2-a3 and a2-a3-a4.

Parameters:

cell (UnitCell, Optional) –

Returns:

value

Return type:

float