md.mesh.bond#
Overview
FENE and WCA bond potential. |
|
Harmonic bond potential. |
|
Tethering bond potential. |
Details
Mesh Bond forces.
Mesh bond force classes apply a force and virial between every mesh vertex particle and their neighbors based on the given mesh triangulation.
The connectivity and, thus the neighbor set \(\mathrm{Neigh}\) of each vertex particle \(j\) is defined by a mesh triangulation.
See also
See the documentation in hoomd.mesh.Mesh for more information on the
initialization of the mesh object.
In the mesh bond (j,k), \(r\) is the length of the edge between the mesh vertex particles \(r= |\mathrm{minimum\_image}(\vec{r}_k - \vec{r}_j)|\).
Note
The mesh bond forces are computed over the mesh data structure and not the
separate bond data structure. Hence, the mesh bonds are defined exclusively
by the mesh triangulation as HOOMD-blue automatically constructs the mesh
bond pairs based on triangulation in the hoomd.mesh.Mesh object.
The bonds should not be defined separately in the hoomd.State member
bond_group!
Mesh bond force classes assign 1/2 of the potential energy to each of the particles in the bond group:
and similarly for virials.
- class hoomd.md.mesh.bond.FENEWCA(mesh)#
Bases:
MeshPotentialFENE and WCA bond potential.
FENEWCAcomputes forces, virials, and energies on all mesh bonds inmeshwith the harmonic potential (seehoomd.md.bond.FENEWCA).- Parameters:
mesh (hoomd.mesh.Mesh) – Mesh data structure constraint.
- params#
The parameter of the FENEWCA potential bonds. The mesh type name defaults to “mesh”. The dictionary has the following keys:
k(float, required) - attractive force strength \(k\) \([\mathrm{energy} \cdot \mathrm{length}^{-2}]\).r0(float, required) - size parameter \(r_0\) \([\mathrm{length}]\).epsilon(float, required) - repulsive force strength \(\varepsilon\) \([\mathrm{energy}]\).sigma(float, required) - repulsive force interaction width \(\sigma\) \([\mathrm{length}]\).delta(float, required) - radial shift \(\Delta\) \([\mathrm{length}]\).
- Type:
TypeParameter[
bond type, dict]
Examples:
bond_potential = hoomd.md.mesh.bond.FENEWCA(mesh) bond_potential.params["mesh"] = dict(k=10.0, r0=1.0, epsilon=0.8, sigma=1.2, delta=0.0)
- class hoomd.md.mesh.bond.Harmonic(mesh)#
Bases:
MeshPotentialHarmonic bond potential.
Harmoniccomputes forces, virials, and energies on all mesh bonds inmeshwith the harmonic potential (seehoomd.md.bond.Harmonic).- Parameters:
mesh (hoomd.mesh.Mesh) – Mesh data structure constraint.
- params#
The parameter of the harmonic bonds for the defined mesh. The mesh type name defaults to “mesh”. 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[
mesh name,dict]
Examples:
harmonic = hoomd.md.mesh.bond.Harmonic(mesh) harmonic.params["mesh"] = dict(k=10.0, r0=1.0)
- class hoomd.md.mesh.bond.Tether(mesh)#
Bases:
MeshPotentialTethering bond potential.
Tethercomputes forces, virials, and energies on all mesh bonds inmeshwith the harmonic potential (seehoomd.md.bond.Tether).- Parameters:
mesh (hoomd.mesh.Mesh) – Mesh data structure constraint.
- params#
The parameter of the Tether bonds for the defined mesh. The mesh type name defaults to “mesh”. 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[
mesh name,dict]
Examples:
bond_potential = hoomd.md.mesh.bond.Tether(mesh) bond_potential.params["mesh"] = dict(k_b=10.0, l_min=0.9, l_c1=1.2, l_c0=1.8, l_max=2.1)