21 #ifndef RFFGEN_MUSCLE_TISSUE_MARTINS_HH
22 #define RFFGEN_MUSCLE_TISSUE_MARTINS_HH
24 #include "../../LinearAlgebra/modifiedPrincipalInvariants.hh"
25 #include "../../LinearAlgebra/modifiedMixedInvariants.hh"
26 #include "../../LinearAlgebra/strainTensor.hh"
27 #include "../../LinearAlgebra/tensorProduct.hh"
28 #include "../../CMath/exp.hh"
29 #include "../volumetricPenaltyFunctions.hh"
30 #include "../../generate.hh"
43 namespace MuscleTissueDetail
45 template <
class Matrix ,
int offset = LinearAlgebra::dimension<Matrix>() >
46 auto generateIncompressibleMuscleTissue_Martins(
double c,
double b,
double A,
double a,
const Matrix& M,
const Matrix& F )
49 using namespace LinearAlgebra;
50 auto i1 = ShiftedFirstModifiedPrincipalInvariant<Matrix,offset>();
51 auto i6 = ShiftedThirdModifiedMixedInvariant<Matrix>(F,M);
53 return ( c * ( exp( b * i1 ) - 1 ) +
54 A * ( exp( a * ( i6^2 ) ) - 1 )
55 ) << LeftCauchyGreenStrainTensor<Matrix>(F);
77 template <
class Matrix ,
int offset = LinearAlgebra::dimension<Matrix>()>
80 return MuscleTissueDetail::generateIncompressibleMuscleTissue_Martins<Matrix,offset>(c,b,A,a,M,F);
97 template <
class Matrix ,
int offset = LinearAlgebra::dimension<Matrix>()>
100 return incompressibleMuscleTissue_Martins<Matrix,offset>(0.387, 23.46, 0.584, 12.43, M, F);
120 template <
class Inflation ,
class Compression ,
class Matrix ,
int offset = LinearAlgebra::dimension<Matrix>()>
123 return MuscleTissueDetail::generateIncompressibleMuscleTissue_Martins<Matrix,offset>(c,b,A,a,M,F) + volumetricPenalty<Inflation,Compression>(d0,d1,F);
142 template <
class Inflation ,
class Compression ,
class Matrix ,
int offset = LinearAlgebra::dimension<Matrix>()>
145 return compressibleMuscleTissue_Martins<Inflation,Compression,Matrix,offset>(0.387, 23.46, 0.584, 12.43, d0, d1, M, F);
149 #endif // RFFGEN_MUSCLE_TISSUE_MARTINS_HH
auto compressibleMuscleTissue_Martins(double c, double b, double A, double a, double d0, double d1, const Matrix &M, const Matrix &F)
Compressible version of the model for muscle tissue of Martins et al.: A numerical model of passive a...
Definition: muscleTissue_Martins.hh:121
auto incompressibleMuscleTissue_Martins(double c, double b, double A, double a, const Matrix &M, const Matrix &F)
Incompressible version of the model for muscle tissue of Martins et al.: A numerical model of passive...
Definition: muscleTissue_Martins.hh:78