hoomd_interaction/
zero.rs1use serde::{Deserialize, Serialize};
7
8use hoomd_microstate::{Body, Microstate};
9
10use super::{DeltaEnergyInsert, DeltaEnergyOne, DeltaEnergyRemove, TotalEnergy};
11
12#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
17pub struct Zero;
18
19impl<M> TotalEnergy<M> for Zero {
20 #[inline]
21 fn total_energy(&self, _microstate: &M) -> f64 {
22 0.0
23 }
24}
25
26impl<B, S, X, C> DeltaEnergyOne<B, S, X, C> for Zero {
27 #[inline]
28 fn delta_energy_one(
29 &self,
30 _initial_microstate: &Microstate<B, S, X, C>,
31 _body_index: usize,
32 _final_body: &Body<B, S>,
33 ) -> f64 {
34 0.0
35 }
36}
37
38impl<B, S, X, C> DeltaEnergyInsert<B, S, X, C> for Zero {
39 #[inline]
40 fn delta_energy_insert(
41 &self,
42 _initial_microstate: &Microstate<B, S, X, C>,
43 _new_body: &Body<B, S>,
44 ) -> f64 {
45 0.0
46 }
47}
48
49impl<B, S, X, C> DeltaEnergyRemove<B, S, X, C> for Zero {
50 #[inline]
51 fn delta_energy_remove(
52 &self,
53 _initial_microstate: &Microstate<B, S, X, C>,
54 _body_index: usize,
55 ) -> f64 {
56 0.0
57 }
58}