ASCOT5
Loading...
Searching...
No Matches
dist_com.h File Reference

Header file for dist_com.c. More...

#include <stdlib.h>
#include "../ascot5.h"
#include "../particle.h"
#include "../B_field.h"

Go to the source code of this file.

Data Structures

struct  dist_COM_data
 Histogram parameters on target. More...
 

Functions

int dist_COM_init (dist_COM_data *data)
 Initializes distribution data.
 
void dist_COM_free (dist_COM_data *data)
 Free allocated resources.
 
void dist_COM_offload (dist_COM_data *data)
 Offload data to the accelerator.
 
void dist_COM_update_fo (dist_COM_data *dist, B_field_data *Bdata, particle_simd_fo *p_f, particle_simd_fo *p_i)
 Update the histogram from full-orbit markers.
 
void dist_COM_update_gc (dist_COM_data *dist, B_field_data *Bdata, particle_simd_gc *p_f, particle_simd_gc *p_i)
 Update the histogram from guiding center markers.
 

Detailed Description

Header file for dist_com.c.

Definition in file dist_com.h.

Function Documentation

◆ dist_COM_init()

int dist_COM_init ( dist_COM_data * data)

Initializes distribution data.

Parameters
datapointer to data struct

Definition at line 29 of file dist_com.c.

◆ dist_COM_free()

void dist_COM_free ( dist_COM_data * data)

Free allocated resources.

Parameters
datapointer to the data struct

Definition at line 46 of file dist_com.c.

◆ dist_COM_offload()

void dist_COM_offload ( dist_COM_data * data)

Offload data to the accelerator.

Parameters
datapointer to the data struct

Definition at line 55 of file dist_com.c.

◆ dist_COM_update_fo()

void dist_COM_update_fo ( dist_COM_data * dist,
B_field_data * Bdata,
particle_simd_fo * p_f,
particle_simd_fo * p_i )

Update the histogram from full-orbit markers.

Parameters
distpointer to distribution parameter struct
Bdatapointer to magnetic field data
p_fpointer to SIMD fo struct at the end of current time step
p_ipointer to SIMD fo struct at the start of current time step

Definition at line 67 of file dist_com.c.

◆ dist_COM_update_gc()

void dist_COM_update_gc ( dist_COM_data * dist,
B_field_data * Bdata,
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.

Parameters
distpointer to distribution parameter struct
Bdatapointer to magnetic field data
p_fpointer to SIMD gc struct at the end of current time step
p_ipointer to SIMD gc struct at the start of current time step

Definition at line 124 of file dist_com.c.