[]Struct lumol::Morse

pub struct Morse {
    pub a: f64,
    pub x0: f64,
    pub depth: f64,
}

Morse potential

$$ V(x) = \text{depth} * \left( 1 - \exp(a (x_0 - x))^2 \right)$$

where the parameters are $x_0$ for the equilibrium value, depth for the well depth, and $a$ for the well width.

Examples

let potential = Morse { a: 2.0, x0: 1.3, depth: 4.0 };
assert_eq!(potential.energy(1.0), 2.703517287822119);
assert_eq!(potential.force(1.0), -37.12187076378477);

Fields

a: f64

Exponential term width value

x0: f64

Equilibrium value

depth: f64

Well depth value

Trait Implementations

impl AnglePotential for Morse

impl BondPotential for Morse

impl Clone for Morse

impl Copy for Morse

impl DihedralPotential for Morse

impl FromToml for Morse

impl PairPotential for Morse

impl Potential for Morse

Auto Trait Implementations

impl RefUnwindSafe for Morse

impl Send for Morse

impl Sync for Morse

impl Unpin for Morse

impl UnwindSafe for Morse

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>,