conspire/domain/block/element/solid/viscoelastic/
mod.rs1use crate::{
2 constitutive::solid::viscoelastic::Viscoelastic, domain::block::element::solid::SolidElement,
3};
4
5pub trait ViscoelasticElement<C>
6where
7 C: Viscoelastic,
8 Self: SolidElement,
9{
10 type Forces;
11 type Dampings;
12 type Error;
13 fn nodal_forces(
14 &self,
15 constitutive_model: &C,
16 nodal_coordinates: &Self::Coordinates,
17 nodal_velocities: &Self::Velocities,
18 ) -> Result<Self::Forces, Self::Error>;
19 fn nodal_stiffnesses(
20 &self,
21 constitutive_model: &C,
22 nodal_coordinates: &Self::Coordinates,
23 nodal_velocities: &Self::Velocities,
24 ) -> Result<Self::Dampings, Self::Error>;
25}