md.bond

Overview

Bond

Constructs the bond potential.

FENE

FENE bond potential.

Harmonic

Harmonic bond potential.

Tether

Tethering bond potential.

Details

Bond potentials.

class hoomd.md.bond.Bond

Bases: hoomd.md.force.Force

Constructs the bond potential.

Note

Bond is the base class for all bond potentials. Users should not instantiate this class directly.

class hoomd.md.bond.FENE

Bases: hoomd.md.bond.Bond

FENE bond potential.

FENE specifies a FENE potential energy between the two particles in each defined bond.

\[V(r) = - \frac{1}{2} k r_0^2 \ln \left( 1 - \left( \frac{r - \Delta}{r_0} \right)^2 \right) + V_{\mathrm{WCA}}(r)\]

where \(r\) is the distance from one particle to the other in the bond, \(\Delta = (d_i + d_j)/2 - 1\), \(d_i\) is the diameter of particle \(i\), and

\begin{eqnarray*} V_{\mathrm{WCA}}(r) = & 4 \varepsilon \left[ \left( \frac{\sigma}{r - \Delta} \right)^{12} - \left( \frac{\sigma}{r - \Delta} \right)^{6} \right] + \varepsilon; & r-\Delta < 2^{\frac{1}{6}}\sigma\\ = & 0; & r-\Delta \ge 2^{\frac{1}{6}}\sigma \end{eqnarray*}
params

The parameter of the FENE potential bonds. The dictionary has the following keys:

  • k (float, required) - attractive force strength \([\mathrm{energy} \cdot \mathrm{length}^{-2}]\)

  • r0 (float, required) - size parameter \([\mathrm{length}]\)

  • epsilon (float, required) - repulsive force strength \([\mathrm{energy}]\)

  • sigma (float, required) - repulsive force interaction \([\mathrm{length}]\)

Type

TypeParameter[bond type, dict]

Examples:

bond_potential = bond.FENE()
bond_potential.params['molecule'] = dict(k=3.0, r0=2.38,
                                         epsilon=1.0, sigma=1.0)
bond_potential.params['backbone'] = dict(k=10.0, r0=1.0,
                                         epsilon=0.8, sigma=1.2)
class hoomd.md.bond.Harmonic

Bases: hoomd.md.bond.Bond

Harmonic bond potential.

Harmonic specifies a harmonic potential energy between the two particles in each defined bond.

\[V(r) = \frac{1}{2} k \left( r - r_0 \right)^2\]

where \(r\) is the distance from one particle to the other in the bond.

params

The parameter of the harmonic bonds for each particle type. The dictionary has the following keys:

  • k (float, required) - potential constant \([\mathrm{energy} \cdot \mathrm{length}^{-2}]\)

  • r0 (float, required) - rest length \([\mathrm{length}]\)

Type

TypeParameter[bond type, dict]

Examples:

harmonic = bond.Harmonic()
harmonic.params['polymer'] = dict(k=3.0, r0=2.38)
harmonic.params['backbone'] = dict(k=10.0, r0=1.0)
class hoomd.md.bond.Tether

Bases: hoomd.md.bond.Bond

Tethering bond potential.

Tether specifies a Tethering potential energy between two particles in each defined bond.

The tethered network is described in Refs. Gompper, G. & Kroll, D. M. Statistical Mechanics of Membranes and Surfaces 2nd edn (eds Nelson, D. R. et al.) 359-426 (World Scientific, 2004) and Noguchi, H. & Gompper, G., Phys. Rev. E 72 011901 (2005).

\[V(r) = V_{\mathrm{att}}(r) + V_{\mathrm{rep}}(r)\]

where \(r\) is the distance from one particle to the other in the bond.

\begin{eqnarray*} V_{\mathrm{att}}(r) = & k_b \frac{exp(1/(l_{c0}-r)}{l_{max}-r}; & r > l_{c0}\\ = & 0; & r \leq l_{c0} \end{eqnarray*}
\[\begin{split}\begin{eqnarray*} V_{\mathrm{rep}}(r) = & k_b \frac{exp(1/(r-l_{c1})}{r-l_{min}}; & r < l_{c1}\\ = & 0; & r \ge l_{c1} \end{eqnarray*}\end{split}\]
\[l_{min} < l_{c1} < l_{c0} < l_{max}\]
params

The parameter of the Tethering potential bonds. The dictionary has the following keys:

  • k_b (float, required) - bond stiffness \([\mathrm{energy}]\)

  • l_min (float, required) - minimum bond length \([\mathrm{length}]\)

  • l_c1 (float, required) - cutoff distance of repulsive part \([\mathrm{length}]\)

  • l_c0 (float, required) - cutoff distance of attractive part \([\mathrm{length}]\)

  • l_max (float, required) - maximum bond length \([\mathrm{length}]\)

Type

TypeParameter[bond type, dict]

Examples:

bond_potential = bond.Tether()
bond_potential.params['tether'] = dict(k_b=10.0, l_min=0.9, l_c1=1.2,
                                       l_c0=1.8, l_max=2.1)