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)}})