Chaste  Release::2017.1
MooneyRivlinMaterialLaw< DIM > Class Template Reference

#include <MooneyRivlinMaterialLaw.hpp>

+ Inheritance diagram for MooneyRivlinMaterialLaw< DIM >:
+ Collaboration diagram for MooneyRivlinMaterialLaw< DIM >:

Public Member Functions

double Get_dW_dI1 (double I1, double I2)
 
double Get_dW_dI2 (double I1, double I2)
 
double Get_d2W_dI1 (double I1, double I2)
 
double Get_d2W_dI2 (double I1, double I2)
 
double Get_d2W_dI1I2 (double I1, double I2)
 
double GetC1 ()
 
double GetC2 ()
 
 MooneyRivlinMaterialLaw (double c1, double c2=MINUS_LARGE)
 
void ScaleMaterialParameters (double scaleFactor)
 
- Public Member Functions inherited from AbstractIsotropicIncompressibleMaterialLaw< DIM >
void ComputeStressAndStressDerivative (c_matrix< double, DIM, DIM > &rC, c_matrix< double, DIM, DIM > &rInvC, double pressure, c_matrix< double, DIM, DIM > &rT, FourthOrderTensor< DIM, DIM, DIM, DIM > &rDTdE, bool computeDTdE)
 
virtual ~AbstractIsotropicIncompressibleMaterialLaw ()
 
double GetZeroStrainPressure ()
 
template<>
double GetZeroStrainPressure ()
 
- Public Member Functions inherited from AbstractIncompressibleMaterialLaw< DIM >
 AbstractIncompressibleMaterialLaw ()
 
virtual ~AbstractIncompressibleMaterialLaw ()
 
- Public Member Functions inherited from AbstractMaterialLaw< DIM >
 AbstractMaterialLaw ()
 
virtual ~AbstractMaterialLaw ()
 
void ComputeCauchyStress (c_matrix< double, DIM, DIM > &rF, double pressure, c_matrix< double, DIM, DIM > &rSigma)
 
void Compute1stPiolaKirchoffStress (c_matrix< double, DIM, DIM > &rF, double pressure, c_matrix< double, DIM, DIM > &rS)
 
void Compute2ndPiolaKirchoffStress (c_matrix< double, DIM, DIM > &rC, double pressure, c_matrix< double, DIM, DIM > &rT)
 
void SetChangeOfBasisMatrix (c_matrix< double, DIM, DIM > &rChangeOfBasisMatrix)
 
void ResetToNoChangeOfBasisMatrix ()
 

Private Attributes

double mC1
 
double mC2
 

Additional Inherited Members

- Protected Member Functions inherited from AbstractMaterialLaw< DIM >
void ComputeTransformedDeformationTensor (c_matrix< double, DIM, DIM > &rC, c_matrix< double, DIM, DIM > &rInvC, c_matrix< double, DIM, DIM > &rCTransformed, c_matrix< double, DIM, DIM > &rInvCTransformed)
 
void TransformStressAndStressDerivative (c_matrix< double, DIM, DIM > &rT, FourthOrderTensor< DIM, DIM, DIM, DIM > &rDTdE, bool transformDTdE)
 
- Protected Attributes inherited from AbstractMaterialLaw< DIM >
c_matrix< double, DIM, DIM > * mpChangeOfBasisMatrix
 

Detailed Description

template<unsigned DIM>
class MooneyRivlinMaterialLaw< DIM >

MooneyRivlinMaterialLaw

A Mooney-Rivlin isotropic incompressible hyperelastic material law for finite elasticity

The law is given by a strain energy function W(I_1,I_2,I_3) = c1(I_1-3) + c2(I_2-3) - p/2 C^{-1} in 3d, or W(I_1,I_3) = c1(I_1-2) - p/2 C^{-1} in 2d.

Here I_i are the principal invariants of C, the Lagrangian deformation tensor. (I1=trace(C), I2=trace(C)^2-trace(C^2), I3=det(C)).

Note: only dimension equals 2 or 3 is permitted.

Definition at line 64 of file MooneyRivlinMaterialLaw.hpp.

Constructor & Destructor Documentation

template<unsigned DIM>
MooneyRivlinMaterialLaw< DIM >::MooneyRivlinMaterialLaw ( double  c1,
double  c2 = MINUS_LARGE 
)

