conspire/constitutive/thermal/conduction/
mod.rs

1//! Thermal conduction constitutive models.
2
3#[cfg(test)]
4pub mod test;
5
6mod fourier;
7
8use crate::{
9    constitutive::{ConstitutiveError, thermal::Thermal},
10    mechanics::{HeatFlux, HeatFluxTangent, Scalar, TemperatureGradient},
11};
12
13pub use fourier::Fourier;
14
15/// Required methods for thermal conduction constitutive models.
16pub trait ThermalConduction
17where
18    Self: Thermal,
19{
20    /// Calculates and returns the potential.
21    fn potential(
22        &self,
23        temperature_gradient: &TemperatureGradient,
24    ) -> Result<Scalar, ConstitutiveError>;
25    /// Calculates and returns the heat flux.
26    fn heat_flux(
27        &self,
28        temperature_gradient: &TemperatureGradient,
29    ) -> Result<HeatFlux, ConstitutiveError>;
30    /// Calculates and returns the tangent to the heat flux.
31    fn heat_flux_tangent(
32        &self,
33        temperature_gradient: &TemperatureGradient,
34    ) -> Result<HeatFluxTangent, ConstitutiveError>;
35}