Public Member Functions | Private Attributes | List of all members
oomph::GeneralisedMooneyRivlin Class Reference

Generalisation of Mooney Rivlin constitutive law to compressible media as suggested on p. 553 of Fung, Y.C. & Tong, P. "Classical and Computational Solid Mechanics" World Scientific (2001). Input parameters are Young's modulus E, Poisson ratio nu and the Mooney-Rivlin constant C1. In the small-deformation-limit the behaviour becomes equivalent to that of linear elasticity with the same E and nu. More...

#include <constitutive_laws.h>

+ Inheritance diagram for oomph::GeneralisedMooneyRivlin:

Public Member Functions

 GeneralisedMooneyRivlin (double *nu_pt, double *c1_pt)
 Constructor takes the pointers to the constitutive parameters: Poisson's ratio, the Mooney-Rivlin parameter. Young's modulus is set to 1, implying that it has been used to scale the stresses.
 
 GeneralisedMooneyRivlin (double *nu_pt, double *c1_pt, double *e_pt)
 Constructor takes the pointers to the constitutive parameters: Poisson's ratio, the Mooney-Rivlin parameter and Young's modulus.
 
virtual ~GeneralisedMooneyRivlin ()
 Virtual destructor.
 
double W (const DenseMatrix< double > &gamma)
 Return the strain energy in terms of strain tensor.
 
double W (const Vector< double > &I)
 Return the strain energy in terms of the strain invariants.
 
void derivatives (Vector< double > &I, Vector< double > &dWdI)
 Return the derivatives of the strain energy function with respect to the strain invariants.
 
bool requires_incompressibility_constraint ()
 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. False.
 
- Public Member Functions inherited from oomph::StrainEnergyFunction
 StrainEnergyFunction ()
 Constructor takes no arguments.
 
virtual ~StrainEnergyFunction ()
 Empty virtual destructor.
 
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).
 

Private Attributes

doubleNu_pt
 Poisson's ratio.
 
doubleC1_pt
 Mooney-Rivlin parameter.
 
doubleE_pt
 Young's modulus.
 
bool Must_delete_e
 Boolean flag to indicate if storage for elastic modulus must be deleted in destructor.
 

Detailed Description

Generalisation of Mooney Rivlin constitutive law to compressible media as suggested on p. 553 of Fung, Y.C. & Tong, P. "Classical and Computational Solid Mechanics" World Scientific (2001). Input parameters are Young's modulus E, Poisson ratio nu and the Mooney-Rivlin constant C1. In the small-deformation-limit the behaviour becomes equivalent to that of linear elasticity with the same E and nu.

Note that there's a factor of 2 difference between C1 and the Mooney Rivlin C1!

Definition at line 214 of file constitutive_laws.h.

Constructor & Destructor Documentation

◆ GeneralisedMooneyRivlin() [1/2]

oomph::GeneralisedMooneyRivlin::GeneralisedMooneyRivlin ( double nu_pt,
double c1_pt 
)
inline

Constructor takes the pointers to the constitutive parameters: Poisson's ratio, the Mooney-Rivlin parameter. Young's modulus is set to 1, implying that it has been used to scale the stresses.

Definition at line 220 of file constitutive_laws.h.

◆ GeneralisedMooneyRivlin() [2/2]

oomph::GeneralisedMooneyRivlin::GeneralisedMooneyRivlin ( double nu_pt,
double c1_pt,
double e_pt 
)
inline

Constructor takes the pointers to the constitutive parameters: Poisson's ratio, the Mooney-Rivlin parameter and Young's modulus.

Definition at line 231 of file constitutive_laws.h.

◆ ~GeneralisedMooneyRivlin()

virtual oomph::GeneralisedMooneyRivlin::~GeneralisedMooneyRivlin ( )
inlinevirtual

Virtual destructor.

Definition at line 242 of file constitutive_laws.h.

References E_pt, and Must_delete_e.

Member Function Documentation

◆ derivatives()

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

Return the derivatives of the strain energy function with respect to the strain invariants.

Reimplemented from oomph::StrainEnergyFunction.

Definition at line 267 of file constitutive_laws.h.

◆ requires_incompressibility_constraint()

bool oomph::GeneralisedMooneyRivlin::requires_incompressibility_constraint ( )
inlinevirtual

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. False.

Implements oomph::StrainEnergyFunction.

Definition at line 282 of file constitutive_laws.h.

◆ W() [1/2]

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

Return the strain energy in terms of strain tensor.

Reimplemented from oomph::StrainEnergyFunction.

Definition at line 248 of file constitutive_laws.h.

References oomph::StrainEnergyFunction::W().

◆ W() [2/2]

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

Return the strain energy in terms of the strain invariants.

Reimplemented from oomph::StrainEnergyFunction.

Definition at line 255 of file constitutive_laws.h.

References C1_pt, and Nu_pt.

Member Data Documentation

◆ C1_pt

double* oomph::GeneralisedMooneyRivlin::C1_pt
private

Mooney-Rivlin parameter.

Definition at line 292 of file constitutive_laws.h.

Referenced by W().

◆ E_pt

double* oomph::GeneralisedMooneyRivlin::E_pt
private

Young's modulus.

Definition at line 295 of file constitutive_laws.h.

Referenced by ~GeneralisedMooneyRivlin().

◆ Must_delete_e

bool oomph::GeneralisedMooneyRivlin::Must_delete_e
private

Boolean flag to indicate if storage for elastic modulus must be deleted in destructor.

Definition at line 299 of file constitutive_laws.h.

Referenced by ~GeneralisedMooneyRivlin().

◆ Nu_pt

double* oomph::GeneralisedMooneyRivlin::Nu_pt
private

Poisson's ratio.

Definition at line 289 of file constitutive_laws.h.

Referenced by W().


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