|
ASCOT5
|
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 "dist_6D.h"#include "../gctransform.h"Go to the source code of this file.
Functions | |
| size_t | dist_6D_index (int i_r, int i_phi, int i_z, 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_6D_init (dist_6D_data *data) |
| Initializes distribution data. | |
| void | dist_6D_free (dist_6D_data *data) |
| Free allocated resources. | |
| void | dist_6D_offload (dist_6D_data *data) |
| Offload data to the accelerator. | |
| void | dist_6D_onload (dist_6D_data *data) |
| Onload data back to the host. | |
| 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. | |
6D distribution collecting and processing functions.
Definition in file dist_6D.c.
| size_t dist_6D_index | ( | int | i_r, |
| int | i_phi, | ||
| int | i_z, | ||
| 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 ) |
| int dist_6D_init | ( | dist_6D_data * | data | ) |
| void dist_6D_free | ( | dist_6D_data * | data | ) |
| void dist_6D_offload | ( | dist_6D_data * | data | ) |
| void dist_6D_onload | ( | dist_6D_data * | data | ) |
| 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.
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 |
| 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.
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 |