Skip to main content

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

1use 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}