XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Functions
get_current_pid.tpp File Reference
#include "globals.hpp"
#include "sml.hpp"
#include "magnetic_field.hpp"
#include "grid.hpp"
#include "particles.hpp"
#include "species.hpp"
Include dependency graph for get_current_pid.tpp:
This graph shows which files directly or indirectly include this file:

Functions

template<class Device >
KOKKOS_INLINE_FUNCTION int pid_gvid (const DomainDecomposition< Device > &pol_decomp, int gvid, int nnodes, int nproc)
 
template<class Device >
KOKKOS_INLINE_FUNCTION void get_current_pid_c (const TmpSpecies< Device > &tmp_species, const Grid< Device > &grid, const DomainDecomposition< Device > &pol_decomp, const MagneticField< Device > &magnetic_field, int i_item)
 

Function Documentation

template<class Device >
KOKKOS_INLINE_FUNCTION void get_current_pid_c ( const TmpSpecies< Device > &  tmp_species,
const Grid< Device > &  grid,
const DomainDecomposition< Device > &  pol_decomp,
const MagneticField< Device > &  magnetic_field,
int  i_item 
)

Loop over particles and determine what processor they should be handed off to after the push

Parameters
[in]partParticle AoSoA
[in]i_itemParticle/vector index

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Device >
KOKKOS_INLINE_FUNCTION int pid_gvid ( const DomainDecomposition< Device > &  pol_decomp,
int  gvid,
int  nnodes,
int  nproc 
)

Determine which processor the particle belongs to based on which node it belongs to.

Parameters
[in]gvidThe particle node. (Misnomer?)
[in]nnodesNumber of nodes total
[in]nprocNumber of processors total
Returns
The processor the particle should go to