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:
MeshPotential
FENE and WCA bond potential.
FENEWCA
computes forces, virials, and energies on all mesh bonds inmesh
with 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]
Example:
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:
MeshPotential
Harmonic bond potential.
Harmonic
computes forces, virials, and energies on all mesh bonds inmesh
with 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]
Example:
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:
MeshPotential
Tethering bond potential.
Tether
computes forces, virials, and energies on all mesh bonds inmesh
with 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]
Example:
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)