[]Struct lumol::energy::LennardJones

pub struct LennardJones {
    pub sigma: f64,
    pub epsilon: f64,
}

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

impl Copy for LennardJones

impl FromToml for LennardJones

impl PairPotential for LennardJones

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]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<P> Potential for P where
    P: 'static + Computation + Clone

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,