conspire/domain/block/element/solid/elastic/
mod.rs1use 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}