funcy  1.6.0
Functions
Rubber

Isotropic models for the description of rubber materials (neo-Hookean and Mooney-Rivlin models). More...

Functions

template<linalg::Matrix Mat, int n = linalg::dim< Mat >()>
auto funcy::incompressible_mooney_rivlin (double c0, double c1, const Mat &F)
 Generate an "incompressible" Mooney-Rivlin material law \( W(F)=c_0\iota_1(F^T F) + c_1\iota_2(F^T F) \), where \(\iota_1\) is the first and \(\iota_2\) the second principal matrix invariant.
 
template<class InflationPenalty , class CompressionPenalty , linalg::Matrix Mat, int n = linalg::dim< Mat >()>
auto funcy::compressible_mooney_rivlin (double c0, double c1, double d0, double d1, const Mat &F)
 Generate a compressible Mooney-Rivlin material law \( W(F)=c_0\iota_1(F^T F) + c_1\iota_2(F^T F) + d_0\Gamma_\mathrm{In}(\det(F))+d_1\Gamma_\mathrm{Co}(\det(F)) \), where \(\iota_1\) is the first and \(\iota_2\) the second principal matrix invariant.
 
template<linalg::Matrix Mat, class InflationPenalty , class CompressionPenalty >
auto funcy::create_mooney_rivlin_from_lame_constants (double lambda, double mu)
 Generate a compressible Mooney-Rivlin material law \( W(F)=c_0\iota_1(F^T F) + c_1\iota_2(F^T F) + d_0\Gamma_\mathrm{In}(\det(F))+d_1\Gamma_\mathrm{Co}(\det(F)) \), where \(\iota_1\) is the first and \(\iota_2\) the second principal matrix invariant. The parameters \(c_0,c_1,d_0,d_1\) are chosen such that for \(F\rightarrow I\) the model asymptotically yields Hooke's model of linearized elasticity with Lam\'e constants \(\lambda,\mu\). Here \(I\) denotes the unit matrix. More...
 
template<linalg::Matrix Mat, class InflationPenalty , class CompressionPenalty >
auto funcy::create_mooney_rivlin_from_material_constants (double E, double nu)
 Generate a compressible Mooney-Rivlin material law \( W(F)=c_0\iota_1(F^T F) + c_1\iota_2(F^T F) + d_0\Gamma_\mathrm{In}(\det(F))+d_1\Gamma_\mathrm{Co}(\det(F)) \), where \(\iota_1\) is the first and \(\iota_2\) the second principal matrix invariant. The parameters \(c_0,c_1,d_0,d_1\) are chosen such that for \(F\rightarrow I\) the model asymptotically yields Hooke's model of linearized elasticity with Young's modulus \(E\) and Poisson ratio \(\nu\). Here \(I\) denotes the unit matrix. More...
 
template<linalg::Matrix M, int n = linalg::dim< M >()>
auto funcy::incompressible_neo_hooke (double c, const M &F)
 Generate an "incompressible" neo-Hookean material law \( W(F)=c\iota_1(F^T F) \), where \(\iota_1\) is the first principal matrix invariant .
 
template<linalg::Matrix M, int n = linalg::dim< M >()>
auto funcy::modified_incompressible_neo_hooke (double c, const M &F)
 Generate an "incompressible" neo-Hookean material law \( W(F)=c\bar\iota_1(F^T F) \), where \(\bar\iota_1\) is the modified first principal matrix invariant.
 
template<class InflationPenalty , class CompressionPenalty , linalg::Matrix M, int n = linalg::dim< M >()>
auto funcy::compressible_neo_hooke (double c, double d0, double d1, const M &F)
 Generate a compressible neo-Hookean material law \( W(F)=c\iota_1(F^T F)+d_0\Gamma_\mathrm{In}(\det(F))+d_1\Gamma_\mathrm{Co}(\det(F)) \), where \(\iota_1\) is the first principal matrix invariant.
 
template<class InflationPenalty , class CompressionPenalty , linalg::Matrix M, int n = linalg::dim< M >()>
auto funcy::modified_compressible_neo_hooke (double c, double d0, double d1, const M &F)
 Generate a compressible neo-Hookean material law \( W(F)=c\bar\iota_1(F^T F)+d_0\Gamma_\mathrm{In}(\det(F))+d_1\Gamma_\mathrm{Co}(\det(F)) \), where \(\bar\iota_1\) is the modified first principal matrix invariant.
 

Detailed Description

Isotropic models for the description of rubber materials (neo-Hookean and Mooney-Rivlin models).

Function Documentation

§ create_mooney_rivlin_from_lame_constants()

template<linalg::Matrix Mat, class InflationPenalty , class CompressionPenalty >
auto funcy::create_mooney_rivlin_from_lame_constants ( double  lambda,
double  mu 
)

Generate a compressible Mooney-Rivlin material law \( W(F)=c_0\iota_1(F^T F) + c_1\iota_2(F^T F) + d_0\Gamma_\mathrm{In}(\det(F))+d_1\Gamma_\mathrm{Co}(\det(F)) \), where \(\iota_1\) is the first and \(\iota_2\) the second principal matrix invariant. The parameters \(c_0,c_1,d_0,d_1\) are chosen such that for \(F\rightarrow I\) the model asymptotically yields Hooke's model of linearized elasticity with Lam\'e constants \(\lambda,\mu\). Here \(I\) denotes the unit matrix.

Parameters
lambdafirst Lame constant
musecond Lame constant

§ create_mooney_rivlin_from_material_constants()

template<linalg::Matrix Mat, class InflationPenalty , class CompressionPenalty >
auto funcy::create_mooney_rivlin_from_material_constants ( double  E,
double  nu 
)

Generate a compressible Mooney-Rivlin material law \( W(F)=c_0\iota_1(F^T F) + c_1\iota_2(F^T F) + d_0\Gamma_\mathrm{In}(\det(F))+d_1\Gamma_\mathrm{Co}(\det(F)) \), where \(\iota_1\) is the first and \(\iota_2\) the second principal matrix invariant. The parameters \(c_0,c_1,d_0,d_1\) are chosen such that for \(F\rightarrow I\) the model asymptotically yields Hooke's model of linearized elasticity with Young's modulus \(E\) and Poisson ratio \(\nu\). Here \(I\) denotes the unit matrix.

Parameters
EYoung's modulus
nuPoisson ratio