conspire/constitutive/solid/hyperviscoelastic/canonical/
mod.rs1#[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}