Hyperelastic model. More...
#include <dumux/common/properties.hh>
#include <dumux/common/properties/model.hh>
#include "spatialparams.hh"
#include "localresidual.hh"
#include "volumevariables.hh"
Go to the source code of this file.
Deformation of a solid body using the theory of (nonlinear) elasticity (large deformations)
This model describes the deformation of a solid body using the finite strain theory. The displacement vector of a material point following the deformation function \( \mathbf{x} = \chi(\mathbf{X}) \) is given by the difference of current position and position in the reference configuration:
\[ \mathbf{d} = \mathbf{x} - \mathbf{X}. \]
An important kinematic quantity characterizing the deformation is the deformation gradient
\[ \mathbf{F} = \frac{\partial \mathbf{x}}{\partial \mathbf{X}} = \mathbf{I} + \nabla \mathbf{d}. \]
The equilibrium equation (nonlinear elastostatics) in the reference frame is given by
\[ - \nabla\cdot\mathbf{P} = \mathbf{f} \]
where \( \mathbf{f} \) in \( \mathrm{N/m^3} \) is the external force acting on the body per unit volume and \( \mathbf{P} = \mathbf{P}(\mathbf{F}) \) is the first Piola-Kirchhoff stress tensor which relates the stress in the current and the reference configuration. It is related to the Cauchy stress, \( \mathbf{P} = J \boldsymbol{\sigma} \mathbf{F}^{-T} \), where \( J = \operatorname{det}{\mathbf{F}} \).
A suitable constitutive law for \( \mathbf{P} = \mathbf{P}(\mathbf{F}) \) completes the model. All hyperelastic materials can be described in terms of a strain energy density function \( \psi(\mathbf{F}) \) [62] and the first Piola-Kirchhoff stress tensor can be computed as
\[ \mathbf{P} = \frac{\partial \psi}{\partial \mathbf{F}} = \mathbf{F}2\frac{\partial \psi}{\partial \mathbf{C}}, \]
where \( \mathbf{C} = \mathbf{F}^T\mathbf{F} \) is the right Cauchy-Green tensor and the term \( \mathbf{S} = 2 (\partial \psi / \partial \mathbf{C}) \) is the second Piola-Kirchhoff stress tensor. This model expects the user problem implementation to provide a function firstPiolaKirchhoffStressTensor(F)
implementing the constitutive law.
Classes | |
struct | Dumux::HyperelasticVolumeVariablesTraits< PV, MT > |
struct | Dumux::HyperelasticIndices |
struct | Dumux::HyperelasticModelTraits< dim > |
HyperelasticModelTraits. More... | |
struct | Dumux::Properties::TTag::Hyperelastic |
struct | Dumux::Properties::ModelTraits< TypeTag, TTag::Hyperelastic > |
struct | Dumux::Properties::LocalResidual< TypeTag, TTag::Hyperelastic > |
struct | Dumux::Properties::VolumeVariables< TypeTag, TTag::Hyperelastic > |
Set the volume variables property. More... | |
struct | Dumux::Properties::SpatialParams< TypeTag, TTag::Hyperelastic > |
Namespaces | |
namespace | Dumux |
namespace | Dumux::Properties |
The energy balance equation for a porous solid. | |
namespace | Dumux::Properties::TTag |
Type tag for numeric models. | |