pub trait Atom: Clone {
Show 30 methods
fn atomic_num(&self) -> u64;
fn identity(&self) -> String;
fn am(&self) -> f64;
fn am_kg(&self) -> f64;
fn mass_deficit(&self) -> f64;
fn mass_deficit_kg(&self) -> f64;
fn mass_deficit_j(&self) -> f64;
fn mass_deficit_ev(&self) -> f64;
fn binding_energy(&self) -> f64;
fn binding_energy_j(&self) -> f64;
fn spin_parity(&self) -> (i8, i8);
fn electron_affinity(&self) -> f64;
fn electron_affinity_ev(&self) -> f64;
fn ionization_energies(&self, level: usize) -> Option<f64>;
fn ionization_energies_ev(&self, level: usize) -> Option<f64>;
fn electronegativity(&self) -> f64;
fn mullikan_en(&self) -> f64;
fn allen_en(&self) -> f64;
fn pauling_en(&self) -> f64;
fn covalent_radii(&self, bond: usize) -> Option<f64>;
fn ionic_radii(&self) -> f64;
fn vdr_crystal(&self) -> f64;
fn vdr_isolated(&self) -> f64;
fn half_life(&self) -> f64;
fn mean_lifetime(&self) -> f64;
fn decay_mode(&self) -> String;
fn decay_constant(&self) -> f64;
fn decay_time(&self, time: f64) -> bool;
fn static_decay(&mut self, time: f64) -> (f64, Vec<Particle>);
fn decay(&mut self, time: f64) -> (f64, Vec<Particle>);
}Expand description
Shared trait for atoms
Required Methods
sourcefn atomic_num(&self) -> u64
fn atomic_num(&self) -> u64
Atomic number
sourcefn mass_deficit(&self) -> f64
fn mass_deficit(&self) -> f64
Mass defect or the difference between the empirical mass and the mass of the constituents, in Daltons
fn mass_deficit_kg(&self) -> f64
sourcefn mass_deficit_j(&self) -> f64
fn mass_deficit_j(&self) -> f64
Mass defect in Joules
sourcefn mass_deficit_ev(&self) -> f64
fn mass_deficit_ev(&self) -> f64
Mass defect in MeV fix these, same as binding energy
fn binding_energy(&self) -> f64
fn binding_energy_j(&self) -> f64
sourcefn spin_parity(&self) -> (i8, i8)
fn spin_parity(&self) -> (i8, i8)
Spin as a i8 pair
sourcefn electron_affinity(&self) -> f64
fn electron_affinity(&self) -> f64
Electron affinity in kj/mol
sourcefn electron_affinity_ev(&self) -> f64
fn electron_affinity_ev(&self) -> f64
Electron affinity in MeV
sourcefn ionization_energies(&self, level: usize) -> Option<f64>
fn ionization_energies(&self, level: usize) -> Option<f64>
Returns the ionization energies for all known levels. Values are in kj/mol
sourcefn ionization_energies_ev(&self, level: usize) -> Option<f64>
fn ionization_energies_ev(&self, level: usize) -> Option<f64>
Returns the ionization energies for all known levels. Values are in MeV
sourcefn electronegativity(&self) -> f64
fn electronegativity(&self) -> f64
Returns Oganov-Tantardini values, the current best evaluation
sourcefn mullikan_en(&self) -> f64
fn mullikan_en(&self) -> f64
Mullikan electronegativity
sourcefn pauling_en(&self) -> f64
fn pauling_en(&self) -> f64
Pauling electronegativity
sourcefn covalent_radii(&self, bond: usize) -> Option<f64>
fn covalent_radii(&self, bond: usize) -> Option<f64>
Covalent radii of the first three bonds
sourcefn ionic_radii(&self) -> f64
fn ionic_radii(&self) -> f64
Ionic radii
sourcefn vdr_crystal(&self) -> f64
fn vdr_crystal(&self) -> f64
Van der Waal radius in crystalline structure
sourcefn vdr_isolated(&self) -> f64
fn vdr_isolated(&self) -> f64
Van der Waal radius in isolated atoms
sourcefn mean_lifetime(&self) -> f64
fn mean_lifetime(&self) -> f64
The mean lifetime of nuclide/isomer
sourcefn decay_mode(&self) -> String
fn decay_mode(&self) -> String
Returns the probable decay modes as a string
sourcefn decay_constant(&self) -> f64
fn decay_constant(&self) -> f64
Returns decay constant
sourcefn decay_time(&self, time: f64) -> bool
fn decay_time(&self, time: f64) -> bool
Checks if nuclide/isomer would decay in the selected time
Decays nuclide/isomer in-place a maximum of 1 time. Returning a tuple in the form of the energy imparted to the nuclide/isomer and a vector of particles with decay energies