|
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 () |
|
| AbstractIncompressibleMaterialLaw () |
|
virtual | ~AbstractIncompressibleMaterialLaw () |
|
| 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 () |
|
|
virtual double | Get_dW_dI1 (double I1, double I2)=0 |
|
virtual double | Get_dW_dI2 (double I1, double I2)=0 |
|
virtual double | Get_d2W_dI1 (double I1, double I2)=0 |
|
virtual double | Get_d2W_dI2 (double I1, double I2)=0 |
|
virtual double | Get_d2W_dI1I2 (double I1, double I2)=0 |
|
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) |
|
template<unsigned DIM>
class AbstractIsotropicIncompressibleMaterialLaw< DIM >
AbstractIsotropicIncompressibleMaterialLaw
An isotropic incompressible hyperelastic material law for finite elastiticy
The law is given by a strain energy function W(I1,I2,I3), where 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)). Since it is incompressible, the full strain energy has the form W^{full} = W(I_1,I_2) - p/2 C^{-1}
Note: only dimension equals 2 or 3 should be permitted.
Definition at line 55 of file AbstractIsotropicIncompressibleMaterialLaw.hpp.
template<unsigned DIM>
void AbstractIsotropicIncompressibleMaterialLaw< DIM >::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 |
Compute the (2nd Piola Kirchoff) stress T and the stress derivative dT/dE for a given strain.
NOTE: the strain E is not expected to be passed in, instead the Lagrangian deformation tensor C is required (recall, E = 0.5(C-I)
dT/dE is a fourth-order tensor, where dT/dE(M,N,P,Q) = dT^{MN}/dE_{PQ}
- Parameters
-
rC | The Lagrangian deformation tensor (F^T F) |
rInvC | The inverse of C. Should be computed by the user. (Change this?) |
pressure | the current pressure |
rT | the stress will be returned in this parameter |
rDTdE | the stress derivative will be returned in this parameter, assuming the final parameter is true |
computeDTdE | a boolean flag saying whether the stress derivative is required or not. |
This is the implemtation for an isotropic material law, so the stress etc is computed by calling methods returning dW/dI1, dW/dI2 etc.
Implements AbstractMaterialLaw< DIM >.
Definition at line 44 of file AbstractIsotropicIncompressibleMaterialLaw.cpp.
References SecondInvariant(), and Trace().