version 0.4.1
Ikarus::Materials::Volumetric< VF > Struct Template Reference

Interface for the volumetric part of a hyperelastic material. Has to be parametrized with a volumetric function. More...

#include <ikarus/finiteelements/mechanics/materials/hyperelastic/volumetric/interface.hh>

Public Types

using VolumetricFunction = VF
 
using MaterialParameter = double
 

Public Member Functions

template<typename VFF >
 Volumetric (MaterialParameter matPar, VFF &&vf)
 Construct a new volumetric part. More...
 
const MaterialParameter materialParameter () const
 Returns the material parameters stored in the deviatoric part of the material. More...
 
template<typename ST >
ST storedEnergy (const ST &J) const
 Computes stored energy of the volumetric function. More...
 
template<typename ST >
ST firstDerivative (const ST &J) const
 Computes the first derivatives of the energy of the volumetric function w.r.t \( J \). More...
 
template<typename ST >
ST secondDerivative (const ST &J) const
 Computes the second derivatives of the energy of the volumetric function w.r.t \( J \). More...
 

Static Public Member Functions

static constexpr std::string name () noexcept
 

Detailed Description

template<Concepts::VolumetricFunction VF>
struct Ikarus::Materials::Volumetric< VF >

The volumetric part of the hyperelastic model, i.e., related to \( U(J) \), is parametrized with a certain volumetric function (VF) implemented in terms of the determinant of the deformation gradient. The underlying volumetric function must only implement the energy \( U(J) \) and its first and second derivatives w.r.t \( J \).

Template Parameters
VFVolumetric function.

Member Typedef Documentation

◆ MaterialParameter

template<Concepts::VolumetricFunction VF>
using Ikarus::Materials::Volumetric< VF >::MaterialParameter = double

◆ VolumetricFunction

template<Concepts::VolumetricFunction VF>
using Ikarus::Materials::Volumetric< VF >::VolumetricFunction = VF

Constructor & Destructor Documentation

◆ Volumetric()

template<Concepts::VolumetricFunction VF>
template<typename VFF >
Ikarus::Materials::Volumetric< VF >::Volumetric ( MaterialParameter  matPar,
VFF &&  vf 
)
inline
Parameters
matParMaterialparameter that is considered as the penalty parameter for the constraint against volumetric deformations. Typically, if the deviatoric part of the energy function is a function of the total principal stretches, then this material parameter is the Lamé's first parameter and if the energy is a function of the deviatoric principal stretches, then bulk modulus is used.
vfthe volumetric function

Member Function Documentation

◆ firstDerivative()

template<Concepts::VolumetricFunction VF>
template<typename ST >
ST Ikarus::Materials::Volumetric< VF >::firstDerivative ( const ST &  J) const
inline
Parameters
Jdeterminant of the deformation gradient \( J = \det\BF \).
Template Parameters
STthe scalartype of J
Returns
ST first derivative of the energy.

◆ materialParameter()

template<Concepts::VolumetricFunction VF>
const MaterialParameter Ikarus::Materials::Volumetric< VF >::materialParameter ( ) const
inline

◆ name()

template<Concepts::VolumetricFunction VF>
static constexpr std::string Ikarus::Materials::Volumetric< VF >::name ( )
inlinestaticconstexprnoexcept

◆ secondDerivative()

template<Concepts::VolumetricFunction VF>
template<typename ST >
ST Ikarus::Materials::Volumetric< VF >::secondDerivative ( const ST &  J) const
inline
Parameters
Jdeterminant of the deformation gradient \( J = \det\BF \).
Template Parameters
STthe scalartype of J
Returns
ST second derivative of the energy.

◆ storedEnergy()

template<Concepts::VolumetricFunction VF>
template<typename ST >
ST Ikarus::Materials::Volumetric< VF >::storedEnergy ( const ST &  J) const
inline
Parameters
Jdeterminant of the deformation gradient \( J = \det\BF \).
Template Parameters
STthe scalartype of J
Returns
ST energy.

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