XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Functions
get_current_triangles.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_triangles.tpp:
This graph shows which files directly or indirectly include this file:

Functions

KOKKOS_INLINE_FUNCTION void complain_about_hygiene (const Simd< long long int > &gid, const SimdVector2D &x, const Simd< double > &phi, const Simd< double > &rho, const Simd< double > &mu, const Simd< int > &itr, const Simd< bool > &not_in_triangle)
 
template<class Device >
KOKKOS_INLINE_FUNCTION void get_current_triangles_c (const TmpSpecies< Device > &tmp_species, const Grid< Device > &grid, const Kokkos::View< int *, Kokkos::LayoutRight, Device > &current_triangle, int i_item)
 
template<class Device >
KOKKOS_INLINE_FUNCTION void compute_p_and_itr_c (const TmpSpecies< Device > &tmp_species, const Grid< Device > &grid, const MagneticField< Device > &magnetic_field, int i_item)
 

Function Documentation

KOKKOS_INLINE_FUNCTION void complain_about_hygiene ( const Simd< long long int > &  gid,
const SimdVector2D x,
const Simd< double > &  phi,
const Simd< double > &  rho,
const Simd< double > &  mu,
const Simd< int > &  itr,
const Simd< bool > &  not_in_triangle 
)

Output error if a particle isn't in a triangle. Actually it shouldn't be done here, but after every time the particles are moved in configuration space

Parameters
[in]gidvector of particle IDs (don't complain about dead particles)
[in]x(R,Z) coordinates of particles
[in]phitoroidal angle of particles
[in]rhoparallel velocity coordinate of particles
[in]mumagnetic moment of particles
[in]itrtriangle indices (-1 if outside of mesh)
[in]not_in_trianglevector of whether they're in a triangle

Here is the caller graph for this function:

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

Loop over particles and save the triangle as well as the weights of each of the triangle vertices

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

Here is the call graph for this function:

template<class Device >
KOKKOS_INLINE_FUNCTION void get_current_triangles_c ( const TmpSpecies< Device > &  tmp_species,
const Grid< Device > &  grid,
const Kokkos::View< int *, Kokkos::LayoutRight, Device > &  current_triangle,
int  i_item 
)

Loop over particles and save the triangle they belong to

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: