OpenLB 1.7
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
particleUtilities.h File Reference
#include <cassert>
#include <unordered_set>
#include "particles/communication/utilities.h"
+ Include dependency graph for particleUtilities.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  olb::particles::discrete_points_on_hull
 

Namespaces

namespace  olb
 Top level namespace for all of OpenLB.
 
namespace  olb::particles
 
namespace  olb::particles::communication
 
namespace  olb::particles::sorting
 

Functions

template<typename T >
std::array< Vector< T, 3 >, 26 > olb::particles::discretePointsOnSphericalHull (Vector< T, 3 > position, T radius)
 
template<typename T >
std::array< Vector< T, 2 >, 8 > olb::particles::discretePointsOnSphericalHull (Vector< T, 2 > position, T radius)
 
template<typename T , typename PARTICLETYPE >
void olb::particles::purgeInvalidParticles (XParticleSystem< T, PARTICLETYPE > &xParticleSystem)
 
template<typename T , typename PARTICLETYPE , std::size_t selectedID, typename F >
void olb::particles::doForParticleMatchingID (XParticleSystem< T, PARTICLETYPE > &xParticleSystem, F f)
 
template<typename T , typename PARTICLETYPE , typename PCONDITION = conditions::valid_particles>
bool olb::particles::searchParticleLocally (ParticleSystem< T, PARTICLETYPE > &particleSystem, std::size_t globalIDrequested, std::size_t &localParticleID)
 
template<typename T , typename PARTICLETYPE , typename PCONDITION = conditions::valid_particle_centres, bool sync = true>
bool olb::particles::communication::searchParticleGlobally (SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, std::size_t globalIDrequested, std::size_t &localParticleID, int &globiC)
 Search particle in SuperParticleSystem by globalParticleID and return globiC if found.
 
template<typename T , unsigned D, typename F = std::function<void(int)>, bool domainWarning = false, bool checkDiscretePoints = false>
std::unordered_set< int > olb::particles::communication::getSurfaceTouchingICs (CuboidGeometry< T, D > &cuboidGeometry, Vector< T, D > position, T circumRadius, const Vector< bool, D > &periodicity, int globiC, F f=[](int){})
 Get a set of surface touching iCs (that are not globiC) Allows to run an optional function per unique globiC.
 
template<typename T , typename PARTICLETYPE , typename F = std::function<void(int)>>
std::unordered_set< int > olb::particles::communication::getSurfaceTouchingICs (SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, Vector< T, PARTICLETYPE::d > position, T circumRadius, const Vector< bool, PARTICLETYPE::d > &periodicity, int globiC, F f=[](int){})
 
template<typename T , unsigned D, typename F = std::function<void(int)>, bool domainWarning = false>
std::vector< int > olb::particles::communication::getVectorOfSurfaceTouchingICs (CuboidGeometry< T, D > &cuboidGeometry, Vector< T, D > position, T circumRadius, const Vector< bool, D > &periodicity, int globiC, F f=[](int){})
 
template<typename T , typename PARTICLETYPE , typename ... NESTED_FIELDS>
std::size_t olb::particles::sorting::partitionParticleSystem (ParticleSystem< T, PARTICLETYPE > &particleSystem)