OpenLB 1.7
Loading...
Searching...
No Matches
Static Public Member Functions | Static Public Attributes | List of all members
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 229 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 230 of file particleTasks.h.

234 {
235 using namespace descriptors;
236
237 //Retrieve dimension of force data
238 constexpr unsigned D = PARTICLETYPE::d;
239 constexpr unsigned Drot = utilities::dimensions::convert<D>::rotation;
240 constexpr unsigned forceDataSize = D+Drot;
241
242 //Create globalIdDataMap
243 std::map<std::size_t, Vector<T,forceDataSize>> globalIdDataMap;
244
245 //Communicate surface force and add to globalIdDatamap
246 communication::communicateSurfaceForce( sParticleSystem, globalIdDataMap
247//#ifdef PARALLEL_MODE_MPI
248 , communicator.surfaceForceComm
249//#endif
250 );
251
252 //Assign data in globalIdData Map to correct particle
253 communication::assignSurfaceForce( sParticleSystem, globalIdDataMap );
254 }
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 >
constexpr bool olb::particles::communicate_surface_force< T, PARTICLETYPE >::latticeCoupling = false
staticconstexpr

Definition at line 255 of file particleTasks.h.

◆ particleLoop

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

Definition at line 256 of file particleTasks.h.


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