pub trait Thermostat<M> {
// Required methods
fn integrate_half_step_one<R: Rng + ?Sized>(
&mut self,
rng: &mut R,
macrostate: &M,
delta_t: f64,
kinetic_energy: f64,
degrees_of_freedom: usize,
) -> f64;
fn integrate_half_step_two<R: Rng + ?Sized>(
&mut self,
rng: &mut R,
macrostate: &M,
delta_t: f64,
kinetic_energy: f64,
degrees_of_freedom: usize,
) -> f64;
}Expand description
Scale momenta to hold the system at constant temperature.
Use any of the thermostats in the thermostat module along with the
integration method of your choice.
The ConstantVolume integration method rescales every momentum in the
system following the given Thermostat to sample trajectories from the
canonical ensemble.
Required Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.