hoomd_interaction/external/
constant_torque.rs1use serde::{Deserialize, Serialize};
6
7use hoomd_vector::{Outer, Wedge};
8
9use crate::SiteForceVirialAndTorque;
10
11#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
13pub struct ConstantTorque<V: Wedge> {
14 pub torque: V::Bivector,
16}
17
18impl<S, V> SiteForceVirialAndTorque<S> for ConstantTorque<V>
19where
20 V: Default + Wedge + Outer,
21 V::Bivector: Copy + Default,
22 V::Tensor: Default,
23{
24 type Force = V;
25
26 #[inline]
27 fn site_force_virial_and_torque(&self, _site_properties: &S) -> (V, V::Tensor, V::Bivector) {
28 (V::default(), V::Tensor::default(), self.torque)
29 }
30}