3 #include <funcy/examples/volumetric_penalty_functions.h> 4 #include <funcy/funcy.h> 17 template < linalg::Matrix Mat,
int n = linalg::dim< Mat >() >
18 auto generate_incompressible_muscle_tissue_martins(
double c,
double b,
double d,
double e,
19 const Mat& A,
const Mat& F )
21 using namespace linalg;
23 auto si1 = mi1< Mat, n >( S() ) - n;
24 auto si6 = mi6< Mat, Mat, n >( S(), A ) - 1;
26 auto f = c * (
exp( b * si1 ) - 1 ) + d * (
exp( e *
squared( si6 ) ) - 1 );
51 template < linalg::Matrix Mat,
int offset = linalg::dim< Mat >() >
55 return finalize( detail::generate_incompressible_muscle_tissue_martins< Mat, offset >(
76 template < linalg::Matrix Mat,
int offset = linalg::dim< Mat >() >
79 return incompressible_muscle_tissue_martins< Mat, offset >( 0.387, 23.46, 0.584, 12.43, A,
103 template <
class Inflation,
class Compression,
linalg::Matrix Mat,
104 int offset = linalg::dim< Mat >() >
106 double d1,
const Mat& M,
const Mat& F )
108 return finalize( detail::generate_incompressible_muscle_tissue_martins< Mat, offset >(
110 volumetric_penalty< Inflation, Compression >( d0, d1, F ) );
133 template <
class Inflation,
class Compression,
linalg::Matrix Mat,
134 int offset = linalg::dim< Mat >() >
137 return compressible_muscle_tissue_martins< Inflation, Compression, Mat, offset >(
138 0.387, 23.46, 0.584, 12.43, d0, d1, M, F );
auto strain_tensor(const Mat &A)
Generate the right Cauchy-Green strain tensor .
Definition: strain_tensor.h:122
concept Matrix
clang-format off
Definition: concepts.h:63
auto exp(const F &f)
Generate .
Definition: exp.h:117
Main namespace of the funcy library.
auto finalize(F &&f) requires(static_check
Finish function definition.
Definition: finalize.h:248
auto compressible_muscle_tissue_martins(double c, double b, double A, double a, double d0, double d1, const Mat &M, const Mat &F)
Compressible version of the model for muscle tissue of .
Definition: muscle_tissue_martins.h:105
auto squared(F &&f)
Generate squared function.
Definition: generate.h:156
auto incompressible_muscle_tissue_martins(double c, double b, double d, double e, const Mat &A, const Mat &F)
Incompressible version of the model for muscle tissue of .
Definition: muscle_tissue_martins.h:52