azplugins.bond¶
Overview
Double-well bond potential. |
|
Harmonic bond potential using unwrapped coordinates. |
|
Quartic bond potential. |
Details
Bond potentials.
- class hoomd.azplugins.bond.DoubleWell¶
Bases:
BondDouble-well bond potential.
DoubleWellspecifies a double well potential between the two particles in the simulation state with:\[\begin{split}U(r) &= U_1 \left[1 - \left(\frac{r_1-r}{r_1-r_0}\right)^2 \right]^2 \\ &+ U_{\rm{tilt}}\left(1 - \frac{r_1-r}{r_1-r_0} -\left[1 - \left(\frac{r_1-r}{r_1-r_0}\right)^2 \right]^2 \right)\end{split}\]- params¶
The parameter of the double-well bonds for each particle type. The dictionary has the following keys:
r_0(float, required) - Location of the first potential minimum \(r_0\) when \(U_{\rm tilt} = 0\) \([\mathrm{length}]\)r_1(float, required) - Location of the potential local maximum \(r_1\) when \(U_{\rm tilt} = 0\) \([\mathrm{length}]\)U_1(float, required) - Potential energy \(U_1 = U(r_1)\) \([\mathrm{energy}]\)U_tilt(float, required) - Tunes the energy offset \(U_{\rm tilt}\) between the two potential minima values, i.e. it tilts the potential \([\mathrm{energy}]\)
- Type:
TypeParameter[
bond type, dict]
Examples:
dw = azplugins.bond.DoubleWell() dw.params['A-A'] = dict(r_0=0.5, r_1=2.5, U_1=5.0, U_tilt=0.0) dw.params['A-A'] = dict(r_0=1.0, r_1=2.0, U_1=1.0, U_tilt=0.5)
- class hoomd.azplugins.bond.ImageHarmonic¶
Bases:
HarmonicHarmonic bond potential using unwrapped coordinates.
This class implements the same potential as
hoomd.md.bond.Harmonic, but differs in how the bond distance is computed. Rather than computing the distance between nearest images of bonded particles, the true distance between a pair of particles is computed by unwrapping the coordinates first. This is important for systems where bonded particles may be separated by distances larger than half the box size.Warning
This potential may have issues in simulations run under MPI if a bond spans more than half a domain size.
- params¶
The parameter of the ImageHarmonic bonds for each particle type. The dictionary has the following keys:
r0(float, required) - Rest length \([\mathrm{length}]\)k(float, required) - Potential constant \([\mathrm{energy} / \mathrm{length}^2]\)
- Type:
TypeParameter[
bond type, dict]
Examples:
ih = azplugins.bond.ImageHarmonic() ih.params["A-A"] = dict(r0=1.0, k=25)
- class hoomd.azplugins.bond.Quartic¶
Bases:
BondQuartic bond potential.
Quarticspecifies a quartic potential between the two particles in the simulation state with:\[\begin{split}U(r) &= k (r - \Delta - r_0 - b_1)(r - \Delta - r_0 - b_2) (r - \Delta -r_0)^2 & \\ &+ U_0 + U_{\rm WCA}(r), & r < r_0 + \Delta \\ &= U_0 + U_{\rm WCA}(r), & r \ge r_0 + \Delta\end{split}\]where \(r\) is the distance from one particle to the other in the bond. The potential \(U_{\rm WCA}(r)\) is given by:
\[\begin{split}U_{\rm WCA}(r) &= 4 \varepsilon \left[ \left( \frac{\sigma}{r-\Delta} \right)^{12} - \left( \frac{\sigma}{r-\Delta} \right)^{6} \right] + \varepsilon, & r < 2^{1/6}\sigma + \Delta \\ &= 0, & r \ge 2^{1/6}\sigma + \Delta\end{split}\]- params¶
The parameters of the quartic bonds for each particle type. The dictionary has the following keys:
k(float, required) - quartic attractive force strength \([\mathrm{energy}/\mathrm{length}^4]\).r_0(float, required) - Location of the quartic potential cutoff \(r_0\). Intended to be larger than the WCA cutoff, \(2^{1/6}\sigma\). When true, \(U(r_0) = U_{0} + U_{\rm WCA}(r_0)\) \([\mathrm{length}]\).b_1(float, required) - First quartic potential fitting parameter \(b_1\) \([\mathrm{length}]\).b_2(float, required) - Second quartic potential fitting parameter \(b_2\) \([\mathrm{length}]\).U_0(float, required) - Quartic potential energy barrier height \(U_0\) at \(r_0\) when \(r_0 > 2^{1/6}\sigma\) \([\mathrm{energy}]\).epsilon(float, required) - Repulsive WCA interaction energy \(\varepsilon\) \([\mathrm{energy}]\).sigma(float, required) - Repulsive WCA interaction size \(\sigma\) \([\mathrm{length}]\).delta(float, optional) - Shift \(\Delta\), defaults to zero \([\mathrm{length}]\).
- Type:
TypeParameter[
bond type, dict]
Examples:
Tsige and Stevens bond potential.
quartic = hoomd.azplugins.bond.Quartic() quartic.params['A-A'] = dict(k=1434.3, r_0=1.5, b_1=-0.7589, b_2=0.0, U_0=67.2234, sigma=1, epsilon=1, delta=0.0)