conspire/domain/block/element/solid/elastic_hyperviscous/
mod.rs1use crate::{
2 constitutive::solid::elastic_hyperviscous::ElasticHyperviscous,
3 domain::block::element::solid::viscoelastic::ViscoelasticElement, math::Quantity, units::Power,
4};
5
6pub trait ElasticHyperviscousElement<C>
7where
8 C: ElasticHyperviscous,
9 Self: ViscoelasticElement<C>,
10{
11 fn viscous_dissipation(
12 &self,
13 constitutive_model: &C,
14 nodal_coordinates: &Self::Coordinates,
15 nodal_velocities: &Self::Velocities,
16 ) -> Result<Quantity<Power>, Self::Error>;
17 fn dissipation_potential(
18 &self,
19 constitutive_model: &C,
20 nodal_coordinates: &Self::Coordinates,
21 nodal_velocities: &Self::Velocities,
22 ) -> Result<Quantity<Power>, Self::Error>;
23}