IPPL API Reference
Independent Parallel Particle Layer C++ API
Loading...
Searching...
No Matches
Tags.h
1//
2// Enum Tag
3// Defines tags for MPI communiation.
4//
5#ifndef IPPL_MPI_TAGS_H
6#define IPPL_MPI_TAGS_H
7
8namespace ippl {
9 namespace mpi {
10 namespace tag {
11 enum Tag : int {
12 // Tag for applying parallel periodic boundary condition.
13 BC_PARALLEL_PERIODIC = 0,
14 BC_CYCLE = 5000,
15
16 // Halo cells
17 HALO = 5001,
18 HALO_SEND = 15000,
19 HALO_RECV = 20000,
20
21 // Special tags used by Particle classes for communication.
22 P_SPATIAL_LAYOUT = 10000,
23 P_LAYOUT_CYCLE = 5000,
24
25 // IDs used to identify buffers created using the buffer factory interface
26 // Periodic boundary conditions
27 PERIODIC_BC_SEND = 10000,
28 PERIODIC_BC_RECV = 15000,
29
30 // Particle spatial layout
31 PARTICLE_SEND = 20000,
32 PARTICLE_RECV = 25000,
33
34 // FFT Poisson Solver
35 SOLVER_SEND = 20000,
36 SOLVER_RECV = 25000,
37 VICO_SEND = 26000,
38 VICO_RECV = 31000,
39
40 OPEN_SOLVER = 32000,
41 VICO_SOLVER = 32001,
42
43 // FEMVector
44 FEMVECTOR = 40000,
45
46 // Field mirror helper (see Field/FieldBufferOps.hpp / mirrorField)
47 FIELD_MIRROR = 40500
48 };
49 } // namespace tag
50 } // namespace mpi
51} // namespace ippl
52
53#endif
Definition Archive.h:20