|
ASCOT5
|
Header file for diag.c. More...
#include "ascot5.h"#include "particle.h"#include "B_field.h"#include "diag/dist_5D.h"#include "diag/dist_6D.h"#include "diag/dist_rho5D.h"#include "diag/dist_rho6D.h"#include "diag/dist_com.h"#include "diag/diag_orb.h"#include "diag/diag_transcoef.h"Go to the source code of this file.
Data Structures | |
| struct | diag_data |
| Diagnostics data struct. More... | |
Functions | |
| int | diag_init (diag_data *data, int Nmrk) |
| Initializes diagnostics data. | |
| void | diag_free (diag_data *data) |
| Free allocated resources. | |
| void | diag_offload (diag_data *data) |
| Offload data to the accelerator. | |
| void | diag_onload (diag_data *data) |
| Onload data back to the host. | |
| void | diag_sum (diag_data *data1, diag_data *data2) |
| Sum offload data arrays as one. | |
| 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_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_update_ml (diag_data *data, particle_simd_ml *p_f, particle_simd_ml *p_i) |
| Collects diagnostics when marker represents a magnetic field line. | |
| int diag_init | ( | diag_data * | data, |
| int | Nmrk ) |
| void diag_free | ( | diag_data * | data | ) |
| void diag_offload | ( | diag_data * | data | ) |
| void diag_onload | ( | diag_data * | data | ) |
Sum offload data arrays as one.
The data in both arrays have identical order so distributions can be summed trivially. For orbits and transport coefficients the first array already have space for appending the orbit data from the second array, so we only need to move those elements.
| data | pointer to diagnostics data struct |
| array1 | the array to which array2 is summed |
| array2 | the array which is to be summed |
| 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.
| data | diagnostics data struct |
| Bdata | pointer to magnetic field data |
| p_f | pointer to SIMD struct storing marker states at the end of current time-step |
| p_i | pointer to SIMD struct storing marker states at the beginning of current time-step |
| 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.
| data | pointer to diagnostics data struct |
| Bdata | pointer to magnetic field data |
| p_f | pointer to SIMD struct storing marker states at the end of current time-step |
| p_i | pointer to SIMD struct storing marker states at the beginning of current time-step |
| 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.
Distributions are not updated for magnetic field lines.
| data | pointer to diagnostics data struct |
| p_f | pointer to SIMD struct storing marker states at the end of current time-step |
| p_i | pointer to SIMD struct storing marker states at the beginning of current time-step |