[]Struct lumol::sim::md::BerendsenThermostat

pub struct BerendsenThermostat { /* fields omitted */ }

Berendsen (or weak coupling) thermostat.

The Berendsen thermostat sets the simulation temperature by exponentially relaxing to a desired temperature. A more complete description of this algorithm can be found in the original article [1].

WARNING: This thermostat does NOT produces a reliable NVT or NPT ensemble (See [2]). While it produces correct average temperature, it does not reproduce the fluctuations of said temperature. It can still be usefull, especialy for the equilibration part of a simulation. Good alternatives include the CSVR or Nosé-Hoover thermostats (not yet implemented in lumol), which produce correct ensembles.

[1] Berendsen et al. J. Chem Phys 81, 3684 (1984); doi: 10.1063/1.448118

[2] Braun et al. J. Chem. Theo. Comp. 14, 10 (2018) doi: 10.1021/acs.jctc

Implementations

impl BerendsenThermostat

pub fn new(temperature: f64, tau: f64) -> BerendsenThermostat

Create a new BerendsenThermostat acting at the given temperature, with a timestep of tau times the integrator timestep.

Trait Implementations

impl FromToml for BerendsenThermostat

impl Thermostat for BerendsenThermostat

Auto Trait Implementations

impl RefUnwindSafe for BerendsenThermostat

impl Send for BerendsenThermostat

impl Sync for BerendsenThermostat

impl Unpin for BerendsenThermostat

impl UnwindSafe for BerendsenThermostat

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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