pub struct Pm3Params {Show 17 fields
pub z: u8,
pub symbol: &'static str,
pub uss: f64,
pub upp: f64,
pub beta_s: f64,
pub beta_p: f64,
pub zeta_s: f64,
pub zeta_p: f64,
pub gss: f64,
pub gsp: f64,
pub gpp: f64,
pub gp2: f64,
pub hsp: f64,
pub core_charge: f64,
pub heat_of_atomization: f64,
pub alpha: f64,
pub gaussians: &'static [(f64, f64, f64)],
}Expand description
PM3 atomic parameters for one element.
Fields§
§z: u8§symbol: &'static str§uss: f64One-center one-electron integral for s orbital (eV).
upp: f64One-center one-electron integral for p orbital (eV).
beta_s: f64Beta_s resonance integral (eV).
beta_p: f64Beta_p resonance integral (eV).
zeta_s: f64Slater exponent for s orbital (bohr⁻¹).
zeta_p: f64Slater exponent for p orbital (bohr⁻¹).
gss: f64One-center two-electron integral g_ss (eV).
gsp: f64g_sp (eV).
gpp: f64g_pp (eV).
gp2: f64g_p2 (eV).
hsp: f64h_sp (eV).
core_charge: f64Core charge (number of valence electrons).
heat_of_atomization: f64Heat of atomization (kcal/mol).
alpha: f64Alpha parameter for core-core repulsion (Å⁻¹).
gaussians: &'static [(f64, f64, f64)]PM3 Gaussian correction terms for core-core repulsion. Each tuple is (a_k, b_k, c_k) in the expression: ΔE_nuc += Z_A × Z_B × Σ_k a_k × exp(−b_k × (R_AB − c_k)²) Typically 2 Gaussians per element; empty for elements without corrections.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Pm3Params
impl RefUnwindSafe for Pm3Params
impl Send for Pm3Params
impl Sync for Pm3Params
impl Unpin for Pm3Params
impl UnsafeUnpin for Pm3Params
impl UnwindSafe for Pm3Params
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
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.