ASCOT5
Loading...
Searching...
No Matches
Functions
dist_rho6D.c File Reference

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.
 
void dist_rho6D_free_offload (dist_rho6D_offload_data *offload_data)
 Frees the offload data.
 
void dist_rho6D_init (dist_rho6D_data *dist_data, dist_rho6D_offload_data *offload_data, real *offload_array)
 Initializes distribution from offload data.
 
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.
 

Detailed Description

rho 6D distribution collecting and processing functions.

Definition in file dist_rho6D.c.

Function Documentation

◆ dist_rho6D_index()

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.

◆ dist_rho6D_free_offload()

void dist_rho6D_free_offload ( dist_rho6D_offload_data * offload_data)

Frees the offload data.

Definition at line 34 of file dist_rho6D.c.

◆ dist_rho6D_init()

void dist_rho6D_init ( dist_rho6D_data * dist_data,
dist_rho6D_offload_data * offload_data,
real * offload_array )

Initializes distribution from offload data.

Definition at line 58 of file dist_rho6D.c.

◆ dist_rho6D_update_fo()

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.

Parameters
distpointer to distribution parameter struct
p_ipointer to SIMD particle struct at the beginning of time step
p_fpointer to SIMD particle struct at the end of time step

Definition at line 122 of file dist_rho6D.c.

◆ dist_rho6D_update_gc()

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.

Parameters
distpointer to distribution parameter struct
p_ipointer to SIMD GC struct at the beginning of time step
p_fpointer to SIMD GC struct at the end of time step

Definition at line 195 of file dist_rho6D.c.