ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
brownian_inline.hpp File Reference
#include "config/config.hpp"
#include "Particle.hpp"
#include "random.hpp"
#include "rotation.hpp"
#include "thermostat.hpp"
#include <utils/Vector.hpp>
#include <cmath>
+ Include dependency graph for thermostats/brownian_inline.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

Utils::Vector3d bd_drag (Thermostat::GammaType const &brownian_gamma, Particle const &p, double dt)
 Determine position: viscous drag driven by conservative forces.
 
Utils::Vector3d bd_drag_vel (Thermostat::GammaType const &brownian_gamma, Particle const &p)
 Set the terminal velocity driven by the conservative forces drag.
 
Utils::Vector3d bd_random_walk (BrownianThermostat const &brownian, Particle const &p, double dt, double kT)
 Determine the positions: random walk part.
 
Utils::Vector3d bd_random_walk_vel (BrownianThermostat const &brownian, Particle const &p)
 Determine the velocities: random walk part.
 
Utils::Quaternion< doublebd_drag_rot (Thermostat::GammaType const &brownian_gamma_rotation, Particle &p, double dt)
 Determine quaternions: viscous drag driven by conservative torques.
 
Utils::Vector3d bd_drag_vel_rot (Thermostat::GammaType const &brownian_gamma_rotation, Particle const &p)
 Set the terminal angular velocity driven by the conservative torques drag.
 
Utils::Quaternion< doublebd_random_walk_rot (BrownianThermostat const &brownian, Particle const &p, double dt, double kT)
 Determine the quaternions: random walk part.
 
Utils::Vector3d bd_random_walk_vel_rot (BrownianThermostat const &brownian, Particle const &p)
 Determine the angular velocities: random walk part.
 

Function Documentation

◆ bd_drag()

Utils::Vector3d bd_drag ( Thermostat::GammaType const brownian_gamma,
Particle const p,
double  dt 
)
inline

Determine position: viscous drag driven by conservative forces.

From eq. (14.39) in [40].

Parameters
[in]brownian_gammaBrownian translational gamma
[in]pParticle
[in]dtTime step

Definition at line 41 of file thermostats/brownian_inline.hpp.

References convert_vector_body_to_space(), convert_vector_space_to_body(), Particle::force(), Particle::gamma(), Particle::is_fixed_along(), and stream.

Referenced by brownian_dynamics_propagator().

◆ bd_drag_rot()

Utils::Quaternion< double > bd_drag_rot ( Thermostat::GammaType const brownian_gamma_rotation,
Particle p,
double  dt 
)
inline

Determine quaternions: viscous drag driven by conservative torques.

An analogy of eq. (14.39) in [40].

Parameters
[in]brownian_gamma_rotationBrownian rotational gamma
[in]pParticle
[in]dtTime step

Definition at line 245 of file thermostats/brownian_inline.hpp.

References Particle::can_rotate_around(), Particle::gamma_rot(), local_rotate_particle_body(), Particle::quat(), Particle::rotation(), stream, and Particle::torque().

Referenced by brownian_dynamics_rotator().

◆ bd_drag_vel()

Utils::Vector3d bd_drag_vel ( Thermostat::GammaType const brownian_gamma,
Particle const p 
)
inline

Set the terminal velocity driven by the conservative forces drag.

From eq. (14.34) in [40].

Parameters
[in]brownian_gammaBrownian translational gamma
[in]pParticle

Definition at line 94 of file thermostats/brownian_inline.hpp.

References convert_vector_body_to_space(), convert_vector_space_to_body(), Particle::force(), Particle::gamma(), Particle::is_fixed_along(), stream, and velocity().

Referenced by brownian_dynamics_propagator().

◆ bd_drag_vel_rot()

Utils::Vector3d bd_drag_vel_rot ( Thermostat::GammaType const brownian_gamma_rotation,
Particle const p 
)
inline

Set the terminal angular velocity driven by the conservative torques drag.

An analogy of the 1st term of eq. (14.34) in [40].

Parameters
[in]brownian_gamma_rotationBrownian rotational gamma
[in]pParticle

Definition at line 284 of file thermostats/brownian_inline.hpp.

References Particle::can_rotate_around(), Particle::gamma_rot(), Particle::rotation(), stream, and Particle::torque().

Referenced by brownian_dynamics_rotator().

◆ bd_random_walk()

Utils::Vector3d bd_random_walk ( BrownianThermostat const brownian,
Particle const p,
double  dt,
double  kT 
)
inline

Determine the positions: random walk part.

From eq. (14.37) in [40].

Parameters
[in]brownianParameters
[in]pParticle
[in]dtTime step
[in]kTThermal energy

Definition at line 150 of file thermostats/brownian_inline.hpp.

References convert_vector_body_to_space(), Particle::gamma(), Particle::id(), Particle::is_fixed_along(), BaseThermostat::rng_counter(), BaseThermostat::rng_seed(), BrownianThermostat::sigma(), BrownianThermostat::sigma_pos, and stream.

Referenced by brownian_dynamics_propagator().

◆ bd_random_walk_rot()

Utils::Quaternion< double > bd_random_walk_rot ( BrownianThermostat const brownian,
Particle const p,
double  dt,
double  kT 
)
inline

Determine the quaternions: random walk part.

An analogy of eq. (14.37) in [40].

Parameters
[in]brownianParameters
[in]pParticle
[in]dtTime step
[in]kTThermal energy

Definition at line 318 of file thermostats/brownian_inline.hpp.

References Particle::can_rotate_around(), Particle::gamma_rot(), Particle::id(), local_rotate_particle_body(), Particle::quat(), BaseThermostat::rng_counter(), BaseThermostat::rng_seed(), Particle::rotation(), BrownianThermostat::sigma(), BrownianThermostat::sigma_pos_rotation, and stream.

Referenced by brownian_dynamics_rotator().

◆ bd_random_walk_vel()

Utils::Vector3d bd_random_walk_vel ( BrownianThermostat const brownian,
Particle const p 
)
inline

Determine the velocities: random walk part.

From eq. (10.2.16) in [37].

Parameters
[in]brownianParameters
[in]pParticle

Definition at line 216 of file thermostats/brownian_inline.hpp.

References Particle::id(), Particle::is_fixed_along(), Particle::mass(), BaseThermostat::rng_counter(), BaseThermostat::rng_seed(), BrownianThermostat::sigma_vel, stream, and velocity().

Referenced by brownian_dynamics_propagator().

◆ bd_random_walk_vel_rot()

Utils::Vector3d bd_random_walk_vel_rot ( BrownianThermostat const brownian,
Particle const p 
)
inline

Determine the angular velocities: random walk part.

An analogy of eq. (10.2.16) in [37].

Parameters
[in]brownianParameters
[in]pParticle

Definition at line 365 of file thermostats/brownian_inline.hpp.

References Particle::can_rotate_around(), Particle::id(), Particle::rinertia(), BaseThermostat::rng_counter(), BaseThermostat::rng_seed(), Particle::rotation(), BrownianThermostat::sigma_vel_rotation, and stream.

Referenced by brownian_dynamics_rotator().