[−]Struct lumol::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 Clone for Torsion
pub fn clone(&self) -> Torsion
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for Torsion
impl DihedralPotential for Torsion
impl FromToml for Torsion
impl Potential for Torsion
Auto Trait Implementations
impl RefUnwindSafe for Torsion
impl Send for Torsion
impl Sync for Torsion
impl Unpin for Torsion
impl UnwindSafe for Torsion
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>,