use crate::numerical::physics_cfd;
#[unsafe(no_mangle)]
pub extern "C" fn rssn_num_cfd_air_kinematic_viscosity() -> f64 {
physics_cfd::FluidProperties::air().kinematic_viscosity()
}
#[unsafe(no_mangle)]
pub extern "C" fn rssn_num_cfd_water_kinematic_viscosity() -> f64 {
physics_cfd::FluidProperties::water().kinematic_viscosity()
}
#[unsafe(no_mangle)]
pub extern "C" fn rssn_num_cfd_air_prandtl_number() -> f64 {
physics_cfd::FluidProperties::air().prandtl_number()
}
#[unsafe(no_mangle)]
pub extern "C" fn rssn_num_cfd_water_prandtl_number() -> f64 {
physics_cfd::FluidProperties::water().prandtl_number()
}
#[unsafe(no_mangle)]
pub extern "C" fn rssn_num_cfd_reynolds_number(
velocity: f64,
length: f64,
kinematic_viscosity: f64,
) -> f64 {
physics_cfd::reynolds_number(velocity, length, kinematic_viscosity)
}
#[unsafe(no_mangle)]
pub extern "C" fn rssn_num_cfd_mach_number(
velocity: f64,
speed_of_sound: f64,
) -> f64 {
physics_cfd::mach_number(velocity, speed_of_sound)
}
#[unsafe(no_mangle)]
pub extern "C" fn rssn_num_cfd_froude_number(
velocity: f64,
length: f64,
gravity: f64,
) -> f64 {
physics_cfd::froude_number(velocity, length, gravity)
}
#[unsafe(no_mangle)]
pub extern "C" fn rssn_num_cfd_cfl_number(
velocity: f64,
dt: f64,
dx: f64,
) -> f64 {
physics_cfd::cfl_number(velocity, dt, dx)
}
#[unsafe(no_mangle)]
pub extern "C" fn rssn_num_cfd_check_cfl_stability(
velocity: f64,
dt: f64,
dx: f64,
max_cfl: f64,
) -> bool {
physics_cfd::check_cfl_stability(velocity, dt, dx, max_cfl)
}
#[unsafe(no_mangle)]
pub extern "C" fn rssn_num_cfd_diffusion_number(
alpha: f64,
dt: f64,
dx: f64,
) -> f64 {
physics_cfd::diffusion_number(alpha, dt, dx)
}