Go to the source code of this file.
|
void | shift (Species< DeviceType > &species, SortViews< DeviceType > &sort_views, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const DomainDecomposition< DeviceType > &pol_decomp, bool send_phase0, bool plane_sort_only=false) |
|
void | shift_all_species (Plasma &plasma, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const DomainDecomposition< DeviceType > &pol_decomp, Shift::ShiftPh0 shift_ph0) |
|
Shifts particles between MPI ranks. First the particles are sorted by destination rank The particles are packed into a buffer and sent with an MPI all-to-all Then they are unpacked from the receiving buffer back into the particle AoSoA The same is done for phase0, needed for ions
- Parameters
-
[in,out] | species | contains the particles |
[in] | sort_views | is needed for the sort |
[in] | grid | is needed for the sort |
[in] | magnetic_field | is needed for the sort |
[in] | pol_decomp | is needed for the sort and shift |
- Returns
- void
Shifts particles between MPI ranks. First the particles are sorted by destination rank The particles are packed into a buffer and sent with an MPI all-to-all Then they are unpacked from the receiving buffer back into the particle AoSoA The same is done for phase0, needed for ions
- Parameters
-
[in,out] | plasma | contains all species info |
[in] | grid | is needed for the sort |
[in] | magnetic_field | is needed for the sort |
[in] | pol_decomp | is needed for the sort |
- Returns
- void