19 return omp_get_max_threads();
38 printf(
"%s",msg.c_str());
51 KOKKOS_INLINE_FUNCTION
void assert_XGC(
bool cond,
const char* msg){
62 if(b==0)
return false;
69 if ( ((b > 0) && (a > INT_MAX - b))
70 ||((b < 0) && (a < INT_MIN - b)) ){
168 template<GeometryType GT>
172 KOKKOS_INLINE_FUNCTION
double geometry_switch<GeometryType::Toroidal>(
double a,
double b){
177 KOKKOS_INLINE_FUNCTION
double geometry_switch<GeometryType::CylindricalLimit>(
double a,
double b){
185 template<GeometryType GT>
189 KOKKOS_INLINE_FUNCTION constexpr
bool use_toroidal_terms<GeometryType::CylindricalLimit>(){
194 KOKKOS_INLINE_FUNCTION constexpr
bool use_toroidal_terms<GeometryType::Toroidal>(){
227 int mod = value % (int)m;
244 long long int obj_per_subset = n_obj/n_subsets;
245 long long int remainder = n_obj%n_subsets;
246 if (i_subset<remainder){
248 return i_subset*obj_per_subset;
250 return i_subset*obj_per_subset + remainder;
264 long long int obj_per_subset = n_obj/n_subsets;
265 long long int remainder = n_obj%n_subsets;
266 if (i_subset<remainder){
269 return obj_per_subset;
274 std::string string_no_leading = std::to_string(input);
276 int initial_length = string_no_leading.length();
277 int zeros_to_add = n_digits - std::min(n_digits, initial_length);
280 return std::string(zeros_to_add,
'0') + string_no_leading;
Definition: globals.hpp:84
Magnetic moment mu.
Definition: globals.hpp:211
KOKKOS_INLINE_FUNCTION int divide_and_round_up(int a, int b)
Definition: globals.hpp:221
constexpr GeometryType GEOMETRY
Definition: globals.hpp:156
bool is_rank_zero()
Definition: globals.hpp:27
MarkerType
Definition: globals.hpp:110
gyroradius
Definition: globals.hpp:204
MPI_Comm SML_COMM_WORLD
Definition: my_mpi.cpp:4
long long int counts_of_even_distribution(long long int n_obj, long long int n_subsets, long long int i_subset)
Definition: globals.hpp:263
#define DEVICE_PRINTF(...)
Definition: space_settings.hpp:86
constexpr BFieldSymmetry BFS_GLOBAL
Definition: globals.hpp:144
Definition: globals.hpp:89
W0.
Definition: globals.hpp:212
bool causes_multiplication_overflow(int a, int b)
Definition: globals.hpp:60
Definition: globals.hpp:207
bool global_debug_flag
Definition: checkpoint.cpp:11
Definition: globals.hpp:284
bool global_perf_barriers_flag
Definition: checkpoint.cpp:12
KOKKOS_INLINE_FUNCTION unsigned positive_modulo(int value, unsigned m)
Definition: globals.hpp:226
PhiInterpType
Definition: globals.hpp:95
FAnalyticShape
Definition: globals.hpp:116
r coordinate
Definition: globals.hpp:201
Order
Definition: globals.hpp:77
constexpr PhiInterpType PIT_GLOBAL
Definition: globals.hpp:103
MagneticFieldMode
Definition: globals.hpp:127
constexpr MagneticFieldMode MFM_GLOBAL
Definition: globals.hpp:134
std::string formatted_int2str(int input, int n_digits)
Definition: globals.hpp:273
Definition: globals.hpp:217
Definition: globals.hpp:90
ParticlePhase
Definition: globals.hpp:200
2nd weight
Definition: globals.hpp:206
int SML_COMM_RANK
Definition: my_mpi.cpp:5
KinType
Definition: globals.hpp:88
GeometryType
Definition: globals.hpp:149
KOKKOS_INLINE_FUNCTION double geometry_switch(double a, double b)
Definition: globals.hpp:85
void exit_XGC(std::string msg)
Definition: globals.hpp:37
F0.
Definition: globals.hpp:213
int get_num_cpu_threads()
Definition: globals.hpp:17
phi coordinate
Definition: globals.hpp:203
static constexpr bool val
Definition: globals.hpp:284
KOKKOS_INLINE_FUNCTION constexpr bool use_toroidal_terms()
1st weight
Definition: globals.hpp:205
ParticleConsts
Definition: globals.hpp:210
z coordinate
Definition: globals.hpp:202
BFieldSymmetry
Definition: globals.hpp:137
long long int offsets_of_even_distribution(long long int n_obj, long long int n_subsets, long long int i_subset)
Definition: globals.hpp:243
WeightEvoEq
Definition: globals.hpp:121
SpeciesType
Definition: globals.hpp:83
bool causes_addition_overflow(int a, int b)
Definition: globals.hpp:68
KOKKOS_INLINE_FUNCTION void assert_XGC(bool cond, const char *msg)
Definition: globals.hpp:51