[−]Struct lumol::sim::md::BerendsenThermostat
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]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,