ASCOT5
|
5D 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_5D.h"
#include "../particle.h"
Go to the source code of this file.
Functions | |
size_t | dist_5D_index (int i_r, int i_phi, int i_z, int i_ppara, int i_pperp, int i_time, int i_q, size_t step_6, size_t step_5, size_t step_4, size_t step_3, size_t step_2, size_t step_1) |
Function for calculating the index in the histogram array. | |
void | dist_5D_free_offload (dist_5D_offload_data *offload_data) |
Frees the offload data. | |
void | dist_5D_init (dist_5D_data *dist_data, dist_5D_offload_data *offload_data, real *offload_array) |
Initializes distribution from offload data. | |
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. | |
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. | |
5D distribution collecting and processing functions.
Definition in file dist_5D.c.
size_t dist_5D_index | ( | int | i_r, |
int | i_phi, | ||
int | i_z, | ||
int | i_ppara, | ||
int | i_pperp, | ||
int | i_time, | ||
int | i_q, | ||
size_t | step_6, | ||
size_t | step_5, | ||
size_t | step_4, | ||
size_t | step_3, | ||
size_t | step_2, | ||
size_t | step_1 ) |
void dist_5D_free_offload | ( | dist_5D_offload_data * | offload_data | ) |
void dist_5D_init | ( | dist_5D_data * | dist_data, |
dist_5D_offload_data * | offload_data, | ||
real * | offload_array ) |
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.
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_f | pointer to SIMD particle struct at the end of current time step |
p_i | pointer to SIMD particle struct at the start of current time step |
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.
This function updates the histogram from the marker 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_f | pointer to SIMD gc struct at the end of current time step |
p_i | pointer to SIMD gc struct at the start of current time step |