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. More...
 
 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. More...
 
virtual ~GeneralisedMooneyRivlin ()
 Virtual destructor. More...
 
double W (const DenseMatrix< double > &gamma)
 Return the strain energy in terms of strain tensor. More...
 
double W (const Vector< double > &I)
 Return the strain energy in terms of the strain invariants. More...
 
void derivatives (Vector< double > &I, Vector< double > &dWdI)
 Return the derivatives of the strain energy function with respect to the strain invariants. More...
 
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. More...
 
- Public Member Functions inherited from oomph::StrainEnergyFunction
 StrainEnergyFunction ()
 Constructor takes no arguments. More...
 
virtual ~StrainEnergyFunction ()
 Empty virtual destructor. 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...
 

Private Attributes

double * Nu_pt
 Poisson's ratio. More...
 
double * C1_pt
 Mooney-Rivlin parameter. More...
 
double * E_pt
 Young's modulus. More...
 
bool Must_delete_e
 Boolean flag to indicate if storage for elastic modulus must be deleted in destructor. More...
 

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 225 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 233 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 239 of file constitutive_laws.h.

◆ ~GeneralisedMooneyRivlin()

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

Virtual destructor.

Definition at line 246 of file constitutive_laws.h.

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 269 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 283 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 252 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 257 of file constitutive_laws.h.

Member Data Documentation

◆ C1_pt

double* oomph::GeneralisedMooneyRivlin::C1_pt
private

Mooney-Rivlin parameter.

Definition at line 291 of file constitutive_laws.h.

◆ E_pt

double* oomph::GeneralisedMooneyRivlin::E_pt
private

Young's modulus.

Definition at line 294 of file constitutive_laws.h.

◆ 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 298 of file constitutive_laws.h.

◆ Nu_pt

double* oomph::GeneralisedMooneyRivlin::Nu_pt
private

Poisson's ratio.

Definition at line 288 of file constitutive_laws.h.


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