[−]Struct lumol::LennardJones
Lennard-Jones potential.
$$ V(r) = 4 * \epsilon * \left[ \left(\frac \sigma r \right)^{12} - \left(\frac \sigma r \right)^6 \right] $$
where $\sigma$ is the Lennard-Jones distance constant, and $\epsilon$ the energetic constant.
Examples
let potential = LennardJones { sigma: 2.0, epsilon: 10.0 }; assert_eq!(potential.energy(2.0), 0.0); assert_eq!(potential.energy(3.0), -3.203365942785746); assert_eq!(potential.force(2.0), 120.0);
Fields
sigma: f64
Distance constant of the Lennard-Jones potential
epsilon: f64
Energy constant of the Lennard-Jones potential
Trait Implementations
impl Clone for LennardJones
pub fn clone(&self) -> LennardJones
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for LennardJones
impl FromToml for LennardJones
impl PairPotential for LennardJones
pub fn tail_energy(&self, cutoff: f64) -> f64
pub fn tail_virial(&self, cutoff: f64) -> f64
fn virial(&self, r: &Vector3D) -> Matrix3
impl Potential for LennardJones
Auto Trait Implementations
impl RefUnwindSafe for LennardJones
impl Send for LennardJones
impl Sync for LennardJones
impl Unpin for LennardJones
impl UnwindSafe for LennardJones
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<P> Potential for P where
P: 'static + Computation + Clone,
P: 'static + Computation + Clone,
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>,