21 #ifndef RFFGEN_MOONEY_RIVLIN_HH
22 #define RFFGEN_MOONEY_RIVLIN_HH
26 #include "../../identity.hh"
27 #include "../../LinearAlgebra/strainTensor.hh"
28 #include "../../LinearAlgebra/unitMatrix.hh"
29 #include "../../LinearAlgebra/principalInvariants.hh"
30 #include "../../generate.hh"
44 template <
class Matrix ,
int offset = LinearAlgebra::dimension<Matrix>() >
47 using namespace LinearAlgebra;
48 using I1 = ShiftedFirstPrincipalInvariant<Matrix,offset>;
49 using I2 = ShiftedSecondPrincipalInvariant<Matrix,offset>;
51 return ( c0*I1() + c1*I2() ) << LeftCauchyGreenStrainTensor<Matrix>(F);
60 template <
class InflationPenalty,
class CompressionPenalty,
class Matrix ,
int offset = LinearAlgebra::dimension<Matrix>() >
63 using namespace LinearAlgebra;
64 using I1 = ShiftedFirstPrincipalInvariant<Matrix,offset>;
65 using I2 = ShiftedSecondPrincipalInvariant<Matrix,offset>;
67 return ( ( c0*I1() + c1*I2() ) << LeftCauchyGreenStrainTensor<Matrix>(F) ) + volumetricPenalty<InflationPenalty,CompressionPenalty>(d0,d1,F);
131 #endif // RFFGEN_MOONEY_RIVLIN_HH
auto compressibleMooneyRivlin(double c0, double c1, double d0, double d1, const Matrix &F)
Generate a compressible Mooney-Rivlin material law , where is the first and the second principal ma...
Definition: mooneyRivlin.hh:61
auto incompressibleMooneyRivlin(double c0, double c1, const Matrix &F)
Generate an "incompressible" Mooney-Rivlin material law , where is the first and the second princip...
Definition: mooneyRivlin.hh:45