Physical model
Three-field mixed formulation \((\mathbf{d}, p_s, p_f)\) for a saturated hyperelastic porous medium undergoing finite deformations.
Kinematics
\[ \mathbf{F} = \mathbf{I} + \nabla_X \mathbf{d}, \quad
J = \det\mathbf{F}, \quad
\mathbf{C} = \mathbf{F}^\top\mathbf{F}. \]
Governing equations
Momentum (displacement \(\mathbf{d}\)):
\[ -\nabla_X \cdot \mathbf{P} = \mathbf{f}, \qquad
\mathbf{P} = \mathbf{P}_\text{iso}(\mathbf{F}) + (p_s - \alpha_B p_f)\, J\, \mathbf{F}^{-\top}, \]
where the isochoric part of the drained skeleton stress \(\mathbf{P}_\text{iso}\) is supplied by the problem via isochoricFirstPiolaKirchhoffStressTensor(F, elemDisc, ipGlobal) and the body force \(\mathbf{f}\) via the problem's source.
Solid pressure ( \(p_s\), algebraic):
\[ p_s^{\mathrm{eq}}(J) - p_s = 0 \]
(volumetric constitutive law; \(p_s^{\mathrm{eq}}\) supplied by the problem via volumetricPressure(J)).
Fluid mass balance ( \(p_f\), transient):
\[ \frac{\partial}{\partial t}\!\left(\alpha_B J + S_p p_f\right)
- \nabla_X \cdot \!\left(J\,\frac{\kappa}{\mu_f}\,\mathbf{C}^{-1} \nabla_X p_f\right) = q, \]
with the Biot coefficient \(\alpha_B\), the storage coefficient \(S_p = 1/M\) (inverse Biot modulus, \(S_p = 0\) for incompressible constituents) and the fluid source \(q\) given by the problem's source. In the small-strain limit \(J \approx 1 + \nabla \cdot \mathbf{d}\) this is Biot's storage equation.
The spatial parameters provide biotCoefficient(element, elemDisc, ipGlobal), storageCoefficient(element, elemDisc, ipGlobal), permeability(element, elemDisc, ipGlobal, J) and fluidViscosity(element, elemDisc).
The type tags PoroElasticLargeDefMomentumModel, PoroElasticLargeDefSolidPressureModel and PoroElasticLargeDefFluidPressureModel are coupled via PoroElasticLargeDefCouplingManager and assembled with Experimental::MultiStageMultiDomainAssembler.
|
| struct | Dumux::PoroElasticLargeDefMomentumIndices< dim > |
| | Index set for the momentum subdomain. More...
|
| struct | Dumux::PoroElasticLargeDefMomentumModelTraits< dim > |
| | Model traits for the momentum subdomain ( \(\dim\) displacement DOFs per node). More...
|
| struct | Dumux::PoroElasticLargeDefMomentumVVTraits< PV, MT > |
| struct | Dumux::PoroElasticLargeDefSolidPressureIndices |
| | Index set for the solid pressure subdomain. More...
|
| struct | Dumux::PoroElasticLargeDefSolidPressureModelTraits |
| | Model traits for the solid pressure subdomain (1 pressure DOF per node). More...
|
| struct | Dumux::PoroElasticLargeDefSolidPressureVVTraits< PV, MT > |
| struct | Dumux::PoroElasticLargeDefFluidPressureIndices |
| | Index set for the fluid pressure subdomain. More...
|
| struct | Dumux::PoroElasticLargeDefFluidPressureModelTraits |
| | Model traits for the fluid pressure subdomain (1 fluid pressure DOF per node). More...
|
| struct | Dumux::PoroElasticLargeDefFluidPressureVVTraits< PV, MT > |
| struct | Dumux::Properties::TTag::PoroElasticLargeDefMomentumModel |
| struct | Dumux::Properties::TTag::PoroElasticLargeDefSolidPressureModel |
| struct | Dumux::Properties::TTag::PoroElasticLargeDefFluidPressureModel |
| struct | Dumux::Properties::ModelTraits< TypeTag, TTag::PoroElasticLargeDefMomentumModel > |
| struct | Dumux::Properties::LocalResidual< TypeTag, TTag::PoroElasticLargeDefMomentumModel > |
| struct | Dumux::Properties::Variables< TypeTag, TTag::PoroElasticLargeDefMomentumModel > |
| struct | Dumux::Properties::VolumeVariables< TypeTag, TTag::PoroElasticLargeDefMomentumModel > |
| | Code asking for the volume variables gets the variables per local dof. More...
|
| struct | Dumux::Properties::GridVariables< TypeTag, TTag::PoroElasticLargeDefMomentumModel > |
| | The grid variables, with the cache selected depending on the discretization scheme. More...
|
| struct | Dumux::Properties::ModelTraits< TypeTag, TTag::PoroElasticLargeDefSolidPressureModel > |
| struct | Dumux::Properties::LocalResidual< TypeTag, TTag::PoroElasticLargeDefSolidPressureModel > |
| struct | Dumux::Properties::Variables< TypeTag, TTag::PoroElasticLargeDefSolidPressureModel > |
| struct | Dumux::Properties::VolumeVariables< TypeTag, TTag::PoroElasticLargeDefSolidPressureModel > |
| | Code asking for the volume variables gets the variables per local dof. More...
|
| struct | Dumux::Properties::GridVariables< TypeTag, TTag::PoroElasticLargeDefSolidPressureModel > |
| | The grid variables, with the cache selected depending on the discretization scheme. More...
|
| struct | Dumux::Properties::ModelTraits< TypeTag, TTag::PoroElasticLargeDefFluidPressureModel > |
| struct | Dumux::Properties::LocalResidual< TypeTag, TTag::PoroElasticLargeDefFluidPressureModel > |
| struct | Dumux::Properties::Variables< TypeTag, TTag::PoroElasticLargeDefFluidPressureModel > |
| struct | Dumux::Properties::VolumeVariables< TypeTag, TTag::PoroElasticLargeDefFluidPressureModel > |
| | Code asking for the volume variables gets the variables per local dof. More...
|
| struct | Dumux::Properties::GridVariables< TypeTag, TTag::PoroElasticLargeDefFluidPressureModel > |
| | The grid variables, with the cache selected depending on the discretization scheme. More...
|