pub trait ScreenedPotential: Sync {
// Required methods
fn energy(&self, r: f64) -> f64;
fn length_scale(&self) -> f64;
// Provided methods
fn nuclear_charge(&self) -> f64 { ... }
fn breakpoints(&self) -> Vec<f64> { ... }
fn bound_energy_ev(&self) -> Option<f64> { ... }
fn correction_metadata(&self) -> CorrectionMetadata { ... }
fn matching_radius(&self, threshold: f64) -> f64 { ... }
}Expand description
A static, spherically symmetric potential energy of the electron.
Required Methods§
Sourcefn energy(&self, r: f64) -> f64
fn energy(&self, r: f64) -> f64
Potential energy V(r) of the electron, hartree, at radius r bohr.
Attractive potentials are negative.
Sourcefn length_scale(&self) -> f64
fn length_scale(&self) -> f64
A length over which V changes appreciably, bohr. It caps the step.
Provided Methods§
Sourcefn nuclear_charge(&self) -> f64
fn nuclear_charge(&self) -> f64
Coefficient Z of the point-Coulomb singularity V -> -Z/r at the
origin (0 for a regular potential). Selects the series used to start
the integration.
Sourcefn breakpoints(&self) -> Vec<f64>
fn breakpoints(&self) -> Vec<f64>
Radii at which V is discontinuous; the integrator restarts there.
Sourcefn bound_energy_ev(&self) -> Option<f64>
fn bound_energy_ev(&self) -> Option<f64>
The kinetic energy (eV) this potential was built for, when it depends
on one (such as CorrectedPotential, whose exchange and polarization
cutoff use the energy). ElasticSolver::new rejects any other solver
energy. The default, None, accepts every energy.
Sourcefn correction_metadata(&self) -> CorrectionMetadata
fn correction_metadata(&self) -> CorrectionMetadata
Which corrections the potential includes; copied into
ElasticResult::corrections by solve. The default reports both
off.
Sourcefn matching_radius(&self, threshold: f64) -> f64
fn matching_radius(&self, threshold: f64) -> f64
Radius beyond which the potential is neglected: the smallest radius on
a geometric grid (ratio 1.05, from length_scale) with
|r V(r)| < threshold that also lies beyond every breakpoint.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".