XGCa
|
#include <limits.h>
#include <string>
#include <cassert>
#include "space_settings.hpp"
#include "array_deep_copy.hpp"
#include "access_add.hpp"
#include "simd.hpp"
#include "constants.hpp"
Go to the source code of this file.
Classes | |
struct | is_same_type< T, U > |
struct | is_same_type< T, T > |
Enumerations | |
enum | Order { Order::Zero, Order::One, Order::Two } |
enum | SpeciesType { ELECTRON = 0, MAIN_ION = 1 } |
enum | KinType { DriftKin =0, GyroKin =1 } |
enum | PhiInterpType { PhiInterpType::Planes, PhiInterpType::None } |
enum | MarkerType { MarkerType::ReducedDeltaF, MarkerType::FullF, MarkerType::TotalF, MarkerType::None } |
enum | FAnalyticShape { FAnalyticShape::Maxwellian, FAnalyticShape::SlowingDown, FAnalyticShape::None } |
enum | WeightEvoEq { WeightEvoEq::Direct, WeightEvoEq::PDE, WeightEvoEq::None } |
enum | GeometryType { GeometryType::Toroidal, GeometryType::CylindricalLimit } |
enum | ParticlePhase { PIR = 0, PIZ, PIP, PIRHO, PIW1, PIW2, PTL_NPHASE } |
enum | ParticleConsts { PIM = 0, PIW0, PIF0, PTL_NCONST } |
Functions | |
int | get_num_cpu_threads () |
bool | is_rank_zero () |
void | exit_XGC (std::string msg) |
KOKKOS_INLINE_FUNCTION void | assert_XGC (bool cond, const char *msg) |
bool | causes_multiplication_overflow (int a, int b) |
bool | causes_addition_overflow (int a, int b) |
template<GeometryType GT> | |
KOKKOS_INLINE_FUNCTION double | geometry_switch (double a, double b) |
template<> | |
KOKKOS_INLINE_FUNCTION double | geometry_switch< GeometryType::Toroidal > (double a, double b) |
template<> | |
KOKKOS_INLINE_FUNCTION double | geometry_switch< GeometryType::CylindricalLimit > (double a, double b) |
template<GeometryType GT> | |
KOKKOS_INLINE_FUNCTION constexpr bool | use_toroidal_terms () |
template<> | |
KOKKOS_INLINE_FUNCTION constexpr bool | use_toroidal_terms< GeometryType::CylindricalLimit > () |
template<> | |
KOKKOS_INLINE_FUNCTION constexpr bool | use_toroidal_terms< GeometryType::Toroidal > () |
KOKKOS_INLINE_FUNCTION int | divide_and_round_up (int a, int b) |
KOKKOS_INLINE_FUNCTION unsigned | positive_modulo (int value, unsigned m) |
long long int | offsets_of_even_distribution (long long int n_obj, long long int n_subsets, long long int i_subset) |
long long int | counts_of_even_distribution (long long int n_obj, long long int n_subsets, long long int i_subset) |
std::string | formatted_int2str (int input, int n_digits) |
Variables | |
constexpr PhiInterpType | PIT_GLOBAL = PhiInterpType::None |
constexpr MarkerType | MT_GLOBAL = MarkerType::TotalF |
constexpr GeometryType | GEOMETRY = GeometryType::Toroidal |
bool | global_debug_flag |
|
strong |
|
strong |
enum KinType |
|
strong |
|
strong |
enum ParticleConsts |
enum ParticlePhase |
|
strong |
enum SpeciesType |
|
strong |
KOKKOS_INLINE_FUNCTION void assert_XGC | ( | bool | cond, |
const char * | msg | ||
) |
|
inline |
|
inline |
|
inline |
KOKKOS_INLINE_FUNCTION int divide_and_round_up | ( | int | a, |
int | b | ||
) |
|
inline |
|
inline |
KOKKOS_INLINE_FUNCTION double geometry_switch | ( | double | a, |
double | b | ||
) |
Returns the first input argument if using normal toroidal geometry, and the second input argument if using the cylindrical limit
[in] | a | is the first option |
[in] | b | is the second option |
KOKKOS_INLINE_FUNCTION double geometry_switch< GeometryType::CylindricalLimit > | ( | double | a, |
double | b | ||
) |
KOKKOS_INLINE_FUNCTION double geometry_switch< GeometryType::Toroidal > | ( | double | a, |
double | b | ||
) |
|
inline |
|
inline |
|
inline |
KOKKOS_INLINE_FUNCTION unsigned positive_modulo | ( | int | value, |
unsigned | m | ||
) |
KOKKOS_INLINE_FUNCTION constexpr bool use_toroidal_terms | ( | ) |
Returns true if using normal toroidal geometry, false if using the cylindrical limit
KOKKOS_INLINE_FUNCTION constexpr bool use_toroidal_terms< GeometryType::CylindricalLimit > | ( | ) |
KOKKOS_INLINE_FUNCTION constexpr bool use_toroidal_terms< GeometryType::Toroidal > | ( | ) |
constexpr GeometryType GEOMETRY = GeometryType::Toroidal |
bool global_debug_flag |
constexpr MarkerType MT_GLOBAL = MarkerType::TotalF |
constexpr PhiInterpType PIT_GLOBAL = PhiInterpType::None |