![]() |
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
Thermostat for Brownian dynamics. More...
#include <thermostat.hpp>
Inheritance diagram for BrownianThermostat:
Collaboration diagram for BrownianThermostat:Public Member Functions | |
| void | recalc_prefactors (double kT) |
| 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, GammaType const &gamma) |
| Calculate the noise prefactor. | |
| static double | sigma (double kT) |
| 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 | sigma_pos = Thermostat::gamma_sentinel |
| Translational noise standard deviation. | |
| GammaType | sigma_pos_rotation = Thermostat::gamma_sentinel |
| Rotational noise standard deviation. | |
| double | sigma_vel = 0. |
| Translational velocity noise standard deviation. | |
| double | sigma_vel_rotation = 0. |
| Angular velocity noise standard deviation. | |
Thermostat for Brownian dynamics.
Default particle mass is assumed to be unitary in these global parameters.
Definition at line 193 of file core/thermostat.hpp.
Recalculate prefactors.
Needs to be called every time the parameters are changed.
The heat velocity dispersion corresponds to the Gaussian noise only, which is only valid for the BD. Just a square root of kT, see (10.2.17) and comments in 2 paragraphs afterwards, [37].
The random walk position dispersion is defined by the second eq. (14.38) of [40]. Its time interval factor will be added in the Brownian Dynamics functions. Its square root is the standard deviation.
Note: the BD thermostat assigns the brownian viscous parameters as well. They correspond to the friction tensor Z from the eq. (14.31) of [40].
Definition at line 201 of file core/thermostat.hpp.
References gamma, gamma_rotation, sigma(), sigma_pos, sigma_pos_rotation, sigma_vel, and sigma_vel_rotation.
Calculate the noise prefactor.
Evaluates the quantity \( \sqrt{k_B T} / \sigma_\eta \) with \( \sigma_\eta \) the standard deviation of the random gaussian process \( \eta(t) \).
Definition at line 235 of file core/thermostat.hpp.
References stream.
Calculate the noise prefactor.
Evaluates the quantity \( \sqrt{2 k_B T / \gamma} / \sigma_\eta \) with \( \sigma_\eta \) the standard deviation of the random gaussian process \( \eta(t) \).
Definition at line 226 of file core/thermostat.hpp.
References gamma, Utils::hadamard_division(), and stream.
Referenced by bd_random_walk(), bd_random_walk_rot(), and recalc_prefactors().
| GammaType BrownianThermostat::gamma = Thermostat::gamma_sentinel |
Translational friction coefficient \( \gamma_{\text{trans}} \).
Definition at line 242 of file core/thermostat.hpp.
Referenced by ScriptInterface::Thermostat::Brownian::Brownian(), brownian_dynamics_propagator(), recalc_prefactors(), and sigma().
| GammaType BrownianThermostat::gamma_rotation = Thermostat::gamma_sentinel |
Rotational friction coefficient \( \gamma_{\text{rot}} \).
Definition at line 244 of file core/thermostat.hpp.
Referenced by ScriptInterface::Thermostat::Brownian::Brownian(), brownian_dynamics_rotator(), and recalc_prefactors().
| GammaType BrownianThermostat::sigma_pos = Thermostat::gamma_sentinel |
Translational noise standard deviation.
Stores \( \sqrt{2D_{\text{trans}}} \) with \( D_{\text{trans}} = k_B T/\gamma_{\text{trans}} \) the translational diffusion coefficient.
Definition at line 253 of file core/thermostat.hpp.
Referenced by bd_random_walk(), and recalc_prefactors().
| GammaType BrownianThermostat::sigma_pos_rotation = Thermostat::gamma_sentinel |
Rotational noise standard deviation.
Stores \( \sqrt{2D_{\text{rot}}} \) with \( D_{\text{rot}} = k_B T/\gamma_{\text{rot}} \) the rotational diffusion coefficient.
Definition at line 260 of file core/thermostat.hpp.
Referenced by bd_random_walk_rot(), and recalc_prefactors().
| double BrownianThermostat::sigma_vel = 0. |
Translational velocity noise standard deviation.
Stores \( \sqrt{k_B T} \).
Definition at line 265 of file core/thermostat.hpp.
Referenced by bd_random_walk_vel(), and recalc_prefactors().
| double BrownianThermostat::sigma_vel_rotation = 0. |
Angular velocity noise standard deviation.
Stores \( \sqrt{k_B T} \).
Definition at line 270 of file core/thermostat.hpp.
Referenced by bd_random_walk_vel_rot(), and recalc_prefactors().