funcy  1.6.1
Rubber

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

Collaboration diagram for Rubber:

## 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).

## ◆ 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
 lambda first Lame constant mu second 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
 E Young's modulus nu Poisson ratio