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)