#include <ExponentialMaterialLaw.hpp>
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) | |
Private Attributes | |
double | mA |
double | mB |
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 55 of file ExponentialMaterialLaw.hpp.
ExponentialMaterialLaw< DIM >::ExponentialMaterialLaw | ( | double | a, | |
double | b | |||
) | [inline] |
Constructor, taking in the parameters a and b. a must be positive.
a | the parameter a | |
b | the parameter b |
Definition at line 32 of file ExponentialMaterialLaw.cpp.
References EXCEPTION.
double ExponentialMaterialLaw< DIM >::Get_dW_dI1 | ( | double | I1, | |
double | I2 | |||
) | [inline, virtual] |
Get the first derivative dW/dI1.
I1 | first principal invariant of C | |
I2 | second principal invariant of C |
Implements AbstractIsotropicIncompressibleMaterialLaw< DIM >.
Definition at line 56 of file ExponentialMaterialLaw.cpp.
References ExponentialMaterialLaw< DIM >::mA, and ExponentialMaterialLaw< DIM >::mB.
double ExponentialMaterialLaw< DIM >::Get_dW_dI2 | ( | double | I1, | |
double | I2 | |||
) | [inline, virtual] |
Get the first derivative dW/dI2.
I1 | first principal invariant of C | |
I2 | second principal invariant of C |
Implements AbstractIsotropicIncompressibleMaterialLaw< DIM >.
Definition at line 62 of file ExponentialMaterialLaw.cpp.
double ExponentialMaterialLaw< DIM >::Get_d2W_dI1 | ( | double | I1, | |
double | I2 | |||
) | [inline, virtual] |
Get the second derivative d^2W/dI1^2.
I1 | first principal invariant of C | |
I2 | second principal invariant of C |
Implements AbstractIsotropicIncompressibleMaterialLaw< DIM >.
Definition at line 74 of file ExponentialMaterialLaw.cpp.
References ExponentialMaterialLaw< DIM >::mA, and ExponentialMaterialLaw< DIM >::mB.
double ExponentialMaterialLaw< DIM >::Get_d2W_dI2 | ( | double | I1, | |
double | I2 | |||
) | [inline, virtual] |
Get the second derivative d^2W/dI2^2.
I1 | first principal invariant of C | |
I2 | second principal invariant of C |
Implements AbstractIsotropicIncompressibleMaterialLaw< DIM >.
Definition at line 80 of file ExponentialMaterialLaw.cpp.
double ExponentialMaterialLaw< DIM >::Get_d2W_dI1I2 | ( | double | I1, | |
double | I2 | |||
) | [inline, virtual] |
Get the second derivative d^2W/dI1dI2.
I1 | first principal invariant of C | |
I2 | second principal invariant of C |
Implements AbstractIsotropicIncompressibleMaterialLaw< DIM >.
Definition at line 92 of file ExponentialMaterialLaw.cpp.
double ExponentialMaterialLaw< DIM >::GetA | ( | ) | [inline] |
Get method for mA.
Definition at line 44 of file ExponentialMaterialLaw.cpp.
References ExponentialMaterialLaw< DIM >::mA.
double ExponentialMaterialLaw< DIM >::GetB | ( | ) | [inline] |
Get method for mB.
Definition at line 50 of file ExponentialMaterialLaw.cpp.
References ExponentialMaterialLaw< DIM >::mB.
double ExponentialMaterialLaw< DIM >::mA [private] |
Parameter a.
Definition at line 60 of file ExponentialMaterialLaw.hpp.
Referenced by ExponentialMaterialLaw< DIM >::Get_d2W_dI1(), ExponentialMaterialLaw< DIM >::Get_dW_dI1(), and ExponentialMaterialLaw< DIM >::GetA().
double ExponentialMaterialLaw< DIM >::mB [private] |
Parameter b.
Definition at line 63 of file ExponentialMaterialLaw.hpp.
Referenced by ExponentialMaterialLaw< DIM >::Get_d2W_dI1(), ExponentialMaterialLaw< DIM >::Get_dW_dI1(), and ExponentialMaterialLaw< DIM >::GetB().