version 3.10-dev
geomechanics/hyperelastic/model.hh File Reference

Hyperelastic model. More...

Go to the source code of this file.

Description

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.
 
Include dependency graph for geomechanics/hyperelastic/model.hh: