260 size_t stop = (size_t)(data1->
dist6D.
n_r)
314 for(
size_t i = start; i < stop; i++) {
315 array1[i] += array2[i];
Header file for B_field.c.
Main header file for ASCOT5.
void diag_update_fo(diag_data *data, B_field_data *Bdata, particle_simd_fo *p_f, particle_simd_fo *p_i)
Collects diagnostics when marker represents a particle.
void diag_offload(diag_data *data)
Offload data to the accelerator.
void diag_sum(diag_data *data1, diag_data *data2)
Sum offload data arrays as one.
void diag_arraysum(size_t start, size_t stop, real *array1, real *array2)
Simple helper function for summing elements of two arrays of same size.
int diag_init(diag_data *data, int Nmrk)
Initializes diagnostics data.
void diag_free(diag_data *data)
Free allocated resources.
void diag_update_ml(diag_data *data, particle_simd_ml *p_f, particle_simd_ml *p_i)
Collects diagnostics when marker represents a magnetic field line.
void diag_update_gc(diag_data *data, B_field_data *Bdata, particle_simd_gc *p_f, particle_simd_gc *p_i)
Collects diagnostics when marker represents a guiding center.
void diag_orb_update_fo(diag_orb_data *data, particle_simd_fo *p_f, particle_simd_fo *p_i)
Collects orbit diagnostics when marker represents a particle.
void diag_orb_update_ml(diag_orb_data *data, particle_simd_ml *p_f, particle_simd_ml *p_i)
Collects orbit diagnostics when marker represents a field line.
void diag_orb_update_gc(diag_orb_data *data, particle_simd_gc *p_f, particle_simd_gc *p_i)
Collects orbit diagnostics when marker represents a guiding center.
void diag_orb_free(diag_orb_data *data)
Free allocated resources.
void diag_orb_init(diag_orb_data *data)
Initializes orbit diagnostics data.
Header file for diag_orb.c.
#define DIAG_ORB_HYBRIDFIELDS
#define DIAG_ORB_GCFIELDS
#define DIAG_ORB_FOFIELDS
#define DIAG_ORB_MLFIELDS
void diag_transcoef_update_ml(diag_transcoef_data *data, particle_simd_ml *p_f, particle_simd_ml *p_i)
Collect transport diagnostics for ml simulation.
void diag_transcoef_init(diag_transcoef_data *data)
Initializes transport coefficient diagnostics data.
void diag_transcoef_update_gc(diag_transcoef_data *data, particle_simd_gc *p_f, particle_simd_gc *p_i)
Collect transport diagnostics for gc simulation.
void diag_transcoef_update_fo(diag_transcoef_data *data, particle_simd_fo *p_f, particle_simd_fo *p_i)
Collect transport diagnostics for fo simulation.
void diag_transcoef_free(diag_transcoef_data *data)
Free allocated resources.
Header file for diag_transcoef.c.
void dist_5D_update_gc(dist_5D_data *dist, particle_simd_gc *p_f, particle_simd_gc *p_i)
Update the histogram from guiding center markers.
void dist_5D_update_fo(dist_5D_data *dist, particle_simd_fo *p_f, particle_simd_fo *p_i)
Update the histogram from full-orbit particles.
int dist_5D_init(dist_5D_data *data)
Initializes distribution from offload data.
void dist_5D_offload(dist_5D_data *data)
Offload data to the accelerator.
Header file for dist_5D.c.
void dist_6D_update_fo(dist_6D_data *dist, particle_simd_fo *p_f, particle_simd_fo *p_i)
Update the histogram from full-orbit particles.
void dist_6D_update_gc(dist_6D_data *dist, particle_simd_gc *p_f, particle_simd_gc *p_i)
Update the histogram from guiding-center particles.
int dist_6D_init(dist_6D_data *data)
Initializes distribution data.
void dist_6D_offload(dist_6D_data *data)
Offload data to the accelerator.
Header file for dist_6D.c.
void dist_COM_update_fo(dist_COM_data *dist, B_field_data *Bdata, particle_simd_fo *p_f, particle_simd_fo *p_i)
Update the histogram from full-orbit markers.
void dist_COM_offload(dist_COM_data *data)
Offload data to the accelerator.
void dist_COM_update_gc(dist_COM_data *dist, B_field_data *Bdata, particle_simd_gc *p_f, particle_simd_gc *p_i)
Update the histogram from guiding center markers.
int dist_COM_init(dist_COM_data *data)
Initializes distribution data.
Header file for dist_com.c.
int dist_rho5D_init(dist_rho5D_data *data)
Initializes distribution data.
void dist_rho5D_offload(dist_rho5D_data *data)
Offload data to the accelerator.
void dist_rho5D_update_gc(dist_rho5D_data *dist, particle_simd_gc *p_f, particle_simd_gc *p_i)
Update the histogram from guiding center markers.
void dist_rho5D_update_fo(dist_rho5D_data *dist, particle_simd_fo *p_f, particle_simd_fo *p_i)
Update the histogram from full-orbit particles.
Header file for dist_rho5D.c.
int dist_rho6D_init(dist_rho6D_data *data)
Initializes distribution data.
void dist_rho6D_update_gc(dist_rho6D_data *dist, particle_simd_gc *p_f, particle_simd_gc *p_i)
Update the histogram from guiding-center particles.
void dist_rho6D_update_fo(dist_rho6D_data *dist, particle_simd_fo *p_f, particle_simd_fo *p_i)
Update the histogram from full-orbit particles.
void dist_rho6D_offload(dist_rho6D_data *data)
Offload data to the accelerator.
Header file for dist_rho6D.c.
Header file for particle.c.
Header file for simulate.c.
Magnetic field simulation data.
diag_transcoef_data diagtrcof
dist_rho6D_data distrho6D
dist_rho5D_data distrho5D
Struct representing NSIMD particle markers.
Struct representing NSIMD guiding center markers.
Struct representing NSIMD field line markers.