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< double > bd_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< double > bd_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 [37].

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(), and Particle::is_fixed_along().

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 [37].

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

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

References Particle::can_rotate_around(), Particle::gamma_rot(), local_rotate_particle_body(), Utils::Vector< T, N >::norm(), Particle::quat(), Particle::rotation(), 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 [37].

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(), 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 [37].

Parameters
[in]brownian_gamma_rotationBrownian rotational gamma
[in]pParticle

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

References Particle::can_rotate_around(), Particle::gamma_rot(), Particle::rotation(), 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 [37].

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(), and BrownianThermostat::sigma_pos.

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 [37].

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

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

References Particle::can_rotate_around(), Particle::gamma_rot(), Particle::id(), local_rotate_particle_body(), Utils::Vector< T, N >::norm(), Particle::quat(), BaseThermostat::rng_counter(), BaseThermostat::rng_seed(), Particle::rotation(), BrownianThermostat::sigma(), and BrownianThermostat::sigma_pos_rotation.

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 [35].

Parameters
[in]brownianParameters
[in]pParticle

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

References Particle::id(), Particle::is_fixed_along(), Particle::mass(), BaseThermostat::rng_counter(), BaseThermostat::rng_seed(), BrownianThermostat::sigma_vel, 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 [35].

Parameters
[in]brownianParameters
[in]pParticle

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

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

Referenced by brownian_dynamics_rotator().