version 0.4.1

Materials for mechanical simulations. More...

Collaboration diagram for Materials:

Modules

 Material Tags
 All tags related to strain or stress types.
 

Files

file  interface.hh
 Contains the Material interface class and related template functions for material properties.
 
file  linearelasticity.hh
 Contains the LinearElasticityT class implementation.
 
file  neohooke.hh
 Implementation of the NeoHooke material model.
 
file  strainconversions.hh
 Implementation of strain-related functions.
 
file  svk.hh
 Implementation of the Saint Venant-Kirchhoff material model.
 
file  vanishingstress.hh
 Defines the VanishingStress material model and related functions.
 

Classes

struct  Ikarus::Material< MI >
 Interface classf or materials. More...
 
struct  Ikarus::LinearElasticityT< ST >
 Implementation of the Linear Elasticity material model.The energy is computed as. More...
 
struct  Ikarus::NeoHookeT< ST >
 Implementation of the Neo-Hookean material model.The energy is computed as. More...
 
struct  Ikarus::StVenantKirchhoffT< ST >
 Implementation of the Saint Venant-Kirchhoff material model.The energy is computed as. More...
 
struct  Ikarus::VanishingStress< stressIndexPair, MI >
 VanishingStress material model that enforces stress components to be zero. More...
 

Functions

template<StrainTags tag, typename Derived >
auto Ikarus::createGreenLagrangianStrains (const Eigen::MatrixBase< Derived > &eMB)
 Create Green-Lagrangian strain based on the input. More...
 
template<StrainTags tag, typename Derived >
decltype(auto) Ikarus::createDeformationGradient (const Eigen::MatrixBase< Derived > &eMB)
 Create the deformation gradient based on the input. More...
 
template<StrainTags tag, typename Derived >
decltype(auto) Ikarus::createRightCauchyGreen (const Eigen::MatrixBase< Derived > &eMB)
 Create right Cauchy-Green tensor based on the input. More...
 
template<StrainTags from, StrainTags to, typename Derived >
decltype(auto) Ikarus::transformStrain (const Eigen::MatrixBase< Derived > &eRaw)
 Transform strain from one type to another. More...
 

Detailed Description

Function Documentation

◆ createDeformationGradient()

template<StrainTags tag, typename Derived >
decltype(auto) Ikarus::createDeformationGradient ( const Eigen::MatrixBase< Derived > &  eMB)

This function creates deformation gradient based on the input strain matrix. What to do is decided by the provided strain tag

Template Parameters
tagType of the strain tag.
DerivedType of the Eigen matrix.
Parameters
eMBEigen matrix representing the input strain.
Returns
The deformation gradient matrix.

◆ createGreenLagrangianStrains()

template<StrainTags tag, typename Derived >
auto Ikarus::createGreenLagrangianStrains ( const Eigen::MatrixBase< Derived > &  eMB)

This function creates Green-Lagrangian strains based on the input strain matrix. What to do is decided by the provided strain tag

Template Parameters
tagType of the strain tag.
DerivedType of the Eigen matrix.
Parameters
eMBEigen matrix representing the input strain.
Returns
The Green-Lagrangian strains matrix.

◆ createRightCauchyGreen()

template<StrainTags tag, typename Derived >
decltype(auto) Ikarus::createRightCauchyGreen ( const Eigen::MatrixBase< Derived > &  eMB)

This function creates Right Cauchy-Green tensor based on the input strain matrix. What to do is decided by the provided strain tag

Template Parameters
tagType of the strain tag.
DerivedType of the Eigen matrix.
Parameters
eMBEigen matrix representing the input strain.
Returns
The Right Cauchy-Green tensor matrix.

◆ transformStrain()

template<StrainTags from, StrainTags to, typename Derived >
decltype(auto) Ikarus::transformStrain ( const Eigen::MatrixBase< Derived > &  eRaw)

This function transforms one strain component matrix from one type to another, based on the provided strain tags

Template Parameters
fromType of the source strain tag.
toType of the target strain tag.
DerivedType of the Eigen matrix.
Parameters
eRawEigen matrix representing the input strain.
Returns
The transformed strain matrix.