A poroelastic geomechanical model. More...
#include <dune/common/fvector.hh>
#include <dumux/common/properties.hh>
#include <dumux/geomechanics/elastic/indices.hh>
#include <dumux/geomechanics/elastic/model.hh>
#include <dumux/flux/hookeslaw.hh>
#include <dumux/flux/effectivestresslaw.hh>
#include "localresidual.hh"
#include "volumevariables.hh"
#include "iofields.hh"
Go to the source code of this file.
A poroelastic geomechanical model.
This model describes the deformation of a porous medium using the theory of linear poroelasticity. The momentum balance equation of a porous medium can be expressed by
\[ \nabla\cdot\boldsymbol{\sigma_{\mathrm{eff}}} + \rho \mathbf{g} + \mathbf{f} = \rho\ddot{\mathbf{u}}, \]
where \( \boldsymbol{\sigma_{\mathrm{eff}}} \) is the effective stress tensor, \( \rho = (1 - \phi) \rho_s + \phi \rho_f \) is the average density of solids and fluids within the porous medium, \( \mathbf{f} \) in \( \mathrm{N/m^3} \) is the external force acting on the body per unit volume (e.g. magnetism), and \( \mathbf{u} = \mathbf{x} - \mathbf{x}_{\mathrm{initial}} \) is the displacement, defined as the difference in material points \( \mathbf{x} \) and \( \mathbf{x}_{\mathrm{initial}} \) in the deformed and undeformed (initial) state, respectively. The model assumes quasi-static conditions, that is, the above momentum balance equation is solved under the assumption that the acceleration term \( \rho\ddot{\mathbf{u}} \approx 0\).
Using the concept of the effective stress, the effective stress tensor \( \boldsymbol{\sigma_{\mathrm{eff}}} \) is determined by the stress tensor \( \boldsymbol{\sigma} \) , the effective pore pressure \( p_{\mathrm{eff}} \) and the Biot's coefficient \( \alpha \) :
\[ \boldsymbol{\sigma_{\mathrm{eff}}} = \boldsymbol{\sigma} - \alpha p_{\mathrm{eff}} \mathbf{I} \]
Per default, Hookes' Law is used for expressing the stress tensor \( \boldsymbol{\sigma} \) as a function of the displacement:
\[ \boldsymbol{\sigma} = \lambda\mathrm{tr}(\boldsymbol{\varepsilon}) \mathbf{I} + 2G \boldsymbol{\varepsilon}, \]
with
\[ \boldsymbol{\varepsilon} = \frac{1}{2} \left[ \nabla\mathbf{u} + (\nabla\mathbf{u})^{\mathrm{T}} \right]. \]
Primary variables are the displacements in each direction \( \mathbf{u} \). Gravity can be enabled or disabled via a runtime parameter.
Classes | |
struct | Dumux::PoroElasticModelTraits< dim, numSC, numFP, numFC > |
Specifies a number properties of the poroelastic model. More... | |
struct | Dumux::Properties::TTag::PoroElastic |
struct | Dumux::Properties::LocalResidual< TypeTag, TTag::PoroElastic > |
Use the local residual of the poro-elastic model. More... | |
struct | Dumux::Properties::IOFields< TypeTag, TTag::PoroElastic > |
default vtk output fields specific to this model More... | |
struct | Dumux::Properties::ModelTraits< TypeTag, TTag::PoroElastic > |
The deault model traits of the poro-elastic model. More... | |
struct | Dumux::Properties::VolumeVariables< TypeTag, TTag::PoroElastic > |
Set the volume variables property. More... | |
struct | Dumux::Properties::StressType< TypeTag, TTag::PoroElastic > |
Per default, we use effective stresses on the basis of Hooke's Law. More... | |
Namespaces | |
namespace | Dumux |
namespace | Dumux::Properties |
namespace | Dumux::Properties::TTag |
Type tag for numeric models. | |