Skip to main content

conspire/domain/block/element/solid/
mod.rs

1pub(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}