ASCOT5
Loading...
Searching...
No Matches
diag_orb.h
Go to the documentation of this file.
1
7#ifndef DIAG_ORB_H
8#define DIAG_ORB_H
9
10#include <stdio.h>
11#include "../particle.h"
12
13#define DIAG_ORB_POINCARE 0
14#define DIAG_ORB_INTERVAL 1
15#define DIAG_ORB_MAXPOINCARES 30
17#define DIAG_ORB_FOFIELDS 16
18#define DIAG_ORB_GCFIELDS 16
19#define DIAG_ORB_MLFIELDS 11
20#define DIAG_ORB_HYBRIDFIELDS 19
22#define DIAG_ORB_FO 1
23#define DIAG_ORB_GC 2
24#define DIAG_ORB_ML 3
26DECLARE_TARGET_SIMD_UNIFORM(ang0)
28DECLARE_TARGET_SIMD_UNIFORM(r0)
30
31
49
99
100void diag_orb_init(diag_orb_data* data, diag_orb_offload_data* offload_data,
101 real* offload_array);
102
103void diag_orb_free(diag_orb_data* data);
104
107
110
113
114#endif
double real
Definition ascot5.h:85
long integer
Definition ascot5.h:84
real diag_orb_check_radial_crossing(real fr, real ir, real r0)
Check if marker has crossed given rho.
Definition diag_orb.c:792
void diag_orb_update_fo(diag_orb_data *data, particle_simd_fo *p_f, particle_simd_fo *p_i)
Collects orbit diagnostics when marker represents a particle.
Definition diag_orb.c:161
real diag_orb_check_plane_crossing(real fang, real iang, real ang0)
Check if marker has crossed a plane.
Definition diag_orb.c:758
#define DIAG_ORB_MAXPOINCARES
Definition diag_orb.h:15
void diag_orb_init(diag_orb_data *data, diag_orb_offload_data *offload_data, real *offload_array)
Initializes orbit diagnostics offload data.
Definition diag_orb.c:28
void diag_orb_update_ml(diag_orb_data *data, particle_simd_ml *p_f, particle_simd_ml *p_i)
Collects orbit diagnostics when marker represents a field line.
Definition diag_orb.c:574
void diag_orb_update_gc(diag_orb_data *data, particle_simd_gc *p_f, particle_simd_gc *p_i)
Collects orbit diagnostics when marker represents a guiding center.
Definition diag_orb.c:367
void diag_orb_free(diag_orb_data *data)
Free orbit diagnostics data.
Definition diag_orb.c:147
Header file for particle.c.
Orbit diagnostics data struct.
Definition diag_orb.h:61
real * mileage
Definition diag_orb.h:64
real * ppar
Definition diag_orb.h:71
real * simmode
Definition diag_orb.h:81
real * B_r
Definition diag_orb.h:78
int ntoroidalplots
Definition diag_orb.h:92
real * pncrdi
Definition diag_orb.h:83
real writeInterval
Definition diag_orb.h:91
real * zeta
Definition diag_orb.h:73
real * p_phi
Definition diag_orb.h:69
real * theta
Definition diag_orb.h:77
real * rho
Definition diag_orb.h:76
real * pncrid
Definition diag_orb.h:82
real * weight
Definition diag_orb.h:74
real * mrk_recorded
Definition diag_orb.h:86
real * B_z
Definition diag_orb.h:80
real * phi
Definition diag_orb.h:66
integer * mrk_pnt
Definition diag_orb.h:85
int nradialplots
Definition diag_orb.h:94
real * mu
Definition diag_orb.h:72
real * p_z
Definition diag_orb.h:70
real * charge
Definition diag_orb.h:75
real * id
Definition diag_orb.h:63
real * p_r
Definition diag_orb.h:68
int npoloidalplots
Definition diag_orb.h:93
real * B_phi
Definition diag_orb.h:79
Orbit diagnostics offload data struct.
Definition diag_orb.h:35
Struct representing NSIMD particle markers.
Definition particle.h:210
Struct representing NSIMD guiding center markers.
Definition particle.h:275
Struct representing NSIMD field line markers.
Definition particle.h:342