[]Struct lumol::sys::compute::AtomicVirial

pub struct AtomicVirial;

Compute the virial tensor of the system using the atomic definition.

$$ \underline{W} = \sum_i \vec r_i \otimes \vec f_i - \underline H \frac{\partial U}{\partial \underline H} $$

where $\underline{H}$ is the unit cell matrix, $\vec f_i$ the force acting on the atom $i$ and $\vec r_i$ the position of the atom $i$

If all the interactions are pair interactions, this definition reduces to $$ \underline{W} = \sum_i \sum_{j > i} \vec r_{ij} \otimes \vec f_{ij} $$

Trait Implementations

impl Compute for AtomicVirial

type Output = Matrix3

The data type of the property

Auto Trait Implementations

impl RefUnwindSafe for AtomicVirial

impl Send for AtomicVirial

impl Sync for AtomicVirial

impl Unpin for AtomicVirial

impl UnwindSafe for AtomicVirial

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