Solid
Solid constitutive models.
- Elastic – Elastic constitutive models.
- Hyperelastic – Hyperelastic constitutive models.
Functions
Conspire.cauchy_stress
— Functioncauchy_stress(model::AlmansiHamel, F) -> Matrix{Float64}
\[\boldsymbol{\sigma}(\mathbf{F}) = \frac{2\mu}{J}\,\mathbf{e}' + \frac{\kappa}{J}\,\mathrm{tr}(\mathbf{e})\mathbf{1}\]
cauchy_stress(model::ArrudaBoyce, F) -> Matrix{Float64}
\[\boldsymbol{\sigma}(\mathbf{F}) = \frac{\mu\gamma_0\eta}{J\gamma\eta_0}\,{\mathbf{B}^*}' + \frac{\kappa}{2}\left(J - \frac{1}{J}\right)\mathbf{1}\]
cauchy_stress(model::Fung, F) -> Matrix{Float64}
\[\boldsymbol{\sigma}(\mathbf{F}) = \frac{1}{J}\left[\mu + \mu_m\left(e^{c[\mathrm{tr}(\mathbf{B}^* ) - 3]} - 1\right)\right]{\mathbf{B}^* }' + \frac{\kappa}{2}\left(J - \frac{1}{J}\right)\mathbf{1}\]
cauchy_stress(model::Gent, F) -> Matrix{Float64}
\[\boldsymbol{\sigma}(\mathbf{F}) = \frac{J^{-1}\mu J_m {\mathbf{B}^* }'}{J_m - \mathrm{tr}(\mathbf{B}^* ) + 3} + \frac{\kappa}{2}\left(J - \frac{1}{J}\right)\mathbf{1}\]
cauchy_stress(model::MooneyRivlin, F) -> Matrix{Float64}
\[\boldsymbol{\sigma}(\mathbf{F}) = \frac{\mu - \mu_m}{J}\, {\mathbf{B}^* }' - \frac{\mu_m}{J}\left(\mathbf{B}^{* -1}\right)' + \frac{\kappa}{2}\left(J - \frac{1}{J}\right)\mathbf{1}\]
cauchy_stress(model::NeoHookean, F) -> Matrix{Float64}
\[\boldsymbol{\sigma}(\mathbf{F}) = \frac{\mu}{J}\,{\mathbf{B}^*}' + \frac{\kappa}{2}\left(J - \frac{1}{J}\right)\mathbf{1}\]
cauchy_stress(
model::SaintVenantKirchhoff,
F
) -> Matrix{Float64}
Conspire.cauchy_tangent_stiffness
— Functioncauchy_tangent_stiffness(
model::AlmansiHamel,
F
) -> Array{Float64, 4}
\[\mathcal{T}_{ijkL}(\mathbf{F}) = \frac{\mu}{J}\left[B_{jk}^{-1}F_{iL}^{-T} + B_{ik}^{-1}F_{jL}^{-T} - \frac{2}{3}\,\delta_{ij}B_{km}^{-1}F_{mL}^{-T} - 2e_{ij}'F_{kL}^{-T}\right] + \frac{\kappa}{J}\left[\delta_{ij}B_{km}^{-1}F_{mL}^{-T} - \mathrm{tr}(\mathbf{e})\delta_{ij}F_{kL}^{-T}\right]\]
cauchy_tangent_stiffness(
model::ArrudaBoyce,
F
) -> Array{Float64, 4}
\[\mathcal{T}_{ijkL}(\mathbf{F}) =\, \frac{\mu\gamma_0\eta}{J^{5/3}\gamma\eta_0}\left(\delta_{ik}F_{jL} + \delta_{jk}F_{iL} - \frac{2}{3}\,\delta_{ij}F_{kL}- \frac{5}{3} \, B_{ij}'F_{kL}^{-T} \right)+ \frac{\mu\gamma_0\eta}{3J^{7/3}N_b\gamma^2\eta_0}\left(\frac{1}{\eta\mathcal{L}'(\eta)} - \frac{1}{\gamma}\right)B_{ij}'B_{km}'F_{mL}^{-T} + \frac{\kappa}{2} \left(J + \frac{1}{J}\right)\delta_{ij}F_{kL}^{-T}\]
cauchy_tangent_stiffness(
model::Fung,
F
) -> Array{Float64, 4}
\[\mathcal{T}_{ijkL}(\mathbf{F}) =\, \frac{1}{J^{5/3}}\left[\mu + \mu_m\left(e^{c[\mathrm{tr}(\mathbf{B}^* ) - 3]} - 1\right)\right]\left(\delta_{ik}F_{jL} + \delta_{jk}F_{iL} - \frac{2}{3}\,\delta_{ij}F_{kL} - \frac{5}{3} \, B_{ij}'F_{kL}^{-T} \right)+ \frac{2c\mu_m}{J^{7/3}}\,e^{c[\mathrm{tr}(\mathbf{B}^* ) - 3]}B_{ij}'B_{km}'F_{mL}^{-T} + \frac{\kappa}{2} \left(J + \frac{1}{J}\right)\delta_{ij}F_{kL}^{-T}\]
cauchy_tangent_stiffness(
model::Gent,
F
) -> Array{Float64, 4}
\[\mathcal{T}_{ijkL}(\mathbf{F}) =\, \frac{J^{-5/3}\mu J_m}{J_m - \mathrm{tr}(\mathbf{B}^* ) + 3}\Bigg[\delta_{ik}F_{jL} + \delta_{jk}F_{iL} - \frac{2}{3}\,\delta_{ij}F_{kL} + \frac{2{B_{ij}^* }' F_{kL}}{J_m - \mathrm{tr}(\mathbf{B}^* ) + 3}- \left(\frac{5}{3} + \frac{2}{3}\frac{\mathrm{tr}(\mathbf{B}^* )}{J_m - \mathrm{tr}(\mathbf{B}^* ) + 3}\right) J^{2/3} {B_{ij}^* }' F_{kL}^{-T} \Bigg] + \frac{\kappa}{2} \left(J + \frac{1}{J}\right)\delta_{ij}F_{kL}^{-T}\]
cauchy_tangent_stiffness(
model::MooneyRivlin,
F
) -> Array{Float64, 4}
\[\mathcal{T}_{ijkL}(\mathbf{F}) =\, \frac{\mu-\mu_m}{J^{5/3}}\left(\delta_{ik}F_{jL} + \delta_{jk}F_{iL} - \frac{2}{3}\,\delta_{ij}F_{kL}- \frac{5}{3} \, B_{ij}'F_{kL}^{-T} \right)+ \frac{\kappa}{2} \left(J + \frac{1}{J}\right)\delta_{ij}F_{kL}^{-T}- \frac{\mu_m}{J}\left[ \frac{2}{3}\,B_{ij}^{* -1}F_{kL}^{-T} - B_{ik}^{* -1}F_{jL}^{-T} - B_{ik}^{* -1}F_{iL}^{-T} + \frac{2}{3}\,\delta_{ij}\left(B_{km}^{* -1}\right)'F_{mL}^{-T} - \left(B_{ij}^{* -1}\right)'F_{kL}^{-T} \right]\]
cauchy_tangent_stiffness(
model::NeoHookean,
F
) -> Array{Float64, 4}
\[\mathcal{T}_{ijkL}(\mathbf{F}) = \frac{\mu}{J^{5/3}}\left(\delta_{ik}F_{jL} + \delta_{jk}F_{iL} - \frac{2}{3}\,\delta_{ij}F_{kL} - \frac{5}{3} \, B_{ij}'F_{kL}^{-T} \right) + \frac{\kappa}{2} \left(J + \frac{1}{J}\right)\delta_{ij}F_{kL}^{-T}\]
cauchy_tangent_stiffness(
model::SaintVenantKirchhoff,
F
) -> Array{Float64, 4}
Conspire.first_piola_kirchhoff_stress
— Functionfirst_piola_kirchhoff_stress(
model::AlmansiHamel,
F
) -> Matrix{Float64}
first_piola_kirchhoff_stress(
model::ArrudaBoyce,
F
) -> Matrix{Float64}
first_piola_kirchhoff_stress(
model::Fung,
F
) -> Matrix{Float64}
first_piola_kirchhoff_stress(
model::Gent,
F
) -> Matrix{Float64}
first_piola_kirchhoff_stress(
model::MooneyRivlin,
F
) -> Matrix{Float64}
first_piola_kirchhoff_stress(
model::NeoHookean,
F
) -> Matrix{Float64}
first_piola_kirchhoff_stress(
model::SaintVenantKirchhoff,
F
) -> Matrix{Float64}
Conspire.first_piola_kirchhoff_tangent_stiffness
— Functionfirst_piola_kirchhoff_tangent_stiffness(
model::AlmansiHamel,
F
) -> Array{Float64, 4}
first_piola_kirchhoff_tangent_stiffness(
model::ArrudaBoyce,
F
) -> Array{Float64, 4}
first_piola_kirchhoff_tangent_stiffness(
model::Fung,
F
) -> Array{Float64, 4}
first_piola_kirchhoff_tangent_stiffness(
model::Gent,
F
) -> Array{Float64, 4}
first_piola_kirchhoff_tangent_stiffness(
model::MooneyRivlin,
F
) -> Array{Float64, 4}
first_piola_kirchhoff_tangent_stiffness(
model::NeoHookean,
F
) -> Array{Float64, 4}
first_piola_kirchhoff_tangent_stiffness(
model::SaintVenantKirchhoff,
F
) -> Array{Float64, 4}
Conspire.second_piola_kirchhoff_stress
— Functionsecond_piola_kirchhoff_stress(
model::AlmansiHamel,
F
) -> Matrix{Float64}
second_piola_kirchhoff_stress(
model::ArrudaBoyce,
F
) -> Matrix{Float64}
second_piola_kirchhoff_stress(
model::Fung,
F
) -> Matrix{Float64}
second_piola_kirchhoff_stress(
model::Gent,
F
) -> Matrix{Float64}
second_piola_kirchhoff_stress(
model::MooneyRivlin,
F
) -> Matrix{Float64}
second_piola_kirchhoff_stress(
model::NeoHookean,
F
) -> Matrix{Float64}
second_piola_kirchhoff_stress(
model::SaintVenantKirchhoff,
F
) -> Matrix{Float64}
\[\mathbf{S}(\mathbf{F}) = 2\mu\mathbf{E}' + \kappa\,\mathrm{tr}(\mathbf{E})\mathbf{1}\]
Conspire.second_piola_kirchhoff_tangent_stiffness
— Functionsecond_piola_kirchhoff_tangent_stiffness(
model::AlmansiHamel,
F
) -> Array{Float64, 4}
second_piola_kirchhoff_tangent_stiffness(
model::ArrudaBoyce,
F
) -> Array{Float64, 4}
second_piola_kirchhoff_tangent_stiffness(
model::Fung,
F
) -> Array{Float64, 4}
second_piola_kirchhoff_tangent_stiffness(
model::Gent,
F
) -> Array{Float64, 4}
second_piola_kirchhoff_tangent_stiffness(
model::MooneyRivlin,
F
) -> Array{Float64, 4}
second_piola_kirchhoff_tangent_stiffness(
model::NeoHookean,
F
) -> Array{Float64, 4}
second_piola_kirchhoff_tangent_stiffness(
model::SaintVenantKirchhoff,
F
) -> Array{Float64, 4}
\[\mathcal{G}_{IJkL}(\mathbf{F}) = \mu\,\delta_{JL}F_{kI} + \mu\,\delta_{IL}F_{kJ} + \left(\kappa - \frac{2}{3}\,\mu\right)\delta_{IJ}F_{kL}\]