md.improper#
Overview
Details
Improper forces.
Improper force classes apply a force and virial on every particle in the simulation state commensurate with the potential energy:
Each improper is defined by an ordered quadruplet of particle tags in the
hoomd.State
member improper_group
. HOOMD-blue does not construct improper
groups, users must explicitly define impropers in the initial condition.
In an improper group (i,j,k,l), \(\chi\) is the signed improper angle between the planes passing through (\(\vec{r}_i, \vec{r}_j, \vec{r}_k\)) and (\(\vec{r}_j, \vec{r}_k, \vec{r}_l\)). This is the same definition used in dihedrals. Typically, researchers use impropers to force molecules to be planar.
Improper force classes assign 1/4 of the potential energy to each of the particles in the improper group:
and similarly for virials.
- class hoomd.md.improper.Harmonic#
Bases:
Improper
Harmonic improper force.
Harmonic
computes forces, virials, and energies on all impropers in the simulation state with:\[U(r) = \frac{1}{2}k \left( \chi - \chi_{0} \right )^2\]- params#
The parameter of the harmonic impropers for each improper type. The dictionary has the following keys:
k
(float
, required), potential constant \(k\) \([\mathrm{energy}]\).chi0
(float
, required), equilibrium angle \(\chi_0\) \([\mathrm{radian}]\).
- Type:
TypeParameter
[improper type
,dict
]
Example:
harmonic = hoomd.md.improper.Harmonic() harmonic.params['A-B-C-D'] = dict(k=1.0, chi0=0)
- class hoomd.md.improper.Improper#
Bases:
Force
Base class improper force.
Improper
is the base class for all improper forces.Warning
This class should not be instantiated by users. The class can be used for
isinstance
orissubclass
checks.