[−]Struct lumol::sys::compute::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
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,
[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<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>,