sciforge-core 0.0.4

Shared engineering primitives: materials, fasteners, fluids, propulsion taxonomies, std components.
Documentation
use sciforge_hub::prelude::physics::quantum as q;

#[derive(Debug, Clone, Copy)]
pub struct InfiniteWell {
    pub length_m: f64,
    pub mass_kg: f64,
}

impl InfiniteWell {
    pub fn new(length_m: f64, mass_kg: f64) -> Self {
        Self { length_m, mass_kg }
    }

    pub fn energy_level_j(&self, n: u32) -> f64 {
        q::infinite_well_energy(n, self.length_m, self.mass_kg)
    }

    pub fn ground_state_energy_j(&self) -> f64 {
        self.energy_level_j(1)
    }

    pub fn wavefunction(&self, n: u32, x_m: f64) -> f64 {
        q::infinite_well_wf(n, x_m, self.length_m)
    }
}