venuss 0.0.1

Venus celestial simulation crate for the MilkyWay SolarSystem workspace
Documentation
use sciforge::hub::domain::geology::seismology::{
    gutenberg_richter, moment_magnitude, seismic_moment,
};

pub struct Venusquake {
    pub magnitude: f64,
    pub depth_km: f64,
    pub seismic_moment_nm: f64,
}

impl Venusquake {
    pub fn from_magnitude(mw: f64, depth_km: f64) -> Self {
        Self {
            magnitude: mw,
            depth_km,
            seismic_moment_nm: seismic_moment(mw),
        }
    }

    pub fn moment_magnitude(&self) -> f64 {
        moment_magnitude(self.seismic_moment_nm)
    }
}

pub fn largest_modeled_venusquake() -> Venusquake {
    Venusquake::from_magnitude(6.0, 20.0)
}

pub fn annual_frequency(magnitude: f64) -> f64 {
    gutenberg_richter(5.0, 1.0, magnitude)
}