Skip to main content

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

1use crate::{constitutive::solid::elastic::Elastic, domain::block::element::solid::SolidElement};
2
3pub trait ElasticElement<C>
4where
5    C: Elastic,
6    Self: SolidElement,
7{
8    type Forces;
9    type Stiffnesses;
10    type Error;
11    fn nodal_forces(
12        &self,
13        constitutive_model: &C,
14        nodal_coordinates: &Self::Coordinates,
15    ) -> Result<Self::Forces, Self::Error>;
16    fn nodal_stiffnesses(
17        &self,
18        constitutive_model: &C,
19        nodal_coordinates: &Self::Coordinates,
20    ) -> Result<Self::Stiffnesses, Self::Error>;
21}