OOFEM 3.0
Loading...
Searching...
No Matches
oofem::BaseHyperElasticMaterial Class Reference

#include <basehyperelasticmaterial.h>

Inheritance diagram for oofem::BaseHyperElasticMaterial:

Public Member Functions

 BaseHyperElasticMaterial ()
 ~BaseHyperElasticMaterial ()
void initializeFrom (InputRecord &ir)
 initialization for the input file
double compute_I1_C_from_F (const Tensor2_3d &F) const
double compute_I2_C_from_F (const Tensor2_3d &F) const
double compute_I3_C_from_F (const Tensor2_3d &F) const
double compute_I1_C_from_C (const Tensor2_3d &C) const
double compute_I2_C_from_C (const Tensor2_3d &C) const
double compute_I3_C_from_C (const Tensor2_3d &C) const
Tensor2_3d compute_dI1_C_dF (const Tensor2_3d &F) const
Tensor2_3d compute_dI2_C_dF (const Tensor2_3d &F) const
Tensor2_3d compute_dI3_C_dF (const Tensor2_3d &F) const
Tensor2_3d compute_dJ_dF (const Tensor2_3d &F) const
Tensor4_3d compute_d2I1_C_dF2 (const Tensor2_3d &F) const
Tensor4_3d compute_d2I2_C_dF2 (const Tensor2_3d &F) const
Tensor4_3d compute_d2I3_C_dF2 (const Tensor2_3d &F) const
double compute_I1_Cdev_from_F (const Tensor2_3d &F) const
double compute_I2_Cdev_from_F (const Tensor2_3d &F) const
Tensor2_3d compute_dI1_Cdev_dF (const Tensor2_3d &F) const
Tensor2_3d compute_dI2_Cdev_dF (const Tensor2_3d &F) const
Tensor4_3d compute_d2I1_Cdev_dF2 (const Tensor2_3d &F) const
Tensor4_3d compute_d2I2_Cdev_dF2 (const Tensor2_3d &F) const
Tensor4_3d compute_d2J_dF2 (const Tensor2_3d &F) const
Tensor2_3d compute_dVolumetricEnergy_dF (const Tensor2_3d &F) const
Tensor4_3d compute_d2VolumetricEnergy_dF2 (const Tensor2_3d &F) const

Protected Types

enum  VolumetricEnergyType { VET_Logarithmic = 0 }

Protected Attributes

double K = 0
 Bulk modulus.
VolumetricEnergyType VET_Type = VET_Logarithmic
 volumetric energy type

Detailed Description

Abstract base class for hyperelastic materials It provides calculation of first and second derivative of principal invariants of the left Cauchy green tensor with respect to deformation gradient It provides calculation of volumetric energy(currently only a logarithmic form is supported) All the calculations are based on the core/tensor/tensoralgebra.h file which uses FTensor library More to be added gradually

Author
Martin Horak

Definition at line 63 of file basehyperelasticmaterial.h.

Member Enumeration Documentation

◆ VolumetricEnergyType

Type characterizing the volumetric energy of the hyperelastic material Type 0: Logarithmic \(W(J) = 0.5 * K * (ln J)^2 \) More types can be added ...

Author
Martin Horak
Enumerator
VET_Logarithmic 

Definition at line 73 of file basehyperelasticmaterial.h.

Constructor & Destructor Documentation

◆ BaseHyperElasticMaterial()

◆ ~BaseHyperElasticMaterial()

oofem::BaseHyperElasticMaterial::~BaseHyperElasticMaterial ( )
inline

Definition at line 85 of file basehyperelasticmaterial.h.

Member Function Documentation

◆ compute_d2I1_C_dF2()

Tensor4_3d oofem::BaseHyperElasticMaterial::compute_d2I1_C_dF2 ( const Tensor2_3d & F) const
inline

Compute the second derivative of the first invariant of the Cauchy-Green deformation tensor wrt deformation gradient F

