conspire/constitutive/solid/hyperelastic_viscoplastic/
mod.rs

1//! Hyperelastic-viscoplastic constitutive models.
2
3mod hencky;
4mod saint_venant_kirchhoff;
5
6pub use hencky::Hencky;
7pub use saint_venant_kirchhoff::SaintVenantKirchhoff;
8
9use crate::{
10    constitutive::{ConstitutiveError, solid::elastic_viscoplastic::ElasticViscoplastic},
11    mechanics::{DeformationGradient, DeformationGradientPlastic, Scalar},
12};
13
14/// Required methods for hyperelastic-viscoplastic constitutive models.
15pub trait HyperelasticViscoplastic
16where
17    Self: ElasticViscoplastic,
18{
19    /// Calculates and returns the Helmholtz free energy density.
20    ///
21    /// ```math
22    /// a = a(\mathbf{F}_\mathrm{e})
23    /// ```
24    fn helmholtz_free_energy_density(
25        &self,
26        deformation_gradient: &DeformationGradient,
27        deformation_gradient_p: &DeformationGradientPlastic,
28    ) -> Result<Scalar, ConstitutiveError>;
29}