KASKADE 7 development version
|
A hyperelastic material law. More...
#include <concepts.hh>
A hyperelastic material law.
Definition at line 620 of file concepts.hh.
Public Types | |
using | Scalar = unspecified |
The scalar field type (usually double). More... | |
using | Tensor = unspecified |
The type of stress and strain tensors (usually Dune::FieldMatrix<Scalar,dim,dim>). More... | |
using | VoigtTensor = unspecified |
The type of stress and strain tensors (usually Dune::FieldMatrix<Scalar,dim*(dim+1)/2,dim*(dim+1)/2>). More... | |
Public Member Functions | |
void | setLinearizationPoint (Tensor const &e) |
Defines a new evaluation/linearization point. More... | |
Scalar | d0 () const |
Evaluates the stored energy density \( W(\epsilon) \). More... | |
Scalar | d1 (Tensor const &e1) const |
Evaluates the first directional derivative \( W'(\epsilon)\epsilon_1 \). More... | |
Scalar | d2 (Tensor const &e1, Tensor const &e2) const |
Evaluates the second directional derivative \( W''(\epsilon)\epsilon_1\epsilon_2 \). More... | |
Tensor | stress () const |
Returns the 2nd Piola-Kirchhoff stress tensor \( \sigma = W'(E) \) corresponding to the current strain \( E \). More... | |
VoigtTensor | strainToStressMatrix () const |
Returns the tangent stiffness tensor \( C(E) = W''(E)\) mapping strain tensor variations to stress tensor (2nd Piola-Kirchhoff) variations. More... | |
Static Public Attributes | |
static int const | dim = unspecified |
The spatial dimension (usually 2 or 3). More... | |
using HyperelasticMaterialLaw::Scalar = unspecified |
The scalar field type (usually double).
Definition at line 626 of file concepts.hh.
using HyperelasticMaterialLaw::Tensor = unspecified |
The type of stress and strain tensors (usually Dune::FieldMatrix<Scalar,dim,dim>).
Definition at line 636 of file concepts.hh.
using HyperelasticMaterialLaw::VoigtTensor = unspecified |
The type of stress and strain tensors (usually Dune::FieldMatrix<Scalar,dim*(dim+1)/2,dim*(dim+1)/2>).
Definition at line 641 of file concepts.hh.
Scalar HyperelasticMaterialLaw::d0 | ( | ) | const |
Evaluates the stored energy density \( W(\epsilon) \).
Evaluates the first directional derivative \( W'(\epsilon)\epsilon_1 \).
Evaluates the second directional derivative \( W''(\epsilon)\epsilon_1\epsilon_2 \).
The second derivative is symmetric, i.e. d2(e1,e2)==d2(e2,e1)
holds for any e1, e2
.
void HyperelasticMaterialLaw::setLinearizationPoint | ( | Tensor const & | e | ) |
Defines a new evaluation/linearization point.
e | the strain tensor |
VoigtTensor HyperelasticMaterialLaw::strainToStressMatrix | ( | ) | const |
Returns the tangent stiffness tensor \( C(E) = W''(E)\) mapping strain tensor variations to stress tensor (2nd Piola-Kirchhoff) variations.
In this context, the symmetric matrices \( \sigma \) and \( \epsilon \) are interpreted as \(d(d+1)/2\)-vectors in Voigt notation as returned by Kaskade::pack. Note that strain tensor off-diagonal entries appear with factor two in the vector.
Now, a matrix \( C\in\mathbb{R}^{(d+1)d/2\times(d+1)d/2} \) is returned such that for infinitesimal changes \( \delta\epsilon \) the corresponding change in \( \sigma(\epsilon+\delta\epsilon) = \sigma(\epsilon)+\delta\sigma\) is given as \( \delta\sigma = C \delta\epsilon \). Note that due to the symmetry of the stored energy Hessian \( W''(E) \), the Voigt representation of the stiffness tensor is a symmetric matrix.
The following invariant holds for any strain tensors eps1 and eps2:
The Drucker/Hill stability criterion states that the returned matrix shall be positive semidefinite.
Tensor HyperelasticMaterialLaw::stress | ( | ) | const |
Returns the 2nd Piola-Kirchhoff stress tensor \( \sigma = W'(E) \) corresponding to the current strain \( E \).
The following invariant holds for any strain tensor eps:
|
static |
The spatial dimension (usually 2 or 3).
Definition at line 631 of file concepts.hh.