pub struct ElectrostaticMatrix {
pub scaling: Vec<Vec<f64>>,
pub is_1_4_pair: Vec<Vec<bool>>,
pub is_1_3_pair: Vec<Vec<bool>>,
}Expand description
Electrostatic scaling matrix for a complete molecule. Stores 1-4 and 1-3 scaling factors for all atom pairs.
Fields§
§scaling: Vec<Vec<f64>>Scaling factors: matrix[i][j] contains dielectric scaling from atom i to j
is_1_4_pair: Vec<Vec<bool>>1-4 pair indicators: true if atoms are 1-4 pairs (through 3 bonds)
is_1_3_pair: Vec<Vec<bool>>1-3 pair indicators: true if atoms are bonded through one atom
Implementations§
Source§impl ElectrostaticMatrix
impl ElectrostaticMatrix
Sourcepub fn new(mol: &Molecule, mmff94_types: &[MMFF94Type]) -> Self
pub fn new(mol: &Molecule, mmff94_types: &[MMFF94Type]) -> Self
Create an electrostatic scaling matrix for a molecule.
Computes all pairwise dielectric scaling factors based on:
- Topological distance (1-2, 1-3, 1-4, farther)
- Atom types and bonding patterns
Sourcepub fn get_scaling(&self, i: usize, j: usize) -> f64
pub fn get_scaling(&self, i: usize, j: usize) -> f64
Get scaling factor for atom pair (i, j)
Trait Implementations§
Source§impl Clone for ElectrostaticMatrix
impl Clone for ElectrostaticMatrix
Source§fn clone(&self) -> ElectrostaticMatrix
fn clone(&self) -> ElectrostaticMatrix
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 moreAuto Trait Implementations§
impl Freeze for ElectrostaticMatrix
impl RefUnwindSafe for ElectrostaticMatrix
impl Send for ElectrostaticMatrix
impl Sync for ElectrostaticMatrix
impl Unpin for ElectrostaticMatrix
impl UnsafeUnpin for ElectrostaticMatrix
impl UnwindSafe for ElectrostaticMatrix
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