Trait Nuclide::Atom

source ·
pub trait Atom: Clone {
Show 32 methods // Required methods fn atomic_num(&self) -> u64; 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<T: DecayMode>(&self) -> f64; fn mean_lifetime<T: DecayMode>(&self) -> f64; fn decay_mode(&self) -> String; fn daughter_energetic<T: DecayMode>(&mut self) -> (f64, Vec<Particle>); fn daughter<T: DecayMode>(&self) -> Option<Self>; fn decay_constant<T: DecayMode>(&self) -> f64; fn decay_probability<T: DecayMode>(&self, time: f64) -> f64; fn decay_time<T: DecayMode>(&self, time: f64) -> bool; fn decay<T: DecayMode>(&mut self, time: f64) -> (f64, Vec<Particle>); fn decay_q<T: DecayMode>(&self) -> f64;
}
Expand description

Shared trait for atoms

Required Methods§

source

fn atomic_num(&self) -> u64

Atomic number

source

fn am(&self) -> f64

Atomic mass in Daltons

source

fn am_kg(&self) -> f64

Atomic mass in kilograms

source

fn mass_deficit(&self) -> f64

Mass defect or the difference between the empirical mass and the mass of the constituents, in Daltons

source

fn mass_deficit_kg(&self) -> f64

source

fn mass_deficit_j(&self) -> f64

Mass defect in Joules

source

fn mass_deficit_ev(&self) -> f64

Mass defect in MeV fix these, same as binding energy

source

fn binding_energy(&self) -> f64

source

fn binding_energy_j(&self) -> f64

source

fn spin_parity(&self) -> (i8, i8)

Spin as a i8 pair

source

fn electron_affinity(&self) -> f64

Electron affinity in kj/mol

source

fn electron_affinity_ev(&self) -> f64

Electron affinity in MeV

source

fn ionization_energies(&self, level: usize) -> Option<f64>

Returns the ionization energies for all known levels. Values are in kj/mol

source

fn ionization_energies_ev(&self, level: usize) -> Option<f64>

Returns the ionization energies for all known levels. Values are in MeV

source

fn electronegativity(&self) -> f64

Returns Oganov-Tantardini values, the current best evaluation

source

fn mullikan_en(&self) -> f64

Mullikan electronegativity

source

fn allen_en(&self) -> f64

Allen electronegativity

source

fn pauling_en(&self) -> f64

Pauling electronegativity

source

fn covalent_radii(&self, bond: usize) -> Option<f64>

Covalent radii of the first three bonds

source

fn ionic_radii(&self) -> f64

Ionic radii

source

fn vdr_crystal(&self) -> f64

Van der Waal radius in crystalline structure

source

fn vdr_isolated(&self) -> f64

Van der Waal radius in isolated atoms

source

fn half_life<T: DecayMode>(&self) -> f64

Half-life of nuclide/isomer. TotalDecay mode returns the half-life, all other modes return the partial half-life

Nan

Particle is unstable but the selected decay mode is not supported

Inf

Particle is stable

source

fn mean_lifetime<T: DecayMode>(&self) -> f64

The mean lifetime of nuclide/isomer

source

fn decay_mode(&self) -> String

Returns the probable decay modes as a string

source

fn daughter_energetic<T: DecayMode>(&mut self) -> (f64, Vec<Particle>)

source

fn daughter<T: DecayMode>(&self) -> Option<Self>

Returns the daughter nuclide

None

If nuclide has not been observed to decay by the mode, returns None

source

fn decay_constant<T: DecayMode>(&self) -> f64

Decay constant in seconds of nuclide/isomer. TotalDecay mode returns the decay constant, all other modes return the partial decay constant

Nan

Particle is unstable but the selected decay mode is not supported

Inf

Particle is stable

source

fn decay_probability<T: DecayMode>(&self, time: f64) -> f64

Returns the probability of the nuclide to decay after the time in seconds provided

source

fn decay_time<T: DecayMode>(&self, time: f64) -> bool

Checks if nuclide/isomer would decay in the selected time

source

fn decay<T: DecayMode>(&mut self, time: f64) -> (f64, Vec<Particle>)

Continously performs decay throughout the time selected, collecting all particles into a vector with decay energies.

source

fn decay_q<T: DecayMode>(&self) -> f64

Q-value (total energy) of a nuclear decay, regardless of whether it is observed

NAN

Returns NAN if this decay mode results in a nonexistent nuclide

Implementors§