[]Struct lumol::Harmonic

pub struct Harmonic {
    pub k: f64,
    pub x0: f64,

Harmonic potential.

$$ V(x) = \frac{1}{2} k (x - x_0)^2 $$

where $x_0$ is the distance equilibrium, and $k$ the elastic constant.


let potential = Harmonic { x0: 2.0, k: 100.0 };
assert_eq!(potential.energy(2.0), 0.0);
assert_eq!(potential.energy(3.0), 50.0);

assert_eq!(potential.force(2.0), 0.0);
assert_eq!(potential.force(1.5), 50.0);


k: f64

Spring constant

x0: f64

Equilibrium value

Trait Implementations

impl AnglePotential for Harmonic

impl BondPotential for Harmonic

impl Clone for Harmonic

impl Copy for Harmonic

impl DihedralPotential for Harmonic

impl FromToml for Harmonic

impl PairPotential for Harmonic

impl Potential for Harmonic

Auto Trait Implementations

impl RefUnwindSafe for Harmonic

impl Send for Harmonic

impl Sync for Harmonic

impl Unpin for Harmonic

impl UnwindSafe for Harmonic

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

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

impl<T, U> Into<U> for T where
    U: From<T>, 

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

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

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