Parameters
Deformationgradient (second-order tensor in 3d)
Returns
the second derivative of the first invariant of the Cauchy-Green deformation tensor wrt deformation gradient F (fourth-order tensor in 3d)

Definition at line 213 of file basehyperelasticmaterial.h.

References i_3, j_3, k_3, and l_3.

Referenced by oofem::SimoPisterMaterial::give3dMaterialStiffnessMatrix_dPdF().

◆ compute_d2I1_Cdev_dF2()

Tensor4_3d oofem::BaseHyperElasticMaterial::compute_d2I1_Cdev_dF2 ( const Tensor2_3d & F) const
inline

Compute the second derivatiove of the first invariant of the deviatoric Cauchy-Green deformation tensor C wrt deformation gradient F

Parameters
Deformationgradient (second-order tensor in 3d)
Returns
second derivatiove of the first invariant of the deviatoric Cauchy-Green deformation tensor C (fourth-order tensor)

Definition at line 304 of file basehyperelasticmaterial.h.

References oofem::Tensor2_3d::compute_determinant(), compute_I1_C_from_F(), oofem::Tensor2_3d::compute_inverse(), i_3, j_3, k_3, and l_3.

Referenced by oofem::MooneyRivlinCompressibleMaterial::give3dMaterialStiffnessMatrix_dPdF().

◆ compute_d2I2_C_dF2()

Tensor4_3d oofem::BaseHyperElasticMaterial::compute_d2I2_C_dF2 ( const Tensor2_3d & F) const
inline

Compute the second derivative of the second invariant of the Cauchy-Green deformation tensor wrt deformation gradient F

Parameters
Deformationgradient (second-order tensor in 3d)
Returns
the second derivative of the second invariant of the Cauchy-Green deformation tensor wrt deformation gradient F (fourth-order tensor in 3d)

Definition at line 226 of file basehyperelasticmaterial.h.

References i_3, j_3, k_3, l_3, and m_3.

Referenced by oofem::BlatzKoMaterial::give3dMaterialStiffnessMatrix_dPdF().

◆ compute_d2I2_Cdev_dF2()

Tensor4_3d oofem::BaseHyperElasticMaterial::compute_d2I2_Cdev_dF2 ( const Tensor2_3d & F) const
inline

Compute the second derivatiove of the second invariant of the deviatoric Cauchy-Green deformation tensor C wrt deformation gradient F

Parameters
Deformationgradient (second-order tensor in 3d)
Returns
Second derivative of the second invariant of the deviatoric Cauchy-Green deformation tensor C (second-order tensor)

Definition at line 319 of file basehyperelasticmaterial.h.

References oofem::Tensor2_3d::compute_determinant_and_cofactor(), compute_I1_C_from_C(), compute_I2_C_from_C(), i_3, j_3, k_3, and l_3.

Referenced by oofem::MooneyRivlinCompressibleMaterial::give3dMaterialStiffnessMatrix_dPdF().

◆ compute_d2I3_C_dF2()

Tensor4_3d oofem::BaseHyperElasticMaterial::compute_d2I3_C_dF2 ( const Tensor2_3d & F) const
inline

Compute the second derivative of the third invariant of the Cauchy-Green deformation tensor wrt deformation gradient F

Parameters
Deformationgradient (second-order tensor in 3d)
Returns
the second derivative of the third invariant of the Cauchy-Green deformation tensor wrt deformation gradient F (fourth-order tensor in 3d)

Definition at line 241 of file basehyperelasticmaterial.h.

References oofem::Tensor2_3d::compute_determinant_and_cofactor(), oofem::Tensor2_3d::compute_tensor_cross_product(), i_3, j_3, k_3, and l_3.

Referenced by oofem::BlatzKoMaterial::give3dMaterialStiffnessMatrix_dPdF().

◆ compute_d2J_dF2()

Tensor4_3d oofem::BaseHyperElasticMaterial::compute_d2J_dF2 ( const Tensor2_3d & F) const
inline

Compute the second derivative of the jacobian(determinant of the deformation gradient) wrt deformation gradient F

