[−]Struct lumol::sim::md::RescaleThermostat
Velocity rescaling thermostat.
This algorithm controls the temperature by rescaling all the velocities when the temperature differs exceedingly from the desired temperature. A tolerance parameter prevent this algorithm from running too often: if tolerance is 10K and the target temperature is 300K, the algorithm will only run if the instant temperature is below 290K or above 310K.
WARNING: This thermostat does NOT produces a NVT or NPT ensemble. It will not even produce correct average temperature, except if the rescaling is done at every step. It can It can still be usefull in the equilibration of a system at a given temperature before an actual simulation. A good alternative is the CSVR thermostat, which produces correct ensemble.
Implementations
impl RescaleThermostat
pub fn new(temperature: f64) -> RescaleThermostat
Create a new RescaleThermostat
acting at temperature temperature
, with a
tolerance of 5% * temperature
.
pub fn with_tolerance(temperature: f64, tol: f64) -> RescaleThermostat
Create a new RescaleThermostat
acting at temperature T
, with a
tolerance of tol
. For rescaling all the steps, use tol = 0
.
Trait Implementations
impl FromToml for RescaleThermostat
impl Thermostat for RescaleThermostat
Auto Trait Implementations
impl RefUnwindSafe for RescaleThermostat
impl Send for RescaleThermostat
impl Sync for RescaleThermostat
impl Unpin for RescaleThermostat
impl UnwindSafe for RescaleThermostat
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>,