md.improper
Overview
Base class improper force. |
|
Harmonic improper force. |
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.