CompressibleMooneyRivlinMaterialLaw< DIM > Class Template Reference

#include <CompressibleMooneyRivlinMaterialLaw.hpp>

Inherits AbstractIsotropicCompressibleMaterialLaw< DIM >.

Collaboration diagram for CompressibleMooneyRivlinMaterialLaw< DIM >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

double Get_dW_dI1 (double I1, double I2, double I3)
double Get_dW_dI2 (double I1, double I2, double I3)
double Get_dW_dI3 (double I1, double I2, double I3)
double Get_d2W_dI1 (double I1, double I2, double I3)
double Get_d2W_dI2 (double I1, double I2, double I3)
double Get_d2W_dI3 (double I1, double I2, double I3)
double Get_d2W_dI2I3 (double I1, double I2, double I3)
double Get_d2W_dI1I3 (double I1, double I2, double I3)
double Get_d2W_dI1I2 (double I1, double I2, double I3)
double GetC1 ()
double GetC3 ()
 CompressibleMooneyRivlinMaterialLaw (double c1, double c3)
void ScaleMaterialParameters (double scaleFactor)

Private Attributes

double mC1
double mC3

Static Private Attributes

static const double msMinusOneOverDimension = -1.0/DIM

Detailed Description

template<unsigned DIM>
class CompressibleMooneyRivlinMaterialLaw< DIM >

CompressibleMooneyRivlinMaterialLaw

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

The law is given by a strain energy function W(I1,I2,I3) = c1 ( dev(I1)-3 ) + c3(J-1)^2

where (assuming Ii are the principal invariants of C, the Lagrangian deformation tensor, I1=trace(C), I2=0.5(trace(C)^2-trace(C^2)), I3=det(C)): J = det(F) = sqrt(I3) dev(I1) = I1 * J^(-2/DIM) is the first invariant of the deviatoric part of C

Note T(E=0) = 0 regardless of choice of c1, c3.

NOTE: this is really just a NEO-HOOKEAN law at present - the c2 (dev(I2)-3) term hasn't been added yet...

Definition at line 66 of file CompressibleMooneyRivlinMaterialLaw.hpp.


Constructor & Destructor Documentation

template<unsigned DIM>
CompressibleMooneyRivlinMaterialLaw< DIM >::CompressibleMooneyRivlinMaterialLaw ( double  c1,
double  c3 
) [inline]

Constructor, taking in parameters c1 and c3.

Parameters:
c1 parameter c1
c3 parameter c3

Definition at line 216 of file CompressibleMooneyRivlinMaterialLaw.hpp.

References CompressibleMooneyRivlinMaterialLaw< DIM >::mC1, and CompressibleMooneyRivlinMaterialLaw< DIM >::mC3.


Member Function Documentation

template<unsigned DIM>
double CompressibleMooneyRivlinMaterialLaw< DIM >::Get_d2W_dI1 ( double  I1,
double  I2,
double  I3 
) [inline, virtual]
Returns:
the second derivative d^2W/dI1^2.
Parameters:
I1 first principal invariant of C
I2 second principal invariant of C
I3 third principal invariant of C

Implements AbstractIsotropicCompressibleMaterialLaw< DIM >.

Definition at line 125 of file CompressibleMooneyRivlinMaterialLaw.hpp.

template<unsigned DIM>
double CompressibleMooneyRivlinMaterialLaw< DIM >::Get_d2W_dI1I2 ( double  I1,
double  I2,
double  I3 
) [inline, virtual]
Returns:
the second derivative d^2W/dI1dI2.
Parameters:
I1 first principal invariant of C
I2 second principal invariant of C
I3 third principal invariant of C

Implements AbstractIsotropicCompressibleMaterialLaw< DIM >.

Definition at line 192 of file CompressibleMooneyRivlinMaterialLaw.hpp.

template<unsigned DIM>
double CompressibleMooneyRivlinMaterialLaw< DIM >::Get_d2W_dI1I3 ( double  I1,
double  I2,
double  I3 
) [inline, virtual]
Returns:
the second derivative d^2W/dI1dI3.
Parameters:
I1 first principal invariant of C
I2 second principal invariant of C
I3 third principal invariant of C

Implements AbstractIsotropicCompressibleMaterialLaw< DIM >.

Definition at line 179 of file CompressibleMooneyRivlinMaterialLaw.hpp.

References CompressibleMooneyRivlinMaterialLaw< DIM >::mC1, and CompressibleMooneyRivlinMaterialLaw< DIM >::msMinusOneOverDimension.

template<unsigned DIM>
double CompressibleMooneyRivlinMaterialLaw< DIM >::Get_d2W_dI2 ( double  I1,
double  I2,
double  I3 
) [inline, virtual]
Returns:
the second derivative d^2W/dI2^2.
Parameters:
I1 first principal invariant of C
I2 second principal invariant of C
I3 third principal invariant of C

