Helfrich Bending#
Definition#
Name |
Mesh>BendingHelfrich |
Type |
Bending |
Defined in |
vertex/edges/faces |
The Helfrich bending energy for membranes is described by:
\[U = \int \kappa (H - H_0)^2 + \kappa_G K dA\]
Where: - \(\kappa\) is the bending rigidity. - \(H\) is the mean curvature of the membrane. - \(H_0\) is the spontaneous curvature. - \(\kappa_G\) is the Gaussian rigidity. - \(K\) is the Gaussian curvature. - \(dA\) denotes integration over the membrane surface area.
In the code we follow the Itzykson discretization of the curvature energy [KKG03, LMFAdlC21] we have the bending term
\[U = [2\kappa_i (H_i-H_0 )^2+\kappa_{G,i} K_i] A_i\]
where \(\kappa (\kappa_G)\) is the mean (Gaussian) rigidity of the component, \(A_i\) is the dual-lattice area of vertex \(i\), and \(H_i (K_i)\) is the mean (Gaussian) curvature at the vertex \(i\):
\[H_i = \frac{1}{2 A_i}\sum_{j\in N(i)}[\cot (\alpha_{ij})+\cot(\beta_{ij})](\mathbf{x}_i-\mathbf{x}_j)\]
\[K_i = 2\pi-\sum_i \theta_i\]
Python calling#
evolver.add_force("Mesh>Bending>Helfrich", {"kappaH": {"1": str(mean_curvature_rigidity)},
"H0": {"1": str(spontaneous_curvature)},
"kappaG": {"1": str(gaussian_curvature_rigidity)}})