version 3.11-dev
Loading...
Searching...
No Matches

Large-deformation poroelastic model with volumetric-isochoric split. More...

Go to the source code of this file.

Description

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.

Classes

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...

Namespaces

namespace  Dumux
namespace  Dumux::Properties
 The energy balance equation for a porous solid.
namespace  Dumux::Properties::TTag
 Type tag for numeric models.