pub struct AtomicElastic { /* private fields */ }Expand description
Partial-wave results of one element over an energy grid.
Implementations§
Source§impl AtomicElastic
impl AtomicElastic
Sourcepub fn compute(
z: u8,
pot: &dyn ScreenedPotential,
description: &str,
energy_ev: &[f64],
solver: SolverOptions,
) -> Result<Self, ElasticTableError>
pub fn compute( z: u8, pot: &dyn ScreenedPotential, description: &str, energy_ev: &[f64], solver: SolverOptions, ) -> Result<Self, ElasticTableError>
Solve element z with potential pot (described by description) at
every energy of energy_ev. Energies run in parallel; the result and
any error (the one at the lowest failing energy) do not depend on the
thread count.
Sourcepub fn compute_corrected(
z: u8,
pot: &dyn ScreenedPotential,
density: &dyn ElectronDensity,
description: &str,
energy_ev: &[f64],
corrections: &Corrections,
solver: SolverOptions,
) -> Result<Self, ElasticTableError>
pub fn compute_corrected( z: u8, pot: &dyn ScreenedPotential, density: &dyn ElectronDensity, description: &str, energy_ev: &[f64], corrections: &Corrections, solver: SolverOptions, ) -> Result<Self, ElasticTableError>
As AtomicElastic::compute, with the optional exchange and
correlation-polarization corrections of
super::corrections added to the static potential pot at every
energy (the corrected potential depends on the energy, so it is
rebuilt per grid point with CorrectedPotential::new). density is
the atomic electron density the corrections need. With both
corrections off this is AtomicElastic::compute (bit-identical
rows). description names the potential and the corrections; it
becomes the table’s model and provenance (via combine), and
every element of one table must share it.
Sourcepub fn solver(&self) -> SolverOptions
pub fn solver(&self) -> SolverOptions
Solver settings used.
Sourcepub fn rows(&self) -> &[AtomicElasticRow]
pub fn rows(&self) -> &[AtomicElasticRow]
One row per grid energy.
Trait Implementations§
Source§impl Clone for AtomicElastic
impl Clone for AtomicElastic
Source§fn clone(&self) -> AtomicElastic
fn clone(&self) -> AtomicElastic
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AtomicElastic
impl Debug for AtomicElastic
Source§impl PartialEq for AtomicElastic
impl PartialEq for AtomicElastic
impl StructuralPartialEq for AtomicElastic
Auto Trait Implementations§
impl Freeze for AtomicElastic
impl RefUnwindSafe for AtomicElastic
impl Send for AtomicElastic
impl Sync for AtomicElastic
impl Unpin for AtomicElastic
impl UnsafeUnpin for AtomicElastic
impl UnwindSafe for AtomicElastic
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
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> ⓘ
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> ⓘ
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