Public Member Functions | List of all members
oomph::StrainEnergyFunction Class Referenceabstract

Base class for strain energy functions to be used in solid mechanics computations. More...

#include <constitutive_laws.h>

+ Inheritance diagram for oomph::StrainEnergyFunction:

Public Member Functions

 StrainEnergyFunction ()
 Constructor takes no arguments. More...
 
virtual ~StrainEnergyFunction ()
 Empty virtual destructor. More...
 
virtual double W (const DenseMatrix< double > &gamma)
 Return the strain energy in terms of the strain tensor. More...
 
virtual double W (const Vector< double > &I)
 Return the strain energy in terms of the strain invariants. More...
 
virtual void derivative (const DenseMatrix< double > &gamma, DenseMatrix< double > &dWdgamma)
 Return the derivatives of the strain energy function with respect to the components of the strain tensor (default is to use finite differences). More...
 
virtual void derivatives (Vector< double > &I, Vector< double > &dWdI)
 Return the derivatives of the strain energy function with respect to the strain invariants. Default version is to use finite differences. More...
 
virtual bool requires_incompressibility_constraint ()=0
 Pure virtual function in which the user must declare if the constitutive equation requires an incompressible formulation in which the volume constraint is enforced explicitly. Used as a sanity check in PARANOID mode. More...
 

Detailed Description

Base class for strain energy functions to be used in solid mechanics computations.

Definition at line 47 of file constitutive_laws.h.

Constructor & Destructor Documentation

◆ StrainEnergyFunction()

oomph::StrainEnergyFunction::StrainEnergyFunction ( )
inline

Constructor takes no arguments.

Definition at line 51 of file constitutive_laws.h.

◆ ~StrainEnergyFunction()

virtual oomph::StrainEnergyFunction::~StrainEnergyFunction ( )
inlinevirtual

Empty virtual destructor.

Definition at line 54 of file constitutive_laws.h.

Member Function Documentation

◆ derivative()

virtual void oomph::StrainEnergyFunction::derivative ( const DenseMatrix< double > &  gamma,
DenseMatrix< double > &  dWdgamma 
)
inlinevirtual

Return the derivatives of the strain energy function with respect to the components of the strain tensor (default is to use finite differences).

Definition at line 89 of file constitutive_laws.h.

◆ derivatives()

virtual void oomph::StrainEnergyFunction::derivatives ( Vector< double > &  I,
Vector< double > &  dWdI 
)
inlinevirtual

Return the derivatives of the strain energy function with respect to the strain invariants. Default version is to use finite differences.

Reimplemented in oomph::MooneyRivlin, and oomph::GeneralisedMooneyRivlin.

Definition at line 102 of file constitutive_laws.h.

References i, oomph::MathematicalConstants::I(), and W().

Referenced by oomph::IsotropicStrainEnergyFunctionConstitutiveLaw::calculate_second_piola_kirchhoff_stress().

◆ requires_incompressibility_constraint()

virtual bool oomph::StrainEnergyFunction::requires_incompressibility_constraint ( )
pure virtual

Pure virtual function in which the user must declare if the constitutive equation requires an incompressible formulation in which the volume constraint is enforced explicitly. Used as a sanity check in PARANOID mode.

Implemented in oomph::MooneyRivlin, and oomph::GeneralisedMooneyRivlin.

Referenced by oomph::IsotropicStrainEnergyFunctionConstitutiveLaw::requires_incompressibility_constraint().

◆ W() [1/2]

virtual double oomph::StrainEnergyFunction::W ( const DenseMatrix< double > &  gamma)
inlinevirtual

Return the strain energy in terms of the strain tensor.

Reimplemented in oomph::MooneyRivlin, and oomph::GeneralisedMooneyRivlin.

Definition at line 58 of file constitutive_laws.h.

References oomph::Global_string_for_annotation::string().

Referenced by derivatives(), oomph::MooneyRivlin::W(), and oomph::GeneralisedMooneyRivlin::W().

◆ W() [2/2]

virtual double oomph::StrainEnergyFunction::W ( const Vector< double > &  I)
inlinevirtual

Return the strain energy in terms of the strain invariants.

Reimplemented in oomph::MooneyRivlin, and oomph::GeneralisedMooneyRivlin.

Definition at line 72 of file constitutive_laws.h.

References oomph::Global_string_for_annotation::string().


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