pub struct ThermoMechanical {
pub youngs_modulus: f64,
pub poisson_ratio: f64,
pub cte: f64,
pub thermal_conductivity: f64,
pub density: f64,
pub specific_heat: f64,
pub t_ref: f64,
}Expand description
Thermo-mechanical coupling: thermal stress and heat generation from deformation.
σ = C : (ε - α * ΔT * I), coupled with ρCpdT/dt = k*∇²T + σ:dε/dt.
Fields§
§youngs_modulus: f64Young’s modulus E (Pa).
poisson_ratio: f64Poisson’s ratio ν.
cte: f64Coefficient of thermal expansion α (1/K).
thermal_conductivity: f64Thermal conductivity k (W/m/K).
density: f64Density ρ (kg/m³).
specific_heat: f64Specific heat capacity Cp (J/kg/K).
t_ref: f64Reference temperature T0 (K).
Implementations§
Source§impl ThermoMechanical
impl ThermoMechanical
Sourcepub fn new(
youngs_modulus: f64,
poisson_ratio: f64,
cte: f64,
thermal_conductivity: f64,
density: f64,
specific_heat: f64,
t_ref: f64,
) -> Self
pub fn new( youngs_modulus: f64, poisson_ratio: f64, cte: f64, thermal_conductivity: f64, density: f64, specific_heat: f64, t_ref: f64, ) -> Self
Creates a custom thermo-mechanical material.
Sourcepub fn thermal_strain(&self, temperature: f64) -> f64
pub fn thermal_strain(&self, temperature: f64) -> f64
Thermal strain: ε_th = α * ΔT.
Sourcepub fn thermal_stress_uniaxial(&self, temperature: f64) -> f64
pub fn thermal_stress_uniaxial(&self, temperature: f64) -> f64
Uniaxial thermal stress: σ = E * α * ΔT (constrained expansion).
Sourcepub fn thermal_diffusivity(&self) -> f64
pub fn thermal_diffusivity(&self) -> f64
Thermal diffusivity α_d = k / (ρ * Cp) (m²/s).
Sourcepub fn lame_lambda(&self) -> f64
pub fn lame_lambda(&self) -> f64
Lamé parameter λ.
Sourcepub fn hydrostatic_thermal_stress(&self, temperature: f64) -> f64
pub fn hydrostatic_thermal_stress(&self, temperature: f64) -> f64
Hydrostatic thermal stress (3D isotropic): σ_v = -3KαΔT.
Sourcepub fn thermoelastic_dissipation(
&self,
strain_rate: f64,
temperature: f64,
) -> f64
pub fn thermoelastic_dissipation( &self, strain_rate: f64, temperature: f64, ) -> f64
Thermoelastic dissipation rate per unit volume (Gough-Joule effect).
Trait Implementations§
Source§impl Clone for ThermoMechanical
impl Clone for ThermoMechanical
Source§fn clone(&self) -> ThermoMechanical
fn clone(&self) -> ThermoMechanical
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ThermoMechanical
impl RefUnwindSafe for ThermoMechanical
impl Send for ThermoMechanical
impl Sync for ThermoMechanical
impl Unpin for ThermoMechanical
impl UnsafeUnpin for ThermoMechanical
impl UnwindSafe for ThermoMechanical
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more