Implements AbstractIsotropicCompressibleMaterialLaw< DIM >.

Definition at line 138 of file CompressibleMooneyRivlinMaterialLaw.hpp.

template<unsigned DIM>
double CompressibleMooneyRivlinMaterialLaw< DIM >::Get_d2W_dI2I3 ( double  I1,
double  I2,
double  I3 
) [inline, virtual]
Returns:
the second derivative d^2W/dI2dI3.
Parameters:
I1 first principal invariant of C
I2 second principal invariant of C
I3 third principal invariant of C

Implements AbstractIsotropicCompressibleMaterialLaw< DIM >.

Definition at line 166 of file CompressibleMooneyRivlinMaterialLaw.hpp.

template<unsigned DIM>
double CompressibleMooneyRivlinMaterialLaw< DIM >::Get_d2W_dI3 ( double  I1,
double  I2,
double  I3 
) [inline, virtual]
Returns:
the second derivative d^2W/dI3^2.
Parameters:
I1 first principal invariant of C
I2 second principal invariant of C
I3 third principal invariant of C

Implements AbstractIsotropicCompressibleMaterialLaw< DIM >.

Definition at line 151 of file CompressibleMooneyRivlinMaterialLaw.hpp.

References CompressibleMooneyRivlinMaterialLaw< DIM >::mC1, CompressibleMooneyRivlinMaterialLaw< DIM >::mC3, and CompressibleMooneyRivlinMaterialLaw< DIM >::msMinusOneOverDimension.

template<unsigned DIM>
double CompressibleMooneyRivlinMaterialLaw< DIM >::Get_dW_dI1 ( double  I1,
double  I2,
double  I3 
) [inline, virtual]
Returns:
the first derivative dW/dI1.
Parameters:
I1 first principal invariant of C
I2 second principal invariant of C
I3 third principal invariant of C

Implements AbstractIsotropicCompressibleMaterialLaw< DIM >.

Definition at line 88 of file CompressibleMooneyRivlinMaterialLaw.hpp.

References CompressibleMooneyRivlinMaterialLaw< DIM >::mC1, and CompressibleMooneyRivlinMaterialLaw< DIM >::msMinusOneOverDimension.

template<unsigned DIM>
double CompressibleMooneyRivlinMaterialLaw< DIM >::Get_dW_dI2 ( double  I1,
double  I2,
double  I3 
) [inline, virtual]
Returns:
the first derivative dW/dI2.
Parameters:
I1 first principal invariant of C
I2 second principal invariant of C
I3 third principal invariant of C

Implements AbstractIsotropicCompressibleMaterialLaw< DIM >.

Definition at line 100 of file CompressibleMooneyRivlinMaterialLaw.hpp.

template<unsigned DIM>
double CompressibleMooneyRivlinMaterialLaw< DIM >::Get_dW_dI3 ( double  I1,
double  I2,
double  I3 
) [inline, virtual]
Returns:
the first derivative dW/dI3.
Parameters:
I1 first principal invariant of C
I2 second principal invariant of C
I3 third principal invariant of C

Implements AbstractIsotropicCompressibleMaterialLaw< DIM >.

Definition at line 112 of file CompressibleMooneyRivlinMaterialLaw.hpp.

References CompressibleMooneyRivlinMaterialLaw< DIM >::mC1, CompressibleMooneyRivlinMaterialLaw< DIM >::mC3, and CompressibleMooneyRivlinMaterialLaw< DIM >::msMinusOneOverDimension.

template<unsigned DIM>
double CompressibleMooneyRivlinMaterialLaw< DIM >::GetC1 (  )  [inline]
template<unsigned DIM>
double CompressibleMooneyRivlinMaterialLaw< DIM >::GetC3 (  )  [inline]
template<unsigned DIM>
void CompressibleMooneyRivlinMaterialLaw< DIM >::ScaleMaterialParameters ( double  scaleFactor  )  [inline, virtual]

Scale the dimensional material parameters.

Parameters:
scaleFactor 

Reimplemented from AbstractMaterialLaw< DIM >.

Definition at line 229 of file CompressibleMooneyRivlinMaterialLaw.hpp.

References CompressibleMooneyRivlinMaterialLaw< DIM >::mC1, and CompressibleMooneyRivlinMaterialLaw< DIM >::mC3.


Member Data Documentation

template<unsigned DIM>
double CompressibleMooneyRivlinMaterialLaw< DIM >::mC1 [private]
template<unsigned DIM>
double CompressibleMooneyRivlinMaterialLaw< DIM >::mC3 [private]
template<unsigned DIM>
const double CompressibleMooneyRivlinMaterialLaw< DIM >::msMinusOneOverDimension = -1.0/DIM [inline, static, private]

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

Generated by  doxygen 1.6.2