conspire/constitutive/hybrid/hyperelastic/additive/
mod.rs1#[cfg(test)]
2mod test;
3
4use crate::{
5 constitutive::{ConstitutiveError, hybrid::ElasticAdditive, solid::hyperelastic::Hyperelastic},
6 math::Quantity,
7 mechanics::DeformationGradient,
8 units::EnergyDensity,
9};
10
11impl<C1, C2> Hyperelastic for ElasticAdditive<C1, C2>
12where
13 C1: Hyperelastic,
14 C2: Hyperelastic,
15{
16 fn helmholtz_free_energy_density(
22 &self,
23 deformation_gradient: &DeformationGradient,
24 ) -> Result<Quantity<EnergyDensity>, ConstitutiveError> {
25 Ok(self.0.helmholtz_free_energy_density(deformation_gradient)?
26 + self.1.helmholtz_free_energy_density(deformation_gradient)?)
27 }
28}