pub struct System {
pub atoms: Vec<Atom>,
pub bonds: Vec<Bond>,
pub cell: UnitCell,
}Expand description
Represents a molecular system consisting of atoms, bonds, and an optional unit cell.
Fields§
§atoms: Vec<Atom>List of atoms in the system.
bonds: Vec<Bond>List of chemical bonds.
cell: UnitCellUnit cell for periodic boundary conditions.
Implementations§
Source§impl System
impl System
Sourcepub fn new(atoms: Vec<Atom>, bonds: Vec<Bond>, cell: UnitCell) -> Self
pub fn new(atoms: Vec<Atom>, bonds: Vec<Bond>, cell: UnitCell) -> Self
Creates a new molecular system and automatically assigns UFF atom types.
§Arguments
atoms- Initial atom positions and elements.bonds- Connectivity and bond orders.cell- Boundary conditions (useUnitCell::new_none()for gas phase).
Sourcepub fn auto_assign_uff_types(&mut self)
pub fn auto_assign_uff_types(&mut self)
Automatically infers UFF atom types based on element, connectivity, and bond orders.
Sourcepub fn compute_forces(&mut self) -> EnergyTerms
pub fn compute_forces(&mut self) -> EnergyTerms
Computes forces and total energy breakdown.
pub fn compute_forces_with_threads( &mut self, num_threads: usize, cutoff: f64, ) -> EnergyTerms
Auto Trait Implementations§
impl Freeze for System
impl RefUnwindSafe for System
impl Send for System
impl Sync for System
impl Unpin for System
impl UnsafeUnpin for System
impl UnwindSafe for System
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> 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