Base class for strain energy functions to be used in solid mechanics computations. More...
#include <constitutive_laws.h>
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... | |
Base class for strain energy functions to be used in solid mechanics computations.
Definition at line 47 of file constitutive_laws.h.
|
inline |
Constructor takes no arguments.
Definition at line 51 of file constitutive_laws.h.
|
inlinevirtual |
Empty virtual destructor.
Definition at line 54 of file constitutive_laws.h.
|
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.
|
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::GeneralisedMooneyRivlin, and oomph::MooneyRivlin.
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().
|
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::GeneralisedMooneyRivlin, and oomph::MooneyRivlin.
Referenced by oomph::IsotropicStrainEnergyFunctionConstitutiveLaw::requires_incompressibility_constraint().
|
inlinevirtual |
Return the strain energy in terms of the strain tensor.
Reimplemented in oomph::GeneralisedMooneyRivlin, and oomph::MooneyRivlin.
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().
|
inlinevirtual |
Return the strain energy in terms of the strain invariants.
Reimplemented in oomph::GeneralisedMooneyRivlin, and oomph::MooneyRivlin.
Definition at line 72 of file constitutive_laws.h.
References oomph::Global_string_for_annotation::string().