KASKADE 7 development version
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | List of all members
Kaskade::Elastomechanics::FirstPiolaKirchhoffStress< HyperelasticEnergy, StrainTensor > Class Template Reference

Represents the first Piola Kirchhoff stress as known in nonlinear elasticity. The Piola-Kirchhoff stress is \( T = F\sigma = (I+u_x) \sigma(u) \). More...

#include <elastoVariationalFunctionals.hh>

Detailed Description

template<class HyperelasticEnergy, class StrainTensor>
class Kaskade::Elastomechanics::FirstPiolaKirchhoffStress< HyperelasticEnergy, StrainTensor >

Represents the first Piola Kirchhoff stress as known in nonlinear elasticity. The Piola-Kirchhoff stress is \( T = F\sigma = (I+u_x) \sigma(u) \).

This is essentially a view on a given elastic energy function in current state.

Definition at line 542 of file elastoVariationalFunctionals.hh.

Public Types

using EnergyFunctional = HyperelasticVariationalFunctional< HyperelasticEnergy, StrainTensor >
 
using Scalar = typename HyperelasticEnergy::Scalar
 
using Tensor = typename EnergyFunctional::Tensor
 

Public Member Functions

 FirstPiolaKirchhoffStress (EnergyFunctional const &ef)
 FirstPiolaKirchhoffStress constructs first Piola Kirchhoff stress object from current state of elastic energy. More...
 
Tensor deformationGradient () const
 DEPRECATED, use deformationDerivative instead. More...
 
Tensor deformationDerivative () const
 deformationGradient provides access to the current deformation derivative \( F = I + u_x \). More...
 
Tensor d0 () const
 d0 provides access to the current first Piola Kirchhoff stress. More...
 
Tensor d1 (VariationalArg< Scalar, dim, dim > const &arg) const
 d1 provides access to the first directional derivative (in direction of some displacement derivative) of the Piola Kirchhoff stress. More...
 
Tensor d2 (VariationalArg< Scalar, dim, dim > const &argv, VariationalArg< Scalar, dim, dim > const &argw) const
 d2 provides access to the second directional derivative (in directions of some displacement derivatives) of the Piola Kirchhoff stress. Warning: The current implementation is only correct for quadratic stored energy functions, i.e. linear materials. Todo: Fix this. More...
 

Public Attributes

EnergyFunctional const & energy
 

Static Public Attributes

static constexpr int dim = HyperelasticEnergy::dim
 

Protected Member Functions

Tensor spkStressD1 (VariationalArg< Scalar, dim, dim > const &arg) const
 
Tensor energyD2De (Tensor const &e) const
 

Member Typedef Documentation

◆ EnergyFunctional

template<class HyperelasticEnergy , class StrainTensor >
using Kaskade::Elastomechanics::FirstPiolaKirchhoffStress< HyperelasticEnergy, StrainTensor >::EnergyFunctional = HyperelasticVariationalFunctional<HyperelasticEnergy, StrainTensor>

Definition at line 545 of file elastoVariationalFunctionals.hh.

◆ Scalar

template<class HyperelasticEnergy , class StrainTensor >
using Kaskade::Elastomechanics::FirstPiolaKirchhoffStress< HyperelasticEnergy, StrainTensor >::Scalar = typename HyperelasticEnergy::Scalar

Definition at line 546 of file elastoVariationalFunctionals.hh.

◆ Tensor

template<class HyperelasticEnergy , class StrainTensor >
using Kaskade::Elastomechanics::FirstPiolaKirchhoffStress< HyperelasticEnergy, StrainTensor >::Tensor = typename EnergyFunctional::Tensor

Definition at line 547 of file elastoVariationalFunctionals.hh.

Constructor & Destructor Documentation

◆ FirstPiolaKirchhoffStress()

template<class HyperelasticEnergy , class StrainTensor >
Kaskade::Elastomechanics::FirstPiolaKirchhoffStress< HyperelasticEnergy, StrainTensor >::FirstPiolaKirchhoffStress ( EnergyFunctional const &  ef)
inline

FirstPiolaKirchhoffStress constructs first Piola Kirchhoff stress object from current state of elastic energy.

Parameters
efis the elastic energy in current state (and at fixed displacement gradient)

Definition at line 554 of file elastoVariationalFunctionals.hh.

Member Function Documentation

◆ d0()

template<class HyperelasticEnergy , class StrainTensor >
Tensor Kaskade::Elastomechanics::FirstPiolaKirchhoffStress< HyperelasticEnergy, StrainTensor >::d0 ( ) const
inline

d0 provides access to the current first Piola Kirchhoff stress.

Definition at line 578 of file elastoVariationalFunctionals.hh.

◆ d1()

template<class HyperelasticEnergy , class StrainTensor >
Tensor Kaskade::Elastomechanics::FirstPiolaKirchhoffStress< HyperelasticEnergy, StrainTensor >::d1 ( VariationalArg< Scalar, dim, dim > const &  arg) const
inline

d1 provides access to the first directional derivative (in direction of some displacement derivative) of the Piola Kirchhoff stress.

Parameters
argis direction of differentiation.

Definition at line 588 of file elastoVariationalFunctionals.hh.

◆ d2()

template<class HyperelasticEnergy , class StrainTensor >
Tensor Kaskade::Elastomechanics::FirstPiolaKirchhoffStress< HyperelasticEnergy, StrainTensor >::d2 ( VariationalArg< Scalar, dim, dim > const &  argv,
VariationalArg< Scalar, dim, dim > const &  argw 
) const
inline

d2 provides access to the second directional derivative (in directions of some displacement derivatives) of the Piola Kirchhoff stress. Warning: The current implementation is only correct for quadratic stored energy functions, i.e. linear materials. Todo: Fix this.

Parameters
argvis the first direction of differentiation.
argvis the second direction of differentiation.

Definition at line 602 of file elastoVariationalFunctionals.hh.

◆ deformationDerivative()

template<class HyperelasticEnergy , class StrainTensor >
Tensor Kaskade::Elastomechanics::FirstPiolaKirchhoffStress< HyperelasticEnergy, StrainTensor >::deformationDerivative ( ) const
inline

◆ deformationGradient()

template<class HyperelasticEnergy , class StrainTensor >
Tensor Kaskade::Elastomechanics::FirstPiolaKirchhoffStress< HyperelasticEnergy, StrainTensor >::deformationGradient ( ) const
inline

◆ energyD2De()

template<class HyperelasticEnergy , class StrainTensor >
Tensor Kaskade::Elastomechanics::FirstPiolaKirchhoffStress< HyperelasticEnergy, StrainTensor >::energyD2De ( Tensor const &  e) const
inlineprotected

◆ spkStressD1()

template<class HyperelasticEnergy , class StrainTensor >
Tensor Kaskade::Elastomechanics::FirstPiolaKirchhoffStress< HyperelasticEnergy, StrainTensor >::spkStressD1 ( VariationalArg< Scalar, dim, dim > const &  arg) const
inlineprotected

Member Data Documentation

◆ dim

template<class HyperelasticEnergy , class StrainTensor >
constexpr int Kaskade::Elastomechanics::FirstPiolaKirchhoffStress< HyperelasticEnergy, StrainTensor >::dim = HyperelasticEnergy::dim
staticconstexpr

◆ energy

template<class HyperelasticEnergy , class StrainTensor >
EnergyFunctional const& Kaskade::Elastomechanics::FirstPiolaKirchhoffStress< HyperelasticEnergy, StrainTensor >::energy

The documentation for this class was generated from the following file: