conspire/constitutive/solid/
mod.rs1pub mod elastic;
4pub mod elastic_hyperviscous;
5pub mod hyperelastic;
6pub mod hyperviscoelastic;
7pub mod thermoelastic;
8pub mod thermohyperelastic;
9pub mod viscoelastic;
10
11const TWO_THIRDS: Scalar = 2.0 / 3.0;
12const FIVE_THIRDS: Scalar = 5.0 / 3.0;
13
14use super::{Constitutive, Parameters};
15use crate::{
16 constitutive::ConstitutiveError,
17 math::{
18 ContractFirstSecondIndicesWithSecondIndicesOf, ContractSecondIndexWithFirstIndexOf,
19 IDENTITY, IDENTITY_00, Rank2, Tensor, TensorArray, ZERO_10,
20 },
21 mechanics::{
22 CauchyRateTangentStiffness, CauchyStress, CauchyTangentStiffness, Deformation,
23 DeformationGradient, DeformationGradientRate, DeformationGradientRates,
24 DeformationGradients, FirstPiolaKirchhoffRateTangentStiffness, FirstPiolaKirchhoffStress,
25 FirstPiolaKirchhoffTangentStiffness, Scalar, SecondPiolaKirchhoffRateTangentStiffness,
26 SecondPiolaKirchhoffStress, SecondPiolaKirchhoffTangentStiffness, Times,
27 },
28};
29
30pub trait Solid {
32 fn bulk_modulus(&self) -> &Scalar;
34 fn shear_modulus(&self) -> &Scalar;
36}