ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
relative.cpp File Reference
#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>
+ Include dependency graph for relative.cpp:

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 Particleget_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)
 

Function Documentation

◆ connection_vector()

static auto connection_vector ( Particle const &  p_ref,
Particle const &  p_vs 
)
static

Vector pointing from the real particle to the virtual site.

Returns
Relative distance.

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_stress()

static auto constraint_stress ( Particle const &  p_ref,
Particle const &  p_vs 
)
static

Constraint force to hold the particle at its prescribed position.

Parameters
p_refReference particle.
p_vsVirtual site.
Returns
Constraint force.

Definition at line 104 of file relative.cpp.

References connection_vector(), and Particle::force().

Referenced by vs_relative_pressure_tensor().

◆ get_reference_particle()

static Particle * get_reference_particle ( CellStructure cell_structure,
Particle const &  p 
)
static

Get real particle tracked by a virtual site.

Parameters
cell_structureCell structure.
pVirtual site.
Returns
Pointer to real particle.

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().

◆ is_vs_relative()

static bool is_vs_relative ( Particle const &  p)
static

◆ is_vs_relative_rot()

static bool is_vs_relative_rot ( Particle const &  p)
static

◆ is_vs_relative_trans()

◆ velocity()

static Utils::Vector3d velocity ( Particle const &  p_ref,
Particle const &  p_vs 
)
static

Velocity of the virtual site.

Parameters
p_refReference particle for the virtual site.
p_vsVirtual site.
Returns
Velocity of the 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().

◆ vs_relative_back_transfer_forces_and_torques()

◆ vs_relative_pressure_tensor()

Utils::Matrix< double, 3, 3 > vs_relative_pressure_tensor ( CellStructure const &  cell_structure)

◆ vs_relative_update_particles()