SOFA API  f963b064
Open source framework for multi-physics simuation
sofa::component::solidmechanics::fem::hyperelastic::material::Costa< DataTypes > Class Template Reference

#include <Costa.h>

Inheritance diagram for sofa::component::solidmechanics::fem::hyperelastic::material::Costa< DataTypes >:

Detailed Description

template<class DataTypes>
class sofa::component::solidmechanics::fem::hyperelastic::material::Costa< DataTypes >

a Class that describe a generic hyperelastic material : exemple of Boyce and Arruda The material is described based on continuum mechanics and the description is independent to any discretization method like the finite element method. A material is generically described by a strain energy function and its first and second derivatives. In practice the energy is the sum of several energy terms which depends on 2 quantities : the determinant of the deformation gradient J and the right Cauchy Green deformation tensor

Static Public Attributes

static constexpr std::string_view Name = "Costa"
 

Public Member Functions

virtual Real getStrainEnergy (StrainInformation< DataTypes > *sinfo, const MaterialParameters< DataTypes > &param)
 
virtual void deriveSPKTensor (StrainInformation< DataTypes > *sinfo, const MaterialParameters< DataTypes > &param, MatrixSym &SPKTensorGeneral)
 
virtual void applyElasticityTensor (StrainInformation< DataTypes > *sinfo, const MaterialParameters< DataTypes > &param, const MatrixSym &inputTensor, MatrixSym &outputTensor)
 
virtual void ElasticityTensor (StrainInformation< DataTypes > *sinfo, const MaterialParameters< DataTypes > &param, Matrix6 &outputTensor)
 
- Public Member Functions inherited from sofa::component::solidmechanics::fem::hyperelastic::material::HyperelasticMaterial< DataTypes >
virtual ~HyperelasticMaterial ()
 

Attribute details

◆ Name

template<class DataTypes >
constexpr std::string_view sofa::component::solidmechanics::fem::hyperelastic::material::Costa< DataTypes >::Name = "Costa"
staticconstexpr

Function details

◆ applyElasticityTensor()

template<class DataTypes >
virtual void sofa::component::solidmechanics::fem::hyperelastic::material::Costa< DataTypes >::applyElasticityTensor ( StrainInformation< DataTypes > *  ,
const MaterialParameters< DataTypes > &  ,
const MatrixSym ,
MatrixSym  
)
inlinevirtual

computes the Elasticity Tensor of the current configuration

Reimplemented from sofa::component::solidmechanics::fem::hyperelastic::material::HyperelasticMaterial< DataTypes >.

◆ deriveSPKTensor()

template<class DataTypes >
virtual void sofa::component::solidmechanics::fem::hyperelastic::material::Costa< DataTypes >::deriveSPKTensor ( StrainInformation< DataTypes > *  ,
const MaterialParameters< DataTypes > &  ,
MatrixSym  
)
inlinevirtual

computes the second Piola Kirchhoff stress tensor of the current configuration

Reimplemented from sofa::component::solidmechanics::fem::hyperelastic::material::HyperelasticMaterial< DataTypes >.

◆ ElasticityTensor()

template<class DataTypes >
virtual void sofa::component::solidmechanics::fem::hyperelastic::material::Costa< DataTypes >::ElasticityTensor ( StrainInformation< DataTypes > *  sinfo,
const MaterialParameters< DataTypes > &  param,
Matrix6 outputTensor 
)
inlinevirtual

◆ getStrainEnergy()

template<class DataTypes >
virtual Real sofa::component::solidmechanics::fem::hyperelastic::material::Costa< DataTypes >::getStrainEnergy ( StrainInformation< DataTypes > *  ,
const MaterialParameters< DataTypes > &   
)
inlinevirtual

returns the strain energy of the current configuration

Reimplemented from sofa::component::solidmechanics::fem::hyperelastic::material::HyperelasticMaterial< DataTypes >.