Skip to main content

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

1use crate::{
2    constitutive::solid::hyperviscoelastic::Hyperviscoelastic,
3    domain::block::element::solid::elastic_hyperviscous::ElasticHyperviscousElement,
4    math::Quantity, units::Energy,
5};
6
7pub trait HyperviscoelasticElement<C>
8where
9    C: Hyperviscoelastic,
10    Self: ElasticHyperviscousElement<C>,
11{
12    fn helmholtz_free_energy(
13        &self,
14        constitutive_model: &C,
15        nodal_coordinates: &Self::Coordinates,
16    ) -> Result<Quantity<Energy>, Self::Error>;
17}