OpenLB 1.8.1
Loading...
Searching...
No Matches
olb::particles::communicate_surface_force< T, PARTICLETYPE > Struct Template Reference

Communicate surface force of parallel particles. More...

#include <particleTasks.h>

+ Collaboration diagram for olb::particles::communicate_surface_force< T, PARTICLETYPE >:

Static Public Member Functions

static auto execute (SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, const communication::ParticleCommunicator &communicator)
 

Static Public Attributes

static constexpr bool latticeCoupling = false
 
static constexpr bool particleLoop = false
 

Detailed Description

template<typename T, typename PARTICLETYPE>
struct olb::particles::communicate_surface_force< T, PARTICLETYPE >

Communicate surface force of parallel particles.

Definition at line 285 of file particleTasks.h.

Member Function Documentation

◆ execute()

template<typename T , typename PARTICLETYPE >
static auto olb::particles::communicate_surface_force< T, PARTICLETYPE >::execute ( SuperParticleSystem< T, PARTICLETYPE > & sParticleSystem,
const communication::ParticleCommunicator & communicator )
inlinestatic

Definition at line 286 of file particleTasks.h.

290 {
291 using namespace descriptors;
292
293 //Retrieve dimension of force data
294 constexpr unsigned D = PARTICLETYPE::d;
295 constexpr unsigned Drot = utilities::dimensions::convert<D>::rotation;
296 constexpr unsigned forceDataSize = D+Drot;
297
298 //Create globalIdDataMap
299 std::map<std::size_t, Vector<T,forceDataSize>> globalIdDataMap;
300
301 //Communicate surface force and add to globalIdDatamap
302 communication::communicateSurfaceForce( sParticleSystem, globalIdDataMap
303//#ifdef PARALLEL_MODE_MPI
304 , communicator.surfaceForceComm
305//#endif
306 );
307
308 //Assign data in globalIdData Map to correct particle
309 communication::assignSurfaceForce( sParticleSystem, globalIdDataMap );
310 }
void communicateSurfaceForce(SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, std::map< std::size_t, Vector< T, forceDataSize > > &globalIdDataMap, MPI_Comm surfaceForceComm)
void assignSurfaceForce(SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, std::map< std::size_t, Vector< T, forceDataSize > > &globalIdDataMap)

References olb::particles::communication::assignSurfaceForce(), olb::particles::communication::communicateSurfaceForce(), and olb::particles::communication::ParticleCommunicator::surfaceForceComm.

+ Here is the call graph for this function:

Member Data Documentation

◆ latticeCoupling

template<typename T , typename PARTICLETYPE >
bool olb::particles::communicate_surface_force< T, PARTICLETYPE >::latticeCoupling = false
staticconstexpr

Definition at line 311 of file particleTasks.h.

◆ particleLoop

template<typename T , typename PARTICLETYPE >
bool olb::particles::communicate_surface_force< T, PARTICLETYPE >::particleLoop = false
staticconstexpr

Definition at line 312 of file particleTasks.h.


The documentation for this struct was generated from the following file: