|
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 class | Order { Zero , One , Two } |
| enum | SpeciesType { ELECTRON = 0 , MAIN_ION = 1 } |
| enum | KinType { DriftKin =0 , GyroKin =1 } |
| enum class | PhiInterpType { Planes , None } |
| enum class | MarkerType { ReducedDeltaF , FullF , TotalF , None } |
| enum class | FAnalyticShape { Maxwellian , SlowingDown , None } |
| enum class | WeightEvoEq { Direct , PDE , None } |
| enum class | MagneticFieldMode { Electromagnetic , Electrostatic } |
| enum class | BFieldSymmetry { Tokamak , Stellarator } |
| enum class | GeometryType { Toroidal , CylindricalLimit } |
| enum class | PullbackMethod { Electrostatic , IdealMHD } |
| 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> | |
| constexpr KOKKOS_INLINE_FUNCTION bool | use_toroidal_terms () |
| template<> | |
| constexpr KOKKOS_INLINE_FUNCTION bool | use_toroidal_terms< GeometryType::CylindricalLimit > () |
| template<> | |
| constexpr KOKKOS_INLINE_FUNCTION 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 MagneticFieldMode | MFM_GLOBAL = MagneticFieldMode::Electrostatic |
| constexpr BFieldSymmetry | BFS_GLOBAL = BFieldSymmetry::Tokamak |
| constexpr GeometryType | GEOMETRY = GeometryType::Toroidal |
| bool | global_debug_flag |
| bool | global_perf_barriers_flag |
|
strong |
|
strong |
|
strong |
| enum KinType |
|
strong |
|
strong |
|
strong |
| enum ParticleConsts |
| enum ParticlePhase |
|
strong |
|
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 | ||
| ) |

|
constexpr |
Returns true if using normal toroidal geometry, false if using the cylindrical limit
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
extern |
|
extern |
|
constexpr |
|
constexpr |