49 real* acceleration,
int* is_accelerated,
int* is_already_allocated);
62 real* e_plus_real,
real* e_minus_real,
real* e_plus_imag,
Main header file for ASCOT5.
#define NSIMD
Number of particles simulated simultaneously in a particle group operations.
void rfof_resonance_check_and_kick_gc(particle_simd_gc *p, real *hin, real *hout_rfof, rfof_marker *rfof_mrk, rfof_data *rfof_data, B_field_data *Bdata)
Check if the marker is in resonance and apply kick.
void rfof_clear_history(rfof_marker *rfof_mrk, int imrk)
Clears resonance history of an RFOF marker.
void rfof_tear_down(rfof_marker *rfof_mrk)
Deallocates the data structs used by the RFOF marker simulation data.
void rfof_init(rfof_data *rfof)
Initialise input data.
void rfof_set_marker_manually(rfof_marker *rfof_mrk, int *id, real *weight, real *R, real *phi, real *z, real *psi, real *charge, real *mass, real *Ekin, real *vnorm, real *mu, real *Pphi, real *vpar, real *vperp, real *gyrof, real *vdriftRho, real *acceleration, int *is_accelerated, int *is_already_allocated)
Explicitly set the coordinates in a marker struct.
void rfof_free(rfof_data *rfof)
Deallocates the rfof_input_param struct on the fortran side.
void rfof_eval_rf_wave(real *e_plus_real, real *e_minus_real, real *e_plus_imag, real *e_minus_imag, real R, real z, rfof_data *rfof)
Calculate the local E+ and E- values of the ICRH field.
void rfof_eval_resonance_function(real *omega_res, int *nharm, rfof_marker *rfof_mrk, rfof_data *rfof)
Evaluate the value of resonance function (zero at the resonance)
void rfof_set_up(rfof_marker *rfof_mrk, rfof_data *rfof_data)
Initialises resonance history, diagnostics, and the marker struct.
Magnetic field simulation data.
Struct representing NSIMD guiding center markers.
RFOF simulation input data.
Reusable struct for storing marker specific data during the simulation loop.
void * history_array[NSIMD]