pub struct ElasticSolver<'a> { /* private fields */ }Expand description
Radial Dirac solver at one kinetic energy.
Implementations§
Source§impl<'a> ElasticSolver<'a>
impl<'a> ElasticSolver<'a>
Sourcepub fn new(
pot: &'a dyn ScreenedPotential,
energy_ev: f64,
opts: SolverOptions,
) -> Result<Self, ElasticError>
pub fn new( pot: &'a dyn ScreenedPotential, energy_ev: f64, opts: SolverOptions, ) -> Result<Self, ElasticError>
Prepare a solver for kinetic energy energy_ev (eV, > 0).
Sourcepub fn wave_number(&self) -> f64
pub fn wave_number(&self) -> f64
Wave number, 1/bohr.
Sourcepub fn matching_radius(&self) -> f64
pub fn matching_radius(&self) -> f64
Matching radius, bohr.
Sourcepub fn phase_shift(&self, kappa: i32) -> Result<f64, ElasticError>
pub fn phase_shift(&self, kappa: i32) -> Result<f64, ElasticError>
Phase shift (rad, reduced to (-pi/2, pi/2]) of Dirac channel kappa
(kappa <= -1 or kappa >= 1).
Sourcepub fn phase_shifts_up_to(
&self,
l_max: usize,
) -> Result<PartialWaves, ElasticError>
pub fn phase_shifts_up_to( &self, l_max: usize, ) -> Result<PartialWaves, ElasticError>
Phase shifts for l = 0..=l_max (both spin channels), in parallel and
deterministically.
Sourcepub fn partial_waves(&self) -> Result<PartialWaves, ElasticError>
pub fn partial_waves(&self) -> Result<PartialWaves, ElasticError>
Phase shifts with the adaptive cutoff of the module documentation.
Trait Implementations§
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for ElasticSolver<'a>
impl<'a> !UnwindSafe for ElasticSolver<'a>
impl<'a> Freeze for ElasticSolver<'a>
impl<'a> Send for ElasticSolver<'a>
impl<'a> Sync for ElasticSolver<'a>
impl<'a> Unpin for ElasticSolver<'a>
impl<'a> UnsafeUnpin for ElasticSolver<'a>
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> 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