#[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 primary_minerals() -> MineralDeposit {
    MineralDeposit {
        name: "Phobos Silicates",
        area_km2: 100_000.0,
        silicate_fraction: 0.45,
    }
}
