|
ASCOT5
|
rho 6D distribution collecting and processing functions. More...
#include <stdio.h>#include <stdlib.h>#include <math.h>#include "../ascot5.h"#include "../consts.h"#include "../physlib.h"#include "../gctransform.h"#include "dist_rho6D.h"Go to the source code of this file.
Functions | |
| size_t | dist_rho6D_index (int i_rho, int i_theta, int i_phi, int i_pr, int i_pphi, int i_pz, int i_time, int i_q, size_t step_7, size_t step_6, size_t step_5, size_t step_4, size_t step_3, size_t step_2, size_t step_1) |
| Internal function calculating the index in the histogram array. | |
| int | dist_rho6D_init (dist_rho6D_data *data) |
| Initializes distribution data. | |
| void | dist_rho6D_free (dist_rho6D_data *data) |
| Free allocated resources. | |
| void | dist_rho6D_offload (dist_rho6D_data *data) |
| Offload data to the accelerator. | |
| 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_update_gc (dist_rho6D_data *dist, particle_simd_gc *p_f, particle_simd_gc *p_i) |
| Update the histogram from guiding-center particles. | |
rho 6D distribution collecting and processing functions.
Definition in file dist_rho6D.c.
| size_t dist_rho6D_index | ( | int | i_rho, |
| int | i_theta, | ||
| int | i_phi, | ||
| int | i_pr, | ||
| int | i_pphi, | ||
| int | i_pz, | ||
| int | i_time, | ||
| int | i_q, | ||
| size_t | step_7, | ||
| size_t | step_6, | ||
| size_t | step_5, | ||
| size_t | step_4, | ||
| size_t | step_3, | ||
| size_t | step_2, | ||
| size_t | step_1 ) |
Internal function calculating the index in the histogram array.
Definition at line 17 of file dist_rho6D.c.
| int dist_rho6D_init | ( | dist_rho6D_data * | data | ) |
Initializes distribution data.
Definition at line 34 of file dist_rho6D.c.
| void dist_rho6D_free | ( | dist_rho6D_data * | data | ) |
Free allocated resources.
Definition at line 58 of file dist_rho6D.c.
| void dist_rho6D_offload | ( | dist_rho6D_data * | data | ) |
Offload data to the accelerator.
| data | pointer to the data struct |
Definition at line 67 of file dist_rho6D.c.
| 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.
This function updates the histogram from the particle data. Bins are calculated as vector op and histogram is updates as an atomic operation to avoid race conditions.
| dist | pointer to distribution parameter struct |
| p_i | pointer to SIMD particle struct at the beginning of time step |
| p_f | pointer to SIMD particle struct at the end of time step |
Definition at line 84 of file dist_rho6D.c.
| 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.
This function updates the histogram from the guiding center data. Bins are calculated as vector op and histogram is updates as an atomic operation to avoid race conditions.
| dist | pointer to distribution parameter struct |
| p_i | pointer to SIMD GC struct at the beginning of time step |
| p_f | pointer to SIMD GC struct at the end of time step |
Definition at line 181 of file dist_rho6D.c.