#[derive(Debug, Clone, Copy, PartialEq)]
pub struct MineralDeposit {
pub name: &'static str,
pub area_km2: f64,
pub silicate_fraction: f64,
}
impl MineralDeposit {
pub fn silicate_mass_kg(&self, regolith_depth_m: f64, density_kg_m3: f64) -> f64 {
self.area_km2 * 1.0e6 * regolith_depth_m * density_kg_m3 * self.silicate_fraction
}
}
pub fn volcanic_silicates() -> MineralDeposit {
MineralDeposit {
name: "Volcanic Silicates",
area_km2: 200_000.0,
silicate_fraction: 0.60,
}
}