Constructor, Taking in mooney-rivlin parameters c1 and c2. Note: c2 is not used if the dimension is 2. Just pass in c1 if 2d.

Parameters
c1parameter c1
c2parameter c2 (defaults to MINUS_LARGE)

Definition at line 85 of file MooneyRivlinMaterialLaw.cpp.

References EXCEPTION.

Member Function Documentation

template<unsigned DIM>
double MooneyRivlinMaterialLaw< DIM >::Get_d2W_dI1 ( double  I1,
double  I2 
)
virtual
Returns
the second derivative d^2W/dI1^2.
Todo:
The name of this method should not include underscores.
Parameters
I1first principal invariant of C
I2second principal invariant of C

Implements AbstractIsotropicIncompressibleMaterialLaw< DIM >.

Definition at line 52 of file MooneyRivlinMaterialLaw.cpp.

template<unsigned DIM>
double MooneyRivlinMaterialLaw< DIM >::Get_d2W_dI1I2 ( double  I1,
double  I2 
)
virtual
Returns
the second derivative d^2W/dI1dI2.
Todo:
The name of this method should not include underscores.
Parameters
I1first principal invariant of C
I2second principal invariant of C

Implements AbstractIsotropicIncompressibleMaterialLaw< DIM >.

Definition at line 65 of file MooneyRivlinMaterialLaw.cpp.

template<unsigned DIM>
double MooneyRivlinMaterialLaw< DIM >::Get_d2W_dI2 ( double  I1,
double  I2 
)
virtual
Returns
the second derivative d^2W/dI2^2.
Todo:
The name of this method should not include underscores.
Parameters
I1first principal invariant of C
I2second principal invariant of C

Implements AbstractIsotropicIncompressibleMaterialLaw< DIM >.

Definition at line 58 of file MooneyRivlinMaterialLaw.cpp.

template<unsigned DIM>
double MooneyRivlinMaterialLaw< DIM >::Get_dW_dI1 ( double  I1,
double  I2 
)
virtual
Returns
the first derivative dW/dI1.
Todo:
The name of this method should not include underscores.
Parameters
I1first principal invariant of C
I2second principal invariant of C

Implements AbstractIsotropicIncompressibleMaterialLaw< DIM >.

Definition at line 39 of file MooneyRivlinMaterialLaw.cpp.

template<unsigned DIM>
double MooneyRivlinMaterialLaw< DIM >::Get_dW_dI2 ( double  I1,
double  I2 
)
virtual
Returns
the first derivative dW/dI2.
Todo:
The name of this method should not include underscores.
Parameters
I1first principal invariant of C
I2second principal invariant of C

Implements AbstractIsotropicIncompressibleMaterialLaw< DIM >.

Definition at line 45 of file MooneyRivlinMaterialLaw.cpp.

template<unsigned DIM>
double MooneyRivlinMaterialLaw< DIM >::GetC1 ( )
Returns
mC1.

Definition at line 72 of file MooneyRivlinMaterialLaw.cpp.

template<unsigned DIM>
double MooneyRivlinMaterialLaw< DIM >::GetC2 ( )
Returns
mC2.

Definition at line 78 of file MooneyRivlinMaterialLaw.cpp.

template<unsigned DIM>
void MooneyRivlinMaterialLaw< DIM >::ScaleMaterialParameters ( double  scaleFactor)
virtual

Scale the dimensional material parameters.

Parameters
scaleFactor

Reimplemented from AbstractMaterialLaw< DIM >.

Definition at line 104 of file MooneyRivlinMaterialLaw.cpp.

References MooneyRivlinMaterialLaw< DIM >::mC1, and MooneyRivlinMaterialLaw< DIM >::mC2.

Member Data Documentation

template<unsigned DIM>
double MooneyRivlinMaterialLaw< DIM >::mC1
private

Parameter c1.

Definition at line 69 of file MooneyRivlinMaterialLaw.hpp.

Referenced by MooneyRivlinMaterialLaw< DIM >::ScaleMaterialParameters().

template<unsigned DIM>
double MooneyRivlinMaterialLaw< DIM >::mC2
private

Parameter c2.

Definition at line 72 of file MooneyRivlinMaterialLaw.hpp.

Referenced by MooneyRivlinMaterialLaw< DIM >::ScaleMaterialParameters().


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