conspire/constitutive/multiphysics/solid_thermal/thermohyperelastic_thermal_conduction/canonical/
mod.rs1#[cfg(test)]
2mod test;
3
4use crate::{
5 constitutive::{
6 ConstitutiveError,
7 multiphysics::{Canonical, SolidThermal},
8 solid::thermohyperelastic::Thermohyperelastic,
9 thermal::conduction::ThermalConduction,
10 },
11 math::Quantity,
12 mechanics::DeformationGradient,
13 units::{EnergyDensity, Temperature},
14};
15
16impl<C1, C2> Thermohyperelastic for Canonical<C1, C2>
17where
18 C1: Thermohyperelastic,
19 C2: ThermalConduction,
20{
21 fn helmholtz_free_energy_density(
22 &self,
23 deformation_gradient: &DeformationGradient,
24 temperature: Quantity<Temperature>,
25 ) -> Result<Quantity<EnergyDensity>, ConstitutiveError> {
26 self.solid_constitutive_model()
27 .helmholtz_free_energy_density(deformation_gradient, temperature)
28 }
29}