ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
#include "config/config.hpp"
#include "sd_interface.hpp"
#include "stokesian_dynamics/sd_cpu.hpp"
#include "BoxGeometry.hpp"
#include "Particle.hpp"
#include "communication.hpp"
#include "system/System.hpp"
#include "thermostat.hpp"
#include <utils/Vector.hpp>
#include <utils/mpi/gather_buffer.hpp>
#include <utils/mpi/scatter_buffer.hpp>
#include <boost/serialization/is_bitwise_serializable.hpp>
#include <algorithm>
#include <cmath>
#include <cstddef>
#include <iterator>
#include <stdexcept>
#include <string>
#include <utility>
#include <vector>
Go to the source code of this file.
Classes | |
struct | SD_particle_data |
Functions | |
void | register_integrator (StokesianDynamicsParameters const &obj) |
template<typename ParticleIterable > | |
void | sd_update_locally (ParticleIterable const &parts) |
Update translational and rotational velocities of all particles. | |
void | propagate_vel_pos_sd (ParticleRangeStokesian const &particles, StokesianThermostat const &stokesian, double const time_step, double const kT) |
Takes the forces and torques on all particles and computes their velocities. | |
Variables | |
static StokesianDynamicsParameters | params {0., {}, 0} |
static std::vector< double > | v_sd {} |
Buffer that holds the (translational and angular) velocities of the local particles on each node, used for returning results. | |
void propagate_vel_pos_sd | ( | ParticleRangeStokesian const & | particles, |
StokesianThermostat const & | stokesian, | ||
double | time_step, | ||
double | kT | ||
) |
Takes the forces and torques on all particles and computes their velocities.
Acts globally on particles on all nodes; i.e. particle data is gathered from all nodes and their velocities and angular velocities are set according to the Stokesian Dynamics method.
Definition at line 127 of file sd_interface.cpp.
References comm_cart, StokesianDynamicsParameters::flags, Utils::Mpi::gather_buffer(), params, StokesianDynamicsParameters::radii, BaseThermostat::rng_counter(), BaseThermostat::rng_seed(), Utils::Mpi::scatter_buffer(), sd_update_locally(), ParticleRange::size(), v_sd, and StokesianDynamicsParameters::viscosity.
Referenced by stokesian_dynamics_step_1().
void register_integrator | ( | StokesianDynamicsParameters const & | obj | ) |
Definition at line 77 of file sd_interface.cpp.
References System::System::box_geo, System::get_system(), and params.
void sd_update_locally | ( | ParticleIterable const & | parts | ) |
Update translational and rotational velocities of all particles.
Definition at line 88 of file sd_interface.cpp.
References v_sd.
Referenced by propagate_vel_pos_sd().
|
static |
Definition at line 71 of file sd_interface.cpp.
Referenced by propagate_vel_pos_sd(), and register_integrator().
|
static |
Buffer that holds the (translational and angular) velocities of the local particles on each node, used for returning results.
Definition at line 75 of file sd_interface.cpp.
Referenced by propagate_vel_pos_sd(), and sd_update_locally().