Parameters
Deformationgradient (second-order tensor in 3d)
Returns
second derivative of the jacobian(determinant of the deformation gradient (fourth-order tensor)

Definition at line 342 of file basehyperelasticmaterial.h.

References oofem::Tensor2_3d::compute_tensor_cross_product().

◆ compute_d2VolumetricEnergy_dF2()

Tensor4_3d oofem::BaseHyperElasticMaterial::compute_d2VolumetricEnergy_dF2 ( const Tensor2_3d & F) const

Compute the second derivative of the volumetric energy wrt deformation gradient F

Parameters
Deformationgradient (second-order tensor in 3d)
Returns
the second derivative of the volumetric energy (fourth-order tensor)

Definition at line 55 of file basehyperelasticmaterial.C.

References oofem::Tensor2_3d::compute_determinant_and_cofactor(), oofem::Tensor2_3d::compute_tensor_cross_product(), i_3, j_3, K, k_3, l_3, VET_Logarithmic, and VET_Type.

Referenced by oofem::MooneyRivlinCompressibleMaterial::give3dMaterialStiffnessMatrix_dPdF(), oofem::OgdenCompressibleMaterial::give3dMaterialStiffnessMatrix_dPdF(), and oofem::SimoPisterMaterial::give3dMaterialStiffnessMatrix_dPdF().

◆ compute_dI1_C_dF()

Tensor2_3d oofem::BaseHyperElasticMaterial::compute_dI1_C_dF ( const Tensor2_3d & F) const
inline

Compute the first derivative of the first invariant of the Cauchy-Green deformation tensor C wrt deformation gradient F

Parameters
Deformationgradient (second-order tensor in 3d)
Returns
first derivative of the Cauchy-Green deformation tensor C wrt deformation gradient F(second-order tensor in 3d)

Definition at line 161 of file basehyperelasticmaterial.h.

References i_3, and j_3.

Referenced by oofem::SimoPisterMaterial::giveFirstPKStressVector_3d().

◆ compute_dI1_Cdev_dF()

Tensor2_3d oofem::BaseHyperElasticMaterial::compute_dI1_Cdev_dF ( const Tensor2_3d & F) const
inline

Compute the first derivatiove of the first invariant of the deviatoric Cauchy-Green deformation tensor C wrt deformation gradient F

Parameters
Deformationgradient (second-order tensor in 3d)
Returns
first derivatiove of the first invariant of the deviatoric Cauchy-Green deformation tensor C (second-order tensor)

Definition at line 275 of file basehyperelasticmaterial.h.

References oofem::Tensor2_3d::compute_determinant_and_cofactor(), compute_I1_C_from_F(), i_3, and j_3.

Referenced by oofem::MooneyRivlinCompressibleMaterial::giveFirstPKStressVector_3d().

◆ compute_dI2_C_dF()

Tensor2_3d oofem::BaseHyperElasticMaterial::compute_dI2_C_dF ( const Tensor2_3d & F) const
inline

Compute the first derivative of the second invariant of the Cauchy-Green deformation tensor C wrt deformation gradient F

Parameters
Deformationgradient (second-order tensor in 3d)
Returns
first derivative of the second invariant of the Cauchy-Green deformation tensor C wrt deformation gradient F(second-order tensor in 3d)

Definition at line 174 of file basehyperelasticmaterial.h.

References i_3, j_3, k_3, and m_3.

Referenced by oofem::BlatzKoMaterial::give3dMaterialStiffnessMatrix_dPdF(), and oofem::BlatzKoMaterial::giveFirstPKStressVector_3d().

◆ compute_dI2_Cdev_dF()

Tensor2_3d oofem::BaseHyperElasticMaterial::compute_dI2_Cdev_dF ( const Tensor2_3d & F) const
inline

Compute the first derivatiove of the second invariant of the deviatoric Cauchy-Green deformation tensor C wrt deformation gradient F

Parameters
Deformationgradient (second-order tensor in 3d)
Returns
first derivatiove of the second invariant of the deviatoric Cauchy-Green deformation tensor C (second-order tensor)

Definition at line 288 of file basehyperelasticmaterial.h.

References oofem::Tensor2_3d::compute_determinant(), oofem::Tensor2_3d::compute_determinant_and_cofactor(), compute_I2_C_from_C(), i_3, j_3, and k_3.

Referenced by oofem::MooneyRivlinCompressibleMaterial::giveFirstPKStressVector_3d().

◆ compute_dI3_C_dF()

Tensor2_3d oofem::BaseHyperElasticMaterial::compute_dI3_C_dF ( const Tensor2_3d & F) const
inline

Compute the first derivative of the third invariant of the Cauchy-Green deformation tensor C wrt deformation gradient F

Parameters
Deformationgradient (second-order tensor in 3d)
Returns
first derivative of the third invariant of the Cauchy-Green deformation tensor C wrt deformation gradient F(second-order tensor in 3d)

Definition at line 188 of file basehyperelasticmaterial.h.

References oofem::Tensor2_3d::compute_determinant_and_cofactor(), i_3, and j_3.

Referenced by oofem::BlatzKoMaterial::give3dMaterialStiffnessMatrix_dPdF(), and oofem::BlatzKoMaterial::giveFirstPKStressVector_3d().

◆ compute_dJ_dF()

Tensor2_3d oofem::BaseHyperElasticMaterial::compute_dJ_dF ( const Tensor2_3d & F) const
inline

Compute the first derivative of the Jacobian(determinant of F) wrt deformation gradient F

Parameters
Deformationgradient (second-order tensor in 3d)
Returns
the first derivative of the Jacobian(determinant of F) wrt deformation gradient F (second-order tensor in 3d)

Definition at line 202 of file basehyperelasticmaterial.h.

References oofem::Tensor2_3d::compute_cofactor().

Referenced by compute_dVolumetricEnergy_dF().

◆ compute_dVolumetricEnergy_dF()

Tensor2_3d oofem::BaseHyperElasticMaterial::compute_dVolumetricEnergy_dF ( const Tensor2_3d & F) const

Compute the first derivative of the volumetric energy wrt deformation gradient F

Parameters
Deformationgradient (second-order tensor in 3d)
Returns
the first derivative of the volumetric energy (second-order tensor)

Definition at line 40 of file basehyperelasticmaterial.C.

References oofem::Tensor2_3d::compute_determinant(), compute_dJ_dF(), i_3, j_3, K, VET_Logarithmic, and VET_Type.

Referenced by oofem::MooneyRivlinCompressibleMaterial::giveFirstPKStressVector_3d(), oofem::OgdenCompressibleMaterial::giveFirstPKStressVector_3d(), and oofem::SimoPisterMaterial::giveFirstPKStressVector_3d().

◆ compute_I1_C_from_C()

double oofem::BaseHyperElasticMaterial::compute_I1_C_from_C ( const Tensor2_3d & C) const
inline

Compute the first invariant of Cauchy-Green deformation tensor C

Parameters
Cauchy-Greendeformation tensor C(second-order tensor in 3d)
Returns
Trace of Cauchy-Green deformation tensor C

Definition at line 128 of file basehyperelasticmaterial.h.

References i_3.

Referenced by compute_d2I2_Cdev_dF2().

◆ compute_I1_C_from_F()

double oofem::BaseHyperElasticMaterial::compute_I1_C_from_F ( const Tensor2_3d & F) const
inline

Compute the first invariant of Cauchy-Green deformation tensor C

Parameters
Deformationgradient (second-order tensor in 3d)
Returns
Trace of Cauchy-Green deformation tensor C

Definition at line 95 of file basehyperelasticmaterial.h.

References k_3.

Referenced by compute_d2I1_Cdev_dF2(), compute_dI1_Cdev_dF(), and compute_I1_Cdev_from_F().

◆ compute_I1_Cdev_from_F()

double oofem::BaseHyperElasticMaterial::compute_I1_Cdev_from_F ( const Tensor2_3d & F) const
inline

Compute the first invariant of the deviatoric Cauchy-Green deformation tensor C

Parameters
Deformationgradient (second-order tensor in 3d)
Returns
Trace of the deviatoric Cauchy-Green deformation tensor C

Definition at line 254 of file basehyperelasticmaterial.h.

References oofem::Tensor2_3d::compute_determinant(), and compute_I1_C_from_F().

◆ compute_I2_C_from_C()

double oofem::BaseHyperElasticMaterial::compute_I2_C_from_C ( const Tensor2_3d & C) const
inline

Compute the second invariant of Cauchy-Green deformation tensor C

Parameters
Cauchy-Greendeformation tensor C(second-order tensor in 3d)
Returns
The second invariant of Cauchy-Green deformation tensor C

Definition at line 138 of file basehyperelasticmaterial.h.

References i_3, and k_3.

Referenced by compute_d2I2_Cdev_dF2(), and compute_dI2_Cdev_dF().

◆ compute_I2_C_from_F()

double oofem::BaseHyperElasticMaterial::compute_I2_C_from_F ( const Tensor2_3d & F) const
inline

Compute the second invariant of Cauchy-Green deformation tensor C

Parameters
Deformationgradient (second-order tensor in 3d)
Returns
The second invariant of Cauchy-Green deformation tensor C

Definition at line 106 of file basehyperelasticmaterial.h.

References k_3, l_3, and m_3.

Referenced by compute_I2_Cdev_from_F(), oofem::BlatzKoMaterial::give3dMaterialStiffnessMatrix_dPdF(), and oofem::BlatzKoMaterial::giveFirstPKStressVector_3d().

◆ compute_I2_Cdev_from_F()

double oofem::BaseHyperElasticMaterial::compute_I2_Cdev_from_F ( const Tensor2_3d & F) const
inline

Compute the second invariant of the deviatoric Cauchy-Green deformation tensor C

Parameters
Deformationgradient (second-order tensor in 3d)
Returns
Second invariant of the deviatoric Cauchy-Green deformation tensor C

Definition at line 264 of file basehyperelasticmaterial.h.

References oofem::Tensor2_3d::compute_determinant(), and compute_I2_C_from_F().

◆ compute_I3_C_from_C()

double oofem::BaseHyperElasticMaterial::compute_I3_C_from_C ( const Tensor2_3d & C) const
inline

Compute the third of Cauchy-Green deformation tensor C

Parameters
Cauchy-Greendeformation tensor C(second-order tensor in 3d)
Returns
Determinant of Cauchy-Green deformation tensor C

Definition at line 149 of file basehyperelasticmaterial.h.

References oofem::Tensor2_3d::compute_determinant().

◆ compute_I3_C_from_F()

double oofem::BaseHyperElasticMaterial::compute_I3_C_from_F ( const Tensor2_3d & F) const
inline

Compute the third invariant of Cauchy-Green deformation tensor C

Parameters
Deformationgradient (second-order tensor in 3d)
Returns
Determinant of Cauchy-Green deformation tensor C

Definition at line 117 of file basehyperelasticmaterial.h.

References oofem::Tensor2_3d::compute_determinant().

Referenced by oofem::BlatzKoMaterial::give3dMaterialStiffnessMatrix_dPdF(), and oofem::BlatzKoMaterial::giveFirstPKStressVector_3d().

◆ initializeFrom()

void oofem::BaseHyperElasticMaterial::initializeFrom ( InputRecord & ir)

Member Data Documentation

◆ K

double oofem::BaseHyperElasticMaterial::K = 0
protected

◆ VET_Type

VolumetricEnergyType oofem::BaseHyperElasticMaterial::VET_Type = VET_Logarithmic
protected

volumetric energy type

Definition at line 79 of file basehyperelasticmaterial.h.

Referenced by compute_d2VolumetricEnergy_dF2(), and compute_dVolumetricEnergy_dF().


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

This page is part of the OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011