conspire/domain/block/element/solid/
mod.rs1pub(crate) mod elastic;
2#[cfg_attr(not(any(feature = "fem", feature = "vem")), allow(dead_code))]
3pub(crate) mod elastic_hyperviscous;
4#[cfg_attr(not(any(feature = "fem", feature = "vem")), allow(dead_code))]
5pub(crate) mod elastic_viscoplastic;
6#[cfg_attr(not(any(feature = "fem", feature = "vem")), allow(dead_code))]
7pub(crate) mod hyperelastic;
8#[cfg_attr(not(any(feature = "fem", feature = "vem")), allow(dead_code))]
9pub(crate) mod hyperelastic_viscoplastic;
10#[cfg_attr(not(any(feature = "fem", feature = "vem")), allow(dead_code))]
11pub(crate) mod hyperviscoelastic;
12#[cfg_attr(not(any(feature = "fem", feature = "vem")), allow(dead_code))]
13pub(crate) mod viscoelastic;
14#[cfg_attr(not(any(feature = "fem", feature = "vem")), allow(dead_code))]
15pub(crate) mod viscoplastic;
16
17pub trait SolidElement {
18 type Coordinates;
19 type Velocities;
20 type DeformationGradients;
21 type DeformationGradientRates;
22 fn deformation_gradients(
23 &self,
24 nodal_coordinates: &Self::Coordinates,
25 ) -> Self::DeformationGradients;
26 fn deformation_gradient_rates(
27 &self,
28 nodal_coordinates: &Self::Coordinates,
29 nodal_velocities: &Self::Velocities,
30 ) -> Self::DeformationGradientRates;
31}