#[cfg(test)]
pub mod test;
mod fourier;
use crate::{
constitutive::{ConstitutiveError, thermal::Thermal},
mechanics::{HeatFlux, HeatFluxTangent, Scalar, TemperatureGradient},
};
pub use fourier::Fourier;
pub trait ThermalConduction
where
Self: Thermal,
{
fn potential(
&self,
temperature_gradient: &TemperatureGradient,
) -> Result<Scalar, ConstitutiveError>;
fn heat_flux(
&self,
temperature_gradient: &TemperatureGradient,
) -> Result<HeatFlux, ConstitutiveError>;
fn heat_flux_tangent(
&self,
temperature_gradient: &TemperatureGradient,
) -> Result<HeatFluxTangent, ConstitutiveError>;
}