[−]Enum lumol::PairRestriction
Possible restrictions on the pair interactions.
In some force fields, interactions are restricted to a subset of the possible pairs. For example, we may want to have Lennard-Jones interactions between atoms in different molecules only, or scale the coulombic interactions if the particles are at 1-4 distance.
Variants
No pair should be excluded.
Only apply the interaction to intra-molecular pairs.
Only apply the interaction to inter-molecular pairs.
Only apply the interaction to pairs which are not in 1-2 position (separated by one bond).
Only apply the interaction to pairs which are not in 1-2 or 1-3 position (separated by one or two bonds).
Only apply the interaction to pairs which are not in 1-2, 1-3 or 1-4 position (separated by one, two or three bonds).
Scale14(f64)
Only apply the interaction to pairs which are not in 1-2 or 1-3 position, and scale the interaction for pairs in 1-4 position (separated by three bonds).
Implementations
impl PairRestriction
pub fn information(&self, path: BondPath) -> RestrictionInfo
Get the restriction at the given bond path
.
Example
let restriction = PairRestriction::None; assert_eq!(restriction.information(BondPath::ThreeBonds).excluded, false); assert_eq!(restriction.information(BondPath::TwoBonds).scaling, 1.0); let restriction = PairRestriction::Exclude13; assert_eq!(restriction.information(BondPath::TwoBonds).excluded, true); assert_eq!(restriction.information(BondPath::ThreeBonds).excluded, false); let restriction = PairRestriction::Scale14(0.5); assert_eq!(restriction.information(BondPath::TwoBonds).excluded, true); assert_eq!(restriction.information(BondPath::ThreeBonds).excluded, false); assert_eq!(restriction.information(BondPath::TwoBonds).scaling, 1.0); assert_eq!(restriction.information(BondPath::ThreeBonds).scaling, 0.5);
Trait Implementations
impl Clone for PairRestriction
pub fn clone(&self) -> PairRestriction
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for PairRestriction
impl Debug for PairRestriction
impl PartialEq<PairRestriction> for PairRestriction
pub fn eq(&self, other: &PairRestriction) -> bool
pub fn ne(&self, other: &PairRestriction) -> bool
impl StructuralPartialEq for PairRestriction
Auto Trait Implementations
impl RefUnwindSafe for PairRestriction
impl Send for PairRestriction
impl Sync for PairRestriction
impl Unpin for PairRestriction
impl UnwindSafe for PairRestriction
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,