Skip to main content

conspire/constitutive/solid/hyperviscoelastic/canonical/
mod.rs

1#[cfg(test)]
2mod test;
3
4use crate::{
5    constitutive::{
6        ConstitutiveError,
7        canonical::Canonical,
8        fluid::hyperviscous::Hyperviscous,
9        solid::{hyperelastic::Hyperelastic, hyperviscoelastic::Hyperviscoelastic},
10    },
11    math::Quantity,
12    mechanics::DeformationGradient,
13    units::EnergyDensity,
14};
15
16impl<C1, C2> Hyperviscoelastic for Canonical<C1, C2>
17where
18    C1: Hyperelastic,
19    C2: Hyperviscous,
20{
21    fn helmholtz_free_energy_density(
22        &self,
23        deformation_gradient: &DeformationGradient,
24    ) -> Result<Quantity<EnergyDensity>, ConstitutiveError> {
25        self.0.helmholtz_free_energy_density(deformation_gradient)
26    }
27}