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

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

References oomph::MathematicalConstants::I().

◆ 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, oomph::MathematicalConstants::I(), 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: