Skip to main content

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

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