md.mesh.bending¶
Overview
Bending potential. |
|
Helfrich bending potential. |
Details
Mesh Bending potentials.
Mesh bending force classes apply a force and virial to every mesh vertex particle based on the local curvature \(K\) of the given mesh triangulation.
The curvature at each vertex particle \(j\) is determined at its position \(\mathbf{r}_j\).
See also
See the documentation in hoomd.mesh.Mesh for more information on the
initialization of the mesh object.
- class hoomd.md.mesh.bending.BendingRigidity(mesh)¶
Bases:
MeshPotentialBending potential.
BendingRigidityspecifies a bending energy applied to all mesh triangles inmesh.\[U(i) = \frac{1}{2} k \sum_{j \in \mathrm{Neigh}(i)} ( 1 - cos(\theta_{ij}))\]with \(\theta_{ij}\) is the angle between the two normal directors of the bordering triangles of bond \(i\) and \(j\).
- Parameters:
mesh (
hoomd.mesh.Mesh) – Mesh data structure constraint.
- params¶
The parameter of the bending energy for the defined mesh. The mesh type name defaults to “mesh”. The dictionary has the following keys:
k(float, required) - bending stiffness \([\mathrm{energy}]\)
- Type:
TypeParameter[
mesh name,dict]
Example:
bending_potential = hoomd.md.mesh.bending.BendingRigidity(mesh) bending_potential.params["mesh"] = dict(k=10.0)
- class hoomd.md.mesh.bending.Helfrich(mesh)¶
Bases:
MeshPotentialHelfrich bending potential.
Helfrichspecifies a Helfrich bending energy applied to all particles within the mesh.\[U(i) = \frac{1}{2} k \frac{1}{\sigma_i}\left( \sum_{j \in \mathrm{Neigh}(i)} \frac{\sigma_{ij}}{l_{ij}} (\mathbf{r}_j - \mathbf{r}_k) \right)^2\]with the area of the dual cell of vertex i \(\sigma_i=(\sum_{j \in \mathrm{Neigh}(i)}\sigma_{ij})/4\), the length of the bond in the dual lattice \(\sigma_{ij}= r_{ij}(\text{cot}\theta_1+\text{cot}\theta_2)/2\) and the angles \(\theta_1\) and \(\theta_2\) opposite to the shared bond of vertex \(i\) and \(j\).
See also
Attention
Helfrichis NOT implemented for MPI parallel execution!- Parameters:
mesh (
hoomd.mesh.Mesh) – Mesh data structure constraint.
- params¶
The parameter of the Helfrich energy for the defined mesh. As the mesh can only have one type a type name does not have to be stated. The dictionary has the following keys:
k(float, required) - bending stiffness \([\mathrm{energy}]\)
- Type:
Example:
helfrich_potential = hoomd.md.mesh.bending.Helfrich(mesh) helfrich_potential.params["mesh"] = dict(k=10.0)