Linear¶
Constitutive theory¶
For the linear poromechanics model, the strain energy density is given by
where \(\firstlame_{u} = \firstlame_{d} + B^2 M\) is undrained first Lamé parameter while \(\firstlame_{d}, \secondlame_{d}\) are Lamé parameters measured in drained condition (i.e., Lamé parameters of the solid skeleton frame), \(B, M\) are the Biot effective stress coefficient and Biot modulus defined by
with mixture bulk modulus \(\bulk_{d}\) measured in drained condition (solid skeleton bulk modulus, also referred to as \(k^{\rm{skel}}\) in other references) and solid and pore fluid bulk moduli \(\bulk_\rs, \bulk_\rf\), respectively.
To derive the constitutive law (stress-strain relationship) for the linear poroelasticity model we have
where , \(\bm\sigma' = \firstlame_{d} (\trace \bm\varepsilon) \bm{I} + 2 \, \secondlame_{d} \, \bm{\varepsilon}\) is effective stress, \(p\) is pore pressure, and the variation of pore fluid content \(\zeta\) is
Strong and weak formulations¶
The strong form of linear poroelasticity (mixed \((\bm u\text{-}p_\rf)\) formulation) for constitutive equation (293) based on conservation of momentum (for static case) and mass may be stated as follows: Given body forces \(\bm f^\rs, \bm f^\rf\) and volumetric injected fluid rate \(\dot{\gamma}\), Dirichlet boundaries \(\bar{\bm u}, \bar{p}\), applied traction \(\bar{\bm t}\) and fluid flux \(\bar{s}\) and initial conditions \(\bm u_0, p_{\rf,0}\), find the displacement and pressure variables \((\bm u, p_\rf) \in \mathcal{V} \times \mathcal{Q} \) (here \(\mathcal{V} = H^1(\Omega), \mathcal{Q} = H^1(\Omega) \) ), such that:
with \(\bm n\) be the unit normal on the boundary and in the conservation of mass (second equation), we replaced \(\zeta\) from constitutive equation (294). The weak form can be derived as:
where we have used Darcy’s law \(\dot{\bm w} = - \varkappa \left(\nabla p_\rf - \bm f^\rf \right)\) (equation (36) for static case).
Generic weak formulation¶
The generic weak formulation for linear poroelasticity is similar to incompressible elasticity explained in Generic weak form (mixed fields). However, in equation (296) we have time derivatives of displacement and pressure fields and for deriving jacobian we need to add \(\mathrm{shift_v}\) as shown in (226).
For linear poroelasticity described in (296) we have
where \(\mathrm{shift_v}\) evaluated at time \(\mathrm{shift_v} = \frac{\partial\dot{\phi}}{\partial\phi}|_{\phi_n}\) for generic variable \(\phi\) and we have used the linearization of time dependent variables explained (226), and we assume body forces \(\bm{f}^\alpha\) are negligible.
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.
For linear poroelastodynamics we consider the solid accelearation in the first equation and in second equation we use (36) (assume \(\ddot{\bm w}=0\)). That results in adding following terms:
being added to the first and second equations of (296), where \(\rho^b\) (the mixture density) is defined in (35) and the jacobian is
where \(\mathrm{shift_a}\) is related to the inverse of time step \(\Delta t\) square (see (226)), such that
Command-line interface¶
To enable the linear poromechanics model, use the model option -model poromechanics-linear
and set the material parameters listed in Linear poromechanics model options. Any parameter without a default option is required.
Option |
Description |
Default Value |
---|---|---|
|
Required to enable the linear 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\) |
|
|
Biot’s coefficient, \(0 <= \alpha <= 1\) |
\(1 - \bulk_d/\bulk_\rs\) |
|
Biot’s modulus, \(M >= 0\) |
\(\frac{\bulk_\rs\bulk_\rf}{\bulk_\rf(B - \phi^\rf) + \bulk_\rs\phi^\rf}\) |
An example using the linear poromechanics model can be run via
$ ./bin/ratel-quasistatic -options_file examples/ymls/ex02-quasistatic-poromechanics-linear-mms-pcfieldsplit-pcjacobi.yml