Finite strain¶
Constitutive theory¶
For finite strain poromechanics, by writing Clausius-Duhem inequality (dissipation inequality) we can derive constitutive equations for solid and fluid phases as [ICR24] (see also (61) and discussion thereof)
where \(\bm{S}^\rs_{E(\rs)}\) is effective second Piola-Kirchoff stress tensor, \(\psi^\rs\) is strain energy per unit mass for the solid skeleton which is defined in previous sections for neo-Hookean model.
Helmholtz free energy per unit mass for fluid phase \(\psi^\rf\) is given by
which using second equation of (299), we arrive at constitutive equation for the real mass density of the pore fluid as
where \(\rho^{\fR}_0, p_{\rf,0}\) are the initial real mass density and pore fluid pressure at time \(t = 0\).
The total stress for the mixture for neo-Hookean model (83) (dropping now \((\cdot)_\rs\) subscripts where appropriate) is
and using (25) we can write symmetric Kirchhoff stress tensor as
Weak enforcement of solid incompressibility via strain-energy potential¶
For larger deformations, it is possible in the numerical sense to compute \(J \leq \phi^{\rm{s}}_0\), which violates the solid incompressibility assumption (refer to (46)). [EE99] attempted to rectify this by modifying the neo-Hookean potential
to
Then, the initial solid skeleton effective stress is
such that the solid skeleton effective stress in the current configuration is
Deriving \(\diff\bm\tau_E^\rs\) for the [EE99] model
Since this model is an extension of the standard neo-Hookean model, we will use (98) for the updated volumetric potential \(V(J)\) such that
Thus, from (98) we have
From (113) it then follows that
such that we may substitute this into
Deformation-dependent porosity functions¶
Recall generalized Darcy’s law from (47):
where
In addition to Kozeny-Carman (48), another suitable function was developed for soft tissues by [LMR81]:
However, both the Kozeny-Carman and [LMR81] functional forms do not strictly satisfy the solid incompressibility constraint, which mandates a bound on the Jacobian of deformation: \(\phi^\rs_0 < J < \infty\). This in turn mandates the behavior of \(\mathcal{F}(\phi^\rf)\):
in other words, for vanishing porosity we should obtain a solid-like material and for full porosity (fully expanded solid) the solid-fluid interactions should be negligible beyond the viscous drag forces induced by \(\varkappa_\circ/\mu_\rf\).
As such, [Eip98] proposed a deformation dependent permeability that respects the restriction of materially incompressible solid constituent:
for \(\kappa > 0\), however, such a function is ill-suited for rapidly expanding materials (see A comparison, adapted from Markert2005, of different deformation-dependent hydraulic conductivities for \kappa = 3.0 (a) showing the instability of the Kozeny-Carman relation for high compression of the drained mixutre (solid skeleton) and (b) a zoomed-in version of (a) showing the inadequacy of the Eipper1998 model for high expansion of the drained mixture (solid skeleton).). In light of this, [Mar05] proposed
such that

Fig. 6 A comparison, adapted from [Mar05], of different deformation-dependent hydraulic conductivities for \(\kappa = 3.0\) (a) showing the instability of the Kozeny-Carman relation for high compression of the drained mixutre (solid skeleton) and (b) a zoomed-in version of (a) showing the inadequacy of the [Eip98] model for high expansion of the drained mixture (solid skeleton).¶
Strong and weak formulations¶
To derive the strong form for finite strain poromechanics, we use the balance of momentum of the mixture (54)\(_1\) (under the assumption that \(\ddot{\bm{u}} = \bm{0}\)) and balance of mass of the mixture (44) as
where we have dropped subscript \((\cdot)_\rs\) by convention, \(\bm N\) and \(\bm n\) are the unit normal vectors on the face in initial and current configurations, \(_X\) and \(_x\) in \(\nabla_X, \nabla_x\) indicate that the gradient are calculated with respect to the initial/current configurations. Multiplying the strong form (312) by test functions \((\bm{v}, q)\) and integrate by parts, we can obtain the weak form for finite strain hyperporoelasticity as: find \((\bm{u}, p_\rf) \in \mathcal{V} \times \mathcal{Q} \subset H^1 \left( \Omega_0 \right) \times H^1 \left( \Omega_0 \right)\) such that
where we have used the push forward (103) to write the first equation with respect to \(_x\) and \(\bm \tau\), and replaced \(\dot{\bm w} = -\varkappa \nabla_x p_\rf\) by assuming \(\ddot{\bm u} = \bm{0}\) and \(\bm f^\rf = \bm{0}\) in (49), the latter of which implies that \(\bm{g} = \bm{0}\). The definition for \(\bm{\tau}\) for the standard neo-Hookean model for the drained mixture (solid skeleton) response is given in (303).
Linearization¶
As explained in Linearization: initial configuration, we need the Jacobian form of the (313) which is: find \((\diff \bm{u}, \diff p_\rf) \in \mathcal{V} \times \mathcal{Q}\) such that
where
with given \(\diff \bm{\tau}_E^\rs -\bm{\tau}_E^\rs(\nabla_x \diff\bm{u})^T\) in (111) for example with the standard neo-Hookean model and
where \(\mathcal{F}(\phi^\rf)\) is defined, for example, in (48).
Generic weak formulation¶
For overview on generic weak form implementation for the poromechanics model, see Generic weak formulation. Here we define
Note that, technically speaking, \(\bm f_0\) needs to be linearized under the assmption of \(\bm{g} \neq \bm{0}\) (and by extension \(\bm{f}^\rf \neq \bm{0}\)) in the case of evolving volume fractions and/or compressible pore fluid. However, at this time, we continue to assume the body force acting on the mixture to be zero.
For dynamic example acceleration is not zero and we use the PETSc Timestepper (TS) object to manage timestepping. Specifically, Ratel uses the Generalized-Alpha method for second order systems (TSALPHA2
) to solve the second order system of equations. More information on the PETSc TSALPHA2
time stepper can be found in the PETSc documentation TS.
We add
to the first and second equations of (313), such that
and the jacobian is
such that,
where using (301) we have
Note that unlike linear case where the porosity and density are constant, in finite strain we have assumed that the real mass density of the pore fluid is a function of pore fluid pressure (real mass density of solid is assumed constant, see (45)). Therefore, we use the mixture density in the current configuration \(\rho^b\) in residual and jacobian to account for its variation with respect to pore fluid pressure.
Pore fluid pressure stabilization¶
For stabilizing equal order elements, we follow the approach of [TZ06], which is based on the method of [BPitkaranta84]. The stabilization term acts like an opposing pore fluid pressure flux in the weak formulation of the balance of mass of the mixture, such that
where the stabilization term is shown in red (and may also be enabled for dynamic cases). While [TZ06] have been able to relate the pressure stabilization parameter \(\alpha^\text{stab}\) (units m\(^3\)-s\(^2\)/kg) to material geometry and simulation time-step, such an approach would be difficult to derive for compressible pore fluid and large deformations. Therefore, we choose \(\alpha^\text{stab}\) on an ad-hoc basis. For incompressible pore fluid (i.e., \(\bulk_\rf \sim \) GPa), choosing larger values \(\mathcal{O}(10^{-6})\) tends to provide decent stability as compared to smaller values. For more compressible pore fluid (i.e., lower \(\bulk_\rf \sim\) kPa) choosing smaller values \(\mathcal{O}(10^{-10})\) tends to provide decent stability as compared to larger values.
For generic weak formulation, two additional terms are present for \(\bm{g}_1\) and \(\diff\bm{g}_1\), such that
Note that pressure stabilization can be added to unequal order elements as well. In [IRC23] it was shown that under conditions of 1-D uniaxial strain, pressure stabilization improved computational performance for Hermite cubic-Lagrange linear displacement-pressure elements.
Command-line interface¶
To enable the finite strain, neo-Hookean-based poromechanics model, use the model option -model poromechanics-neo-hookean
and set the material parameters listed in Finite strain poromechanics model options. Any parameter without a default option is required.
Option |
Description |
Default Value |
---|---|---|
|
Required to enable the finite strain poromechanics model. |
|
|
First Lame parameter for drained mixture (solid skeleton), \(\lambda_d >= 0\) |
|
|
Shear modulus for drained mixture (solid skeleton), \(\mu_d >= 0\) |
|
|
Bulk modulus for drained mixture (solid skeleton), \(\bulk_d >= 0\) |
|
|
Bulk modulus for solid, \(\bulk_\rs >= 0\) |
|
|
Bulk modulus for pore fluid, \(\bulk_\rf >= 0\) |
|
|
Real solid mass density, \(\rho^\sR_0 > 0\) |
|
|
Real pore fluid mass density, \(\rho^\fR_0 > 0\) |
|
|
Porosity, \(0 < \phi^\rf < 1\) |
|
|
Pore fluid viscosity, \(\mu_\rf >= 0\) |
|
|
Intrinsic permeability, \(\varkappa_{0} >= 0\) |
|
|
Pore fluid pressure stabilization, \(\alpha^\text{stab} > 0\) |
|
|
Hyperbolic porosity model exponent, \(\kappa >= 0\) |
|
An example using the finite strain poromechanics model can be run via
$ ./bin/ratel-dynamic -options_file examples/ymls/ex03-dynamic-poromechanics-neo-hookean-current-pstab-pcfieldsplit-lu.yml