ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
LangevinThermostat Struct Reference

Thermostat for Langevin dynamics. More...

#include <thermostat.hpp>

+ Inheritance diagram for LangevinThermostat:
+ Collaboration diagram for LangevinThermostat:

Public Member Functions

void recalc_prefactors (double kT, double time_step)
 Recalculate prefactors.
 
- Public Member Functions inherited from BaseThermostat
void rng_initialize (uint32_t const seed)
 Initialize or re-initialize the RNG counter with a seed.
 
void rng_increment ()
 Increment the RNG counter.
 
uint64_t rng_counter () const
 Get current value of the RNG.
 
void set_rng_counter (uint64_t value)
 
bool is_seed_required () const
 Is the RNG seed required.
 
uint32_t rng_seed () const
 

Static Public Member Functions

static GammaType sigma (double kT, double time_step, GammaType const &gamma)
 Calculate the noise prefactor.
 

Public Attributes

Parameters
GammaType gamma = Thermostat::gamma_sentinel
 Translational friction coefficient \( \gamma_{\text{trans}} \).
 
GammaType gamma_rotation = Thermostat::gamma_sentinel
 Rotational friction coefficient \( \gamma_{\text{rot}} \).
 
Prefactors
GammaType pref_friction = Thermostat::gamma_sentinel
 Prefactor for the friction.
 
GammaType pref_noise = Thermostat::gamma_sentinel
 Prefactor for the translational velocity noise.
 
GammaType pref_noise_rotation = Thermostat::gamma_sentinel
 Prefactor for the angular velocity noise.
 

Detailed Description

Thermostat for Langevin dynamics.

Definition at line 131 of file core/thermostat.hpp.

Member Function Documentation

◆ recalc_prefactors()

void LangevinThermostat::recalc_prefactors ( double  kT,
double  time_step 
)
inline

Recalculate prefactors.

Needs to be called every time the parameters are changed.

Definition at line 139 of file core/thermostat.hpp.

References gamma, gamma_rotation, pref_friction, pref_noise, pref_noise_rotation, and sigma().

◆ sigma()

static GammaType LangevinThermostat::sigma ( double  kT,
double  time_step,
GammaType const &  gamma 
)
inlinestatic

Calculate the noise prefactor.

Evaluates the quantity \( \sqrt{2 k_B T \gamma / dt} / \sigma_\eta \) with \( \sigma_\eta \) the standard deviation of the random uniform process \( \eta(t) \).

Definition at line 152 of file core/thermostat.hpp.

References gamma.

Referenced by friction_thermo_langevin(), friction_thermo_langevin_rotation(), and recalc_prefactors().

Member Data Documentation

◆ gamma

GammaType LangevinThermostat::gamma = Thermostat::gamma_sentinel

Translational friction coefficient \( \gamma_{\text{trans}} \).

Definition at line 160 of file core/thermostat.hpp.

Referenced by friction_thermo_langevin(), ScriptInterface::Thermostat::Langevin::Langevin(), recalc_prefactors(), and sigma().

◆ gamma_rotation

GammaType LangevinThermostat::gamma_rotation = Thermostat::gamma_sentinel

Rotational friction coefficient \( \gamma_{\text{rot}} \).

Definition at line 163 of file core/thermostat.hpp.

Referenced by friction_thermo_langevin_rotation(), ScriptInterface::Thermostat::Langevin::Langevin(), and recalc_prefactors().

◆ pref_friction

GammaType LangevinThermostat::pref_friction = Thermostat::gamma_sentinel

Prefactor for the friction.

Stores \( \gamma_{\text{trans}} \).

Definition at line 171 of file core/thermostat.hpp.

Referenced by friction_thermo_langevin(), and recalc_prefactors().

◆ pref_noise

GammaType LangevinThermostat::pref_noise = Thermostat::gamma_sentinel

Prefactor for the translational velocity noise.

Stores \( \sqrt{2 k_B T \gamma_{\text{trans}} / dt} / \sigma_\eta \).

Definition at line 175 of file core/thermostat.hpp.

Referenced by friction_thermo_langevin(), and recalc_prefactors().

◆ pref_noise_rotation

GammaType LangevinThermostat::pref_noise_rotation = Thermostat::gamma_sentinel

Prefactor for the angular velocity noise.

Stores \( \sqrt{2 k_B T \gamma_{\text{rot}} / dt} / \sigma_\eta \).

Definition at line 180 of file core/thermostat.hpp.

Referenced by friction_thermo_langevin_rotation(), and recalc_prefactors().


The documentation for this struct was generated from the following file: