|
XGC1
|
#include "globals.hpp"#include "magnetic_field.hpp"#include "grid.hpp"#include "particles.hpp"#include "species.hpp"

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 > ¬_in_triangle) |
| template<class Device > | |
| KOKKOS_INLINE_FUNCTION void | get_current_triangles_c (const Species< Device > &species, const Grid< Device > &grid, const MagneticField< Device > &magnetic_field, const Kokkos::View< int *, Kokkos::LayoutRight, Device > ¤t_triangle, int i_item) |
| 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
| [in] | gid | vector of particle IDs (don't complain about dead particles) |
| [in] | x | (R,Z) coordinates of particles |
| [in] | phi | toroidal angle of particles |
| [in] | rho | parallel velocity coordinate of particles |
| [in] | mu | magnetic moment of particles |
| [in] | itr | triangle indices (-1 if outside of mesh) |
| [in] | not_in_triangle | vector of whether they're in a triangle |

| KOKKOS_INLINE_FUNCTION void get_current_triangles_c | ( | const Species< Device > & | species, |
| const Grid< Device > & | grid, | ||
| const MagneticField< Device > & | magnetic_field, | ||
| const Kokkos::View< int *, Kokkos::LayoutRight, Device > & | current_triangle, | ||
| int | i_item | ||
| ) |
Loop over particles and save the triangle they belong to
| [in] | part | Particle AoSoA |
| [in] | i_item | Particle/vector index |

