Hyperelastic model with volumetric-isochoric split. More...
#include <dumux/common/properties.hh>#include <dumux/common/properties/model.hh>#include "localresidual.hh"#include "variables.hh"Go to the source code of this file.
This model solves the finite-strain quasi-static balance laws for a hyperelastic solid using a mixed displacement-pressure formulation. The split between volumetric and isochoric response is handled by an independent pressure-like variable \( p_s \), which prevents volumetric locking for (nearly-)incompressible materials.
The deformation map \( \chi : \Omega_0 \to \Omega \) maps material points \( \mathbf{X} \) to spatial points \( \mathbf{x} = \chi(\mathbf{X}) \). The displacement field is \( \mathbf{d} = \mathbf{x} - \mathbf{X} \). The deformation gradient and its Jacobian are
\[ \mathbf{F} = \mathbf{I} + \nabla_X \mathbf{d}, \quad J = \det\mathbf{F}. \]
Momentum subproblem (displacement \( \mathbf{d} \)):
\[ -\nabla_X \cdot \mathbf{P} = \mathbf{f}, \quad \mathbf{P} = \mathbf{P}_\text{iso}(\mathbf{F}) + p_s J \mathbf{F}^{-\top}, \]
where the problem supplies the stress without the volumetric part via isochoricFirstPiolaKirchhoffStressTensor(F, elemDisc, ipGlobal) and the body force \( \mathbf{f} \) via source; the model adds \( p_s J \mathbf{F}^{-\top} \).
Pressure subproblem (pressure \( p_s \)):
\[ p_s^{\mathrm{eq}}(J) - p_s = 0, \]
where the equilibrium pressure \( p_s^{\mathrm{eq}}(J) \) is supplied by the pressure problem via problem.volumetricPressure(J).
The type tags HyperelasticVolIsoMomentumModel and HyperelasticVolIsoPressureModel are coupled via HyperelasticVolIsoCouplingManager.
Namespaces | |
| namespace | Dumux |
| namespace | Dumux::Properties |
| The energy balance equation for a porous solid. | |
| namespace | Dumux::Properties::TTag |
| Type tag for numeric models. | |