# [−]Struct lumol::energy::Torsion

Torsion potential.

This potential is intended for use with dihedral angles, using a custom periodicity and multiple minima.

$$ V(x) = k (1 + \cos(n x - \delta))$$

where $k$ is the force constant, $n$ the periodicity of the potential, and $\delta$ the equilibrium angle.

# Examples

let potential = Torsion { delta: PI / 2.0, k: 10.0, n: 3 }; assert_eq!(potential.energy(PI / 2.0), 0.0); assert_eq!(potential.energy(PI / 3.0), 10.0); assert!(potential.force(PI / 2.0).abs() < 1e-12);

## Fields

`k: f64`

Force constant

`delta: f64`

Equilibrium value

`n: usize`

Multiplicity of the potential

## Trait Implementations

`impl DihedralPotential for Torsion`

`impl Copy for Torsion`

`impl Clone for Torsion`

`fn clone(&self) -> Torsion`

`fn clone_from(&mut self, source: &Self)`

1.0.0[src]

Performs copy-assignment from `source`

. Read more

`impl Potential for Torsion`

`impl FromToml for Torsion`

## Auto Trait Implementations

## Blanket Implementations

`impl<T> From for T`

[src]

`impl<T, U> Into for T where`

U: From<T>,

[src]

U: From<T>,

`impl<T> ToOwned for T where`

T: Clone,

[src]

T: Clone,

`impl<T, U> TryFrom for T where`

T: From<U>,

[src]

T: From<U>,

`type Error = !`

🔬 This is a nightly-only experimental API. (

`try_from`

)The type returned in the event of a conversion error.

`fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>`

[src]

`impl<T> Borrow for T where`

T: ?Sized,

[src]

T: ?Sized,

`impl<T> BorrowMut for T where`

T: ?Sized,

[src]

T: ?Sized,

`fn borrow_mut(&mut self) -> &mut T`

[src]

`impl<T, U> TryInto for T where`

U: TryFrom<T>,

[src]

U: TryFrom<T>,

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

🔬 This is a nightly-only experimental API. (

`try_from`

)The type returned in the event of a conversion error.

`fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>`

[src]

`impl<T> Any for T where`

T: 'static + ?Sized,

[src]

T: 'static + ?Sized,

`fn get_type_id(&self) -> TypeId`

[src]

`impl<P> Potential for P where`

P: 'static + Computation + Clone,

P: 'static + Computation + Clone,