pub struct AtomicElasticRow { /* private fields */ }Expand description
Partial-wave results of one element at one energy, with the DCS in exact Legendre form (see the module docs). Cross sections in bohr².
Implementations§
Source§impl AtomicElasticRow
impl AtomicElasticRow
Sourcepub fn from_partial_waves(energy_ev: f64, pw: &PartialWaves) -> Self
pub fn from_partial_waves(energy_ev: f64, pw: &PartialWaves) -> Self
Build from converged partial waves at energy_ev.
Sourcepub fn solve(
pot: &dyn ScreenedPotential,
energy_ev: f64,
opts: SolverOptions,
) -> Result<Self, ElasticError>
pub fn solve( pot: &dyn ScreenedPotential, energy_ev: f64, opts: SolverOptions, ) -> Result<Self, ElasticError>
Solve at one energy.
Sourcepub fn sigma_el(&self) -> f64
pub fn sigma_el(&self) -> f64
The solver’s total elastic cross section (PartialWaves::sigma_el),
bohr².
Sourcepub fn sigma_tr1(&self) -> f64
pub fn sigma_tr1(&self) -> f64
The solver’s first transport cross section
(PartialWaves::sigma_tr1), bohr².
Sourcepub fn legendre_coefficients(&self) -> &[f64]
pub fn legendre_coefficients(&self) -> &[f64]
Legendre coefficients c_L of the DCS, bohr²/sr.
Sourcepub fn dcs(&self, theta: f64) -> f64
pub fn dcs(&self, theta: f64) -> f64
DCS at polar angle theta (rad) from the Legendre form, bohr²/sr.
Sourcepub fn cumulative(&self, theta: f64) -> f64
pub fn cumulative(&self, theta: f64) -> f64
Cumulative cross section S(θ) = 2π ∫_0^θ DCS sin θ' dθ', bohr².
Sourcepub fn cumulative_total(&self) -> f64
pub fn cumulative_total(&self) -> f64
S(π) = 4π c_0, the total of the Legendre form, bohr². Equal to
Self::sigma_el up to the solver’s quadrature-vs-phase-shift
rounding.
Trait Implementations§
Source§impl Clone for AtomicElasticRow
impl Clone for AtomicElasticRow
Source§fn clone(&self) -> AtomicElasticRow
fn clone(&self) -> AtomicElasticRow
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AtomicElasticRow
impl Debug for AtomicElasticRow
Source§impl PartialEq for AtomicElasticRow
impl PartialEq for AtomicElasticRow
impl StructuralPartialEq for AtomicElasticRow
Auto Trait Implementations§
impl Freeze for AtomicElasticRow
impl RefUnwindSafe for AtomicElasticRow
impl Send for AtomicElasticRow
impl Sync for AtomicElasticRow
impl Unpin for AtomicElasticRow
impl UnsafeUnpin for AtomicElasticRow
impl UnwindSafe for AtomicElasticRow
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more