43 int** int_offload_array) {
47 switch(offload_data->
type) {
67 print_err(
"Error: Unregonized electric field type.");
74 *
sizeof(
real) / (1024.0*1024.0) );
92 int** int_offload_array) {
93 switch(offload_data->
type) {
120 real* offload_array,
int* int_offload_array) {
122 switch(offload_data->
type) {
Main header file for ASCOT5.
Macros for printing console output.
#define print_out(v,...)
Print to standard output.
#define print_err(...)
Print to standard error.
int int_offload_array_length
Wall model simulation data.
int int_offload_array_length
int wall_hit_wall(real r1, real phi1, real z1, real r2, real phi2, real z2, wall_data *w, real *w_coll)
Check if a given directed line segment intersects the wall.
void wall_free_offload(wall_offload_data *offload_data, real **offload_array, int **int_offload_array)
Free offload array and reset parameters.
int wall_init_offload(wall_offload_data *offload_data, real **offload_array, int **int_offload_array)
Load wall data and prepare parameters.
int wall_init(wall_data *w, wall_offload_data *offload_data, real *offload_array, int *int_offload_array)
Initialize wall data struct on target.
int wall_get_n_elements(wall_data *w)
Return the number of wall elements.
void wall_2d_free_offload(wall_2d_offload_data *offload_data, real **offload_array)
Free offload array and reset parameters.
void wall_2d_init(wall_2d_data *w, wall_2d_offload_data *offload_data, real *offload_array)
Initialize 2D wall data struct on target.
int wall_2d_init_offload(wall_2d_offload_data *offload_data, real **offload_array)
Load 2D wall data and prepare parameters.
int wall_2d_hit_wall(real r1, real phi1, real z1, real r2, real phi2, real z2, wall_2d_data *w, real *w_coll)
Check if trajectory from (r1, phi1, z1) to (r2, phi2, z2) intersects the wall.
Header file for wall_2d.c.
void wall_3d_init(wall_3d_data *w, wall_3d_offload_data *offload_data, real *offload_array, int *int_offload_array)
Initialize wall data struct on target.
int wall_3d_init_offload(wall_3d_offload_data *offload_data, real **offload_array, int **int_offload_array)
Initialize 3D wall data and check inputs.
int wall_3d_hit_wall(real r1, real phi1, real z1, real r2, real phi2, real z2, wall_3d_data *wdata, real *w_coll)
Check if trajectory from (r1, phi1, z1) to (r2, phi2, z2) intersects the wall using the octree struct...
void wall_3d_free_offload(wall_3d_offload_data *offload_data, real **offload_array, int **int_offload_array)
Free offload array and reset parameters.
Header file for wall_3d.c.