pub struct AblationModel {
pub t_ablation: f64,
pub heat_of_ablation: f64,
pub density: f64,
pub arrhenius_a: f64,
pub activation_temp: f64,
}Expand description
Ablation model for surface recession under extreme heat flux.
Models the recession of a material surface when the surface temperature exceeds the ablation (sublimation or vaporization) threshold. The recession rate is governed by the Arrhenius-like expression.
Fields§
§t_ablation: f64Ablation threshold temperature T_ab [K].
heat_of_ablation: f64Heat of ablation (enthalpy of vaporization) L_ab [J/kg].
density: f64Material density [kg/m³].
arrhenius_a: f64Pre-exponential factor A [m/s].
activation_temp: f64Activation temperature T_act = Ea/(R) [K].
Implementations§
Source§impl AblationModel
impl AblationModel
Sourcepub fn new(
t_ablation: f64,
heat_of_ablation: f64,
density: f64,
arrhenius_a: f64,
activation_temp: f64,
) -> Self
pub fn new( t_ablation: f64, heat_of_ablation: f64, density: f64, arrhenius_a: f64, activation_temp: f64, ) -> Self
Create a new ablation model.
Sourcepub fn recession_rate(&self, temp: f64) -> f64
pub fn recession_rate(&self, temp: f64) -> f64
Surface recession rate [m/s] at temperature T.
r = A * exp(-T_act / T) for T > T_ab, else 0
Sourcepub fn mass_loss_rate(&self, temp: f64) -> f64
pub fn mass_loss_rate(&self, temp: f64) -> f64
Mass loss rate [kg/(m²·s)] = density * recession_rate.
Sourcepub fn ablative_heat_flux(&self, temp: f64) -> f64
pub fn ablative_heat_flux(&self, temp: f64) -> f64
Blowing heat flux [W/m²] absorbed by ablation = L_ab * mdot.
Sourcepub fn net_heat_flux(&self, applied_flux: f64, temp: f64) -> f64
pub fn net_heat_flux(&self, applied_flux: f64, temp: f64) -> f64
Net surface heat flux after ablative cooling [W/m²].
q_net = q_applied - q_ablation