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

#include <ExponentialMaterialLaw.hpp>

+ Inheritance diagram for ExponentialMaterialLaw< DIM >:
+ Collaboration diagram for ExponentialMaterialLaw< 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 GetA ()
 
double GetB ()
 
 ExponentialMaterialLaw (double a, double b)
 
- 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)
 
virtual void ScaleMaterialParameters (double scaleFactor)
 
void SetChangeOfBasisMatrix (c_matrix< double, DIM, DIM > &rChangeOfBasisMatrix)
 
void ResetToNoChangeOfBasisMatrix ()
 

Private Attributes

double mA
 
double mB
 

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 ExponentialMaterialLaw< DIM >

ExponentialMaterialLaw

An exponential isotropic incompressible hyperelastic material law for finite elasticity

The law is given by a strain energy function W(I_1,I_2,I_3) = a exp( b(I_1-3) ) - p/2 C^{-1} in 3d, or W(I_1,I_2,I_3) = a exp( b(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 62 of file ExponentialMaterialLaw.hpp.

Constructor & Destructor Documentation

template<unsigned DIM>
ExponentialMaterialLaw< DIM >::ExponentialMaterialLaw ( double  a,
double  b 
)

Constructor, taking in the parameters a and b. a must be positive.

Parameters
athe parameter a
bthe parameter b

Definition at line 39 of file ExponentialMaterialLaw.cpp.

References EXCEPTION.

Member Function Documentation

template<unsigned DIM>
double ExponentialMaterialLaw< 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 76 of file ExponentialMaterialLaw.cpp.

References ExponentialMaterialLaw< DIM >::mA, and ExponentialMaterialLaw< DIM >::mB.

template<unsigned DIM>
double ExponentialMaterialLaw< 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 89 of file ExponentialMaterialLaw.cpp.

template<unsigned DIM>
double ExponentialMaterialLaw< 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 82 of file ExponentialMaterialLaw.cpp.

template<unsigned DIM>
double ExponentialMaterialLaw< 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 63 of file ExponentialMaterialLaw.cpp.

References ExponentialMaterialLaw< DIM >::mA, and ExponentialMaterialLaw< DIM >::mB.

template<unsigned DIM>
double ExponentialMaterialLaw< 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 69 of file ExponentialMaterialLaw.cpp.

template<unsigned DIM>
double ExponentialMaterialLaw< DIM >::GetA ( )
Returns
mA.

Definition at line 51 of file ExponentialMaterialLaw.cpp.

References ExponentialMaterialLaw< DIM >::mA.

template<unsigned DIM>
double ExponentialMaterialLaw< DIM >::GetB ( )
Returns
mB.

Definition at line 57 of file ExponentialMaterialLaw.cpp.

References ExponentialMaterialLaw< DIM >::mB.

Member Data Documentation


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