sciforge-core 0.0.4

Shared engineering primitives: materials, fasteners, fluids, propulsion taxonomies, std components.
Documentation
use std::sync::LazyLock;
use super::{Material, MaterialFamily};

pub static SODA_LIME: LazyLock<Material> = LazyLock::new(|| Material {
    element: None,
    name: "Soda-lime silicate glass",
    formula: "SiO2",
    family: MaterialFamily::Glass,
    density_kg_m3: 2520.0,
    young_modulus_pa: 72.0e9,
    poisson_ratio: 0.22,
    yield_strength_pa: 35.0e6,
    ultimate_strength_pa: 50.0e6,
    thermal_conductivity_w_mk: 1.05,
    thermal_expansion_per_k: 9.0e-6,
    specific_heat_j_kgk: 840.0,
    max_service_temp_k: 773.0,
    fatigue_strength_coeff_pa: 70.0e6,
    fatigue_strength_exponent: -0.05,
    hardness_hv: 540.0,
    cost_eur_kg: 1.0,
});

pub static BOROSILICATE: LazyLock<Material> = LazyLock::new(|| Material {
    element: None,
    name: "Borosilicate glass",
    formula: "SiO2",
    family: MaterialFamily::Glass,
    density_kg_m3: 2230.0,
    young_modulus_pa: 64.0e9,
    poisson_ratio: 0.20,
    yield_strength_pa: 50.0e6,
    ultimate_strength_pa: 70.0e6,
    thermal_conductivity_w_mk: 1.13,
    thermal_expansion_per_k: 3.3e-6,
    specific_heat_j_kgk: 830.0,
    max_service_temp_k: 1093.0,
    fatigue_strength_coeff_pa: 100.0e6,
    fatigue_strength_exponent: -0.05,
    hardness_hv: 600.0,
    cost_eur_kg: 4.0,
});

pub static TEMPERED_GLASS: LazyLock<Material> = LazyLock::new(|| Material {
    element: None,
    name: "Tempered safety glass",
    formula: "SiO2",
    family: MaterialFamily::Glass,
    density_kg_m3: 2500.0,
    young_modulus_pa: 70.0e9,
    poisson_ratio: 0.22,
    yield_strength_pa: 120.0e6,
    ultimate_strength_pa: 200.0e6,
    thermal_conductivity_w_mk: 1.05,
    thermal_expansion_per_k: 9.0e-6,
    specific_heat_j_kgk: 840.0,
    max_service_temp_k: 573.0,
    fatigue_strength_coeff_pa: 280.0e6,
    fatigue_strength_exponent: -0.05,
    hardness_hv: 600.0,
    cost_eur_kg: 6.0,
});

pub static LAMINATED_PVB: LazyLock<Material> = LazyLock::new(|| Material {
    element: None,
    name: "Laminated PVB windshield",
    formula: "SiO2",
    family: MaterialFamily::Glass,
    density_kg_m3: 2480.0,
    young_modulus_pa: 60.0e9,
    poisson_ratio: 0.22,
    yield_strength_pa: 80.0e6,
    ultimate_strength_pa: 130.0e6,
    thermal_conductivity_w_mk: 0.95,
    thermal_expansion_per_k: 9.5e-6,
    specific_heat_j_kgk: 850.0,
    max_service_temp_k: 533.0,
    fatigue_strength_coeff_pa: 180.0e6,
    fatigue_strength_exponent: -0.05,
    hardness_hv: 550.0,
    cost_eur_kg: 9.0,
});