sandbox/huet/src/eulerian_caps/neo-hookean.h
Neo-hookean law for the Eulerian elasticity framework.
In this file we implement the neo-hookean law to compute the elastic surface stresses of biological capsules. The computation of the stresses rely on the Eulerian quantities defined in elasticity.h. The force are transferred to the fluid in the whole membrane region computed in capsule.h.
We define G_s, the elastic modulus of the material
Below, we compute the stress tensor for the neo-Hookean law: \mathbf{Ts} = \frac{G_s}{3} (\mathbf{G} - \frac{1}{J^3}\mathbf{P}) Note that the elastic modulus G_s will be multiplied to the stress tensor during the acceleration step in elasticity.h, and that the acceleration will be computed using the continuum surface force (CSF) formulation, for which we need to multiply the divergence of the stress tensor \nabla_s \cdot \mathbf{Ts} by the norm of the gradient of the smoothed color function |\nabla \phi| (in our case, the smoothed color function is defined in capsule.h and named caps \equiv \phi). It was shown in Ii et al. that since |\nabla \phi| is a smoothed 1-dimensional Dirac distribution, we have |\nabla \phi| \nabla_s \cdot \mathbf{Ts} = \nabla_s \cdot (|\nabla \phi| \mathbf{Ts}). As a result, we can multiply the stress tensor by |\nabla \phi| at this step.
;
pseudo_t Pforeach_dimension() {
.x.x = 1 - sq(extended_n.x[]);
P.x.y = -extended_n.x[]*extended_n.y[];
P.x.z = -extended_n.x[]*extended_n.z[];
P}
foreach_dimension() {
.x.x[] = E_S*(G.x.x[] - P.x.x/cube(J[]))/3;
Ts}
.x.y[] = E_S*(G.x.y[] - P.x.y/cube(J[]))/3;
Ts.x.z[] = E_S*(G.x.z[] - P.x.z/cube(J[]))/3;
Ts.y.z[] = E_S*(G.y.z[] - P.y.z/cube(J[]))/3;
Ts
#if !(DIRAC_IN_ACCELERATION)
double dirac = 0.;
#if SHARP_DIRAC
foreach_dimension() {
+= sq((f[1] - f[-1])/(2.*Delta));
dirac }
= sqrt(dirac);
dirac #else
= ngcaps[];
dirac #endif
foreach_dimension() Ts.x.x[] *= dirac;
.x.y[] *= dirac;
Ts.x.z[] *= dirac;
Ts.y.z[] *= dirac;
Ts#endif
}
else {
foreach_dimension() {
.x.x[] = 0.;
Ts}
.x.y[] = 0.;
Ts.x.z[] = 0.;
Ts.y.z[] = 0.;
Ts}
}
boundary((scalar *){Ts});
}
References
[ii2012full] |
Satoshi Ii, Xiaobo Gong, Kazuyasu Sugiyama, Jinbiao Wu, Huaxiong Huang, and Shu Takagi. A full eulerian fluid-membrane coupling method with a smoothed volume-of-fluid approach. Communications in Computational Physics, 12(2):544, 2012. |