XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Functions
sort.cpp File Reference
#include "globals.hpp"
#include "sml.hpp"
#include "magnetic_field.hpp"
#include "grid.hpp"
#include "particles.hpp"
#include "species.hpp"
#include "gen_perm.hpp"
#include "get_current_triangles.hpp"
#include "get_current_pid.hpp"
#include "sheath.hpp"
#include "sort.hpp"
Include dependency graph for sort.cpp:

Functions

template<class Device >
KOKKOS_INLINE_FUNCTION void ptl_to_sorted_tmp_array_ph1_c (const TmpSpecies< Device > &tmp_species, int i_item)
 
template<class Device >
KOKKOS_INLINE_FUNCTION void ptl_to_tmp_array_ph1_c (const TmpSpecies< Device > &tmp_species, int i_item)
 
template<class Device >
KOKKOS_INLINE_FUNCTION void tmp_array_to_ptl_ph1_c (const TmpSpecies< Device > &tmp_species, int i_item)
 
template<class Device >
KOKKOS_INLINE_FUNCTION void ptl_to_sorted_tmp_array_ph2_c (const TmpSpecies< Device > &tmp_species, int i_item)
 
template<class Device >
KOKKOS_INLINE_FUNCTION void ptl_to_tmp_array_ph2_c (const TmpSpecies< Device > &tmp_species, int i_item)
 
template<class Device >
KOKKOS_INLINE_FUNCTION void tmp_array_to_ptl_ph2_c (const TmpSpecies< Device > &tmp_species, int i_item)
 
template<class Device >
KOKKOS_INLINE_FUNCTION void ptl_to_sorted_tmp_array_ct_c (const TmpSpecies< Device > &tmp_species, int i_item)
 
template<class Device >
KOKKOS_INLINE_FUNCTION void ptl_to_tmp_array_ct_c (const TmpSpecies< Device > &tmp_species, int i_item)
 
template<class Device >
KOKKOS_INLINE_FUNCTION void tmp_array_to_ptl_ct_c (const TmpSpecies< Device > &tmp_species, int i_item)
 
void ptl_to_tmp_array_ph1 (const TmpSpecies< DeviceType > &tmp_species, int num_particle)
 
void tmp_array_to_ptl_ph1 (const TmpSpecies< DeviceType > &tmp_species, int num_particle)
 
void ptl_to_tmp_array_ph2 (const TmpSpecies< DeviceType > &tmp_species, int num_particle)
 
void tmp_array_to_ptl_ph2 (const TmpSpecies< DeviceType > &tmp_species, int num_particle)
 
void ptl_to_tmp_array_ct (const TmpSpecies< DeviceType > &tmp_species, int num_particle)
 
void tmp_array_to_ptl_ct (const TmpSpecies< DeviceType > &tmp_species, int num_particle)
 
void sort_particles (const TmpSpecies< DeviceType > &tmp_species)
 
void sort_sheath_particles (const TmpSpecies< DeviceType > &tmp_species, const SheathParticles< DeviceType > &sheath_particles)
 
void sort_particles_by_triangle (const GeneratePermutation< DeviceType > &gen_perm, const Grid< DeviceType > &grid, const TmpSpecies< DeviceType > &tmp_species, const SheathParticles< DeviceType > &sheath_particles, int sheath_mode)
 
void sort_particles_by_pid (const GeneratePermutation< DeviceType > &pid_gen_perm, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const DomainDecomposition< DeviceType > &pol_decomp, const TmpSpecies< DeviceType > &tmp_species, const SheathParticles< DeviceType > &sheath_particles, int sheath_mode)
 

Function Documentation

template<class Device >
KOKKOS_INLINE_FUNCTION void ptl_to_sorted_tmp_array_ct_c ( const TmpSpecies< Device > &  tmp_species,
int  i_item 
)

Write the constants from the AoSoA to the temporary array with permuted indices

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 void ptl_to_sorted_tmp_array_ph1_c ( const TmpSpecies< Device > &  tmp_species,
int  i_item 
)

Write the first half of phase from the AoSoA to the temporary array with permuted indices

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 void ptl_to_sorted_tmp_array_ph2_c ( const TmpSpecies< Device > &  tmp_species,
int  i_item 
)

Write the second half of phase from the AoSoA to the temporary array with permuted indices

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:

void ptl_to_tmp_array_ct ( const TmpSpecies< DeviceType > &  tmp_species,
int  num_particle 
)

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Device >
KOKKOS_INLINE_FUNCTION void ptl_to_tmp_array_ct_c ( const TmpSpecies< Device > &  tmp_species,
int  i_item 
)

Write the constants from the AoSoA to the temporary array

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:

void ptl_to_tmp_array_ph1 ( const TmpSpecies< DeviceType > &  tmp_species,
int  num_particle 
)

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Device >
KOKKOS_INLINE_FUNCTION void ptl_to_tmp_array_ph1_c ( const TmpSpecies< Device > &  tmp_species,
int  i_item 
)

Write the first half of phase from the AoSoA to the temporary array

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:

void ptl_to_tmp_array_ph2 ( const TmpSpecies< DeviceType > &  tmp_species,
int  num_particle 
)

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Device >
KOKKOS_INLINE_FUNCTION void ptl_to_tmp_array_ph2_c ( const TmpSpecies< Device > &  tmp_species,
int  i_item 
)

Write the second half of phase from the AoSoA to the temporary array

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:

void sort_particles ( const TmpSpecies< DeviceType > &  tmp_species)

Here is the call graph for this function:

void sort_particles_by_pid ( const GeneratePermutation< DeviceType > &  pid_gen_perm,
const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
const DomainDecomposition< DeviceType > &  pol_decomp,
const TmpSpecies< DeviceType > &  tmp_species,
const SheathParticles< DeviceType > &  sheath_particles,
int  sheath_mode 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void sort_particles_by_triangle ( const GeneratePermutation< DeviceType > &  gen_perm,
const Grid< DeviceType > &  grid,
const TmpSpecies< DeviceType > &  tmp_species,
const SheathParticles< DeviceType > &  sheath_particles,
int  sheath_mode 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void sort_sheath_particles ( const TmpSpecies< DeviceType > &  tmp_species,
const SheathParticles< DeviceType > &  sheath_particles 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void tmp_array_to_ptl_ct ( const TmpSpecies< DeviceType > &  tmp_species,
int  num_particle 
)

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Device >
KOKKOS_INLINE_FUNCTION void tmp_array_to_ptl_ct_c ( const TmpSpecies< Device > &  tmp_species,
int  i_item 
)

Write the constants from the temporary array to the AoSoA

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:

void tmp_array_to_ptl_ph1 ( const TmpSpecies< DeviceType > &  tmp_species,
int  num_particle 
)

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Device >
KOKKOS_INLINE_FUNCTION void tmp_array_to_ptl_ph1_c ( const TmpSpecies< Device > &  tmp_species,
int  i_item 
)

Write the first half of phase from the temporary array to the AoSoA

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:

void tmp_array_to_ptl_ph2 ( const TmpSpecies< DeviceType > &  tmp_species,
int  num_particle 
)

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Device >
KOKKOS_INLINE_FUNCTION void tmp_array_to_ptl_ph2_c ( const TmpSpecies< Device > &  tmp_species,
int  i_item 
)

Write the second half of phase from the temporary array to the AoSoA

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: