# [−]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.

## Blanket Implementations

### 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.