ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
#include "config/config.hpp"
#include "BoxGeometry.hpp"
#include "Particle.hpp"
#include "PropagationMode.hpp"
#include "cell_system/CellStructure.hpp"
#include "cells.hpp"
#include "errorhandling.hpp"
#include "forces.hpp"
#include "lees_edwards/lees_edwards.hpp"
#include "rotation.hpp"
#include <utils/Vector.hpp>
#include <utils/math/quaternion.hpp>
#include <utils/math/tensor_product.hpp>
#include <utils/quaternion.hpp>
#include <cassert>
Go to the source code of this file.
Functions | |
static auto | connection_vector (Particle const &p_ref, Particle const &p_vs) |
Vector pointing from the real particle to the virtual site. | |
static Utils::Vector3d | velocity (Particle const &p_ref, Particle const &p_vs) |
Velocity of the virtual site. | |
static Particle * | get_reference_particle (CellStructure &cell_structure, Particle const &p) |
Get real particle tracked by a virtual site. | |
static auto | constraint_stress (Particle const &p_ref, Particle const &p_vs) |
Constraint force to hold the particle at its prescribed position. | |
static bool | is_vs_relative_trans (Particle const &p) |
static bool | is_vs_relative_rot (Particle const &p) |
static bool | is_vs_relative (Particle const &p) |
void | vs_relative_update_particles (CellStructure &cell_structure, BoxGeometry const &box_geo) |
void | vs_relative_back_transfer_forces_and_torques (CellStructure &cell_structure) |
Utils::Matrix< double, 3, 3 > | vs_relative_pressure_tensor (CellStructure const &cell_structure) |
Vector pointing from the real particle to the virtual site.
Definition at line 45 of file relative.cpp.
References Utils::convert_quaternion_to_director(), Particle::quat(), and Particle::vs_relative().
Referenced by constraint_stress(), velocity(), vs_relative_back_transfer_forces_and_torques(), and vs_relative_update_particles().
Constraint force to hold the particle at its prescribed position.
p_ref | Reference particle. |
p_vs | Virtual site. |
Definition at line 104 of file relative.cpp.
References connection_vector(), and Particle::force().
Referenced by vs_relative_pressure_tensor().
|
static |
Get real particle tracked by a virtual site.
cell_structure | Cell structure. |
p | Virtual site. |
Definition at line 81 of file relative.cpp.
References CellStructure::get_local_particle(), Particle::id(), runtimeErrorMsg, and Particle::vs_relative().
Referenced by vs_relative_back_transfer_forces_and_torques(), and vs_relative_update_particles().
|
static |
Definition at line 118 of file relative.cpp.
References is_vs_relative_rot(), and is_vs_relative_trans().
Referenced by vs_relative_back_transfer_forces_and_torques(), and vs_relative_update_particles().
|
static |
Definition at line 114 of file relative.cpp.
References Particle::propagation(), and PropagationMode::ROT_VS_RELATIVE.
Referenced by is_vs_relative(), vs_relative_back_transfer_forces_and_torques(), and vs_relative_update_particles().
|
static |
Definition at line 111 of file relative.cpp.
References Particle::propagation(), and PropagationMode::TRANS_VS_RELATIVE.
Referenced by is_vs_relative(), vs_relative_back_transfer_forces_and_torques(), vs_relative_pressure_tensor(), and vs_relative_update_particles().
|
static |
Velocity of the virtual site.
p_ref | Reference particle for the virtual site. |
p_vs | Virtual site. |
Definition at line 64 of file relative.cpp.
References connection_vector(), convert_vector_body_to_space(), Particle::omega(), Particle::v(), and vector_product().
Referenced by bd_drag_vel(), bd_random_walk_vel(), walberla::LBWalberlaImpl< FloatType, Architecture >::VelocityVTKWriter< OutputType >::evaluate(), walberla::lbm::accessor::Force::kernel_set(), walberla::lbm::accessor::Velocity::kernel_set(), walberla::lbm::accessor::Force::kernel_set(), walberla::lbm::accessor::Velocity::kernel_set(), walberla::lbm::accessor::Population::kernel_set_vel(), walberla::lbm::accessor::Population::kernel_set_vel(), walberla::pystencils::InitialPDFsSetterDoublePrecision::run(), walberla::pystencils::InitialPDFsSetterSinglePrecision::run(), walberla::pystencils::StreamSweepDoublePrecision::run(), walberla::pystencils::StreamSweepDoublePrecisionAVX::run(), walberla::pystencils::StreamSweepSinglePrecision::run(), walberla::pystencils::StreamSweepSinglePrecisionAVX::run(), walberla::pystencils::InitialPDFsSetterDoublePrecisionCUDA::run(), walberla::pystencils::InitialPDFsSetterSinglePrecisionCUDA::run(), walberla::pystencils::StreamSweepDoublePrecisionCUDA::run(), walberla::pystencils::StreamSweepSinglePrecisionCUDA::run(), walberla::pystencils::InitialPDFsSetterDoublePrecision::runOnCellInterval(), walberla::pystencils::InitialPDFsSetterSinglePrecision::runOnCellInterval(), walberla::pystencils::StreamSweepDoublePrecision::runOnCellInterval(), walberla::pystencils::StreamSweepDoublePrecisionAVX::runOnCellInterval(), walberla::pystencils::StreamSweepSinglePrecision::runOnCellInterval(), walberla::pystencils::StreamSweepSinglePrecisionAVX::runOnCellInterval(), walberla::pystencils::InitialPDFsSetterDoublePrecisionCUDA::runOnCellInterval(), walberla::pystencils::InitialPDFsSetterSinglePrecisionCUDA::runOnCellInterval(), walberla::pystencils::StreamSweepDoublePrecisionCUDA::runOnCellInterval(), walberla::pystencils::StreamSweepSinglePrecisionCUDA::runOnCellInterval(), walberla::LBWalberlaImpl< FloatType, Architecture >::set_node_velocity_at_boundary(), walberla::LBWalberlaImpl< FloatType, Architecture >::set_slice_velocity(), walberla::LBWalberlaImpl< FloatType, Architecture >::set_slice_velocity_at_boundary(), and vs_relative_update_particles().
void vs_relative_back_transfer_forces_and_torques | ( | CellStructure & | cell_structure | ) |
Definition at line 166 of file relative.cpp.
References connection_vector(), get_reference_particle(), CellStructure::ghost_particles(), CellStructure::ghosts_reduce_forces(), init_forces_ghosts(), is_vs_relative(), is_vs_relative_rot(), is_vs_relative_trans(), CellStructure::local_particles(), and vector_product().
Referenced by System::System::calculate_forces().
Utils::Matrix< double, 3, 3 > vs_relative_pressure_tensor | ( | CellStructure const & | cell_structure | ) |
Definition at line 194 of file relative.cpp.
References constraint_stress(), CellStructure::get_local_particle(), is_vs_relative_trans(), CellStructure::local_particles(), and pressure_tensor.
Referenced by System::System::calculate_pressure().
void vs_relative_update_particles | ( | CellStructure & | cell_structure, |
BoxGeometry const & | box_geo | ||
) |
Definition at line 122 of file relative.cpp.
References CellStructure::check_resort_required(), connection_vector(), Cells::DATA_PART_MOMENTUM, Cells::DATA_PART_POSITION, BoxGeometry::fold_position(), get_reference_particle(), CellStructure::ghosts_update(), is_vs_relative(), is_vs_relative_rot(), is_vs_relative_trans(), LEES_EDWARDS, CellStructure::local_particles(), Cells::RESORT_LOCAL, CellStructure::set_resort_particles(), BoxGeometry::type(), and velocity().
Referenced by System::System::integrate(), and System::System::update_dependent_particles().