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