ASCOT5
|
Struct representing NSIMD particle markers. More...
#include <particle.h>
Data Fields | |
real * | r |
real * | phi |
real * | z |
real * | p_r |
real * | p_phi |
real * | p_z |
real * | mass |
real * | charge |
real * | time |
int * | znum |
int * | anum |
real * | B_r |
real * | B_phi |
real * | B_z |
real * | B_r_dr |
real * | B_phi_dr |
real * | B_z_dr |
real * | B_r_dphi |
real * | B_phi_dphi |
real * | B_z_dphi |
real * | B_r_dz |
real * | B_phi_dz |
real * | B_z_dz |
int * | bounces |
real * | weight |
real * | cputime |
real * | rho |
real * | theta |
integer * | id |
integer * | endcond |
integer * | walltile |
real * | mileage |
integer * | running |
a5err * | err |
integer * | index |
size_t | n_mrk |
Struct representing NSIMD particle markers.
This struct is used in simulation when the simulation loop in simulate_fo_fixed.c is used.
It contains physical and simulation parameters necessary for the simulation If a function makes changes to any of these parameters, it is that function's responsibility to make sure all fields remain consistent, i.e., if position changes then the magnetic field should be updated. Each field is a memory aligned array with length NSIMD, so this struct represents NSIMD markers (they can be dummy or markers whose simulation has been terminated) and so it can be used within SIMD loops.
Definition at line 210 of file particle.h.
real* particle_simd_fo::r |
Particle R coordinate [m]
Definition at line 212 of file particle.h.
real* particle_simd_fo::phi |
Particle phi coordinate [phi]
Definition at line 213 of file particle.h.
real* particle_simd_fo::z |
Particle z coordinate [m]
Definition at line 214 of file particle.h.
real* particle_simd_fo::p_r |
Momentum r coordinate [kg m/s]
Definition at line 215 of file particle.h.
real* particle_simd_fo::p_phi |
Momentum phi coordinate [kg m/s]
Definition at line 216 of file particle.h.
real* particle_simd_fo::p_z |
Momentum z coordinate [kg m/s]
Definition at line 217 of file particle.h.
real* particle_simd_fo::mass |
Mass [kg]
Definition at line 218 of file particle.h.
real* particle_simd_fo::charge |
Charge [C]
Definition at line 219 of file particle.h.
real* particle_simd_fo::time |
Marker simulation time [s]
Definition at line 220 of file particle.h.
int* particle_simd_fo::znum |
Particle atomic number
Definition at line 221 of file particle.h.
int* particle_simd_fo::anum |
Particle mass number
Definition at line 222 of file particle.h.
real* particle_simd_fo::B_r |
Magnetic field R component at marker position [T]
Definition at line 225 of file particle.h.
real* particle_simd_fo::B_phi |
Magnetic field phi component at marker position [T]
Definition at line 226 of file particle.h.
real* particle_simd_fo::B_z |
Magnetic field z component at marker position [T]
Definition at line 227 of file particle.h.
real* particle_simd_fo::B_r_dr |
dB_R/dR at marker position [T/m]
Definition at line 229 of file particle.h.
real* particle_simd_fo::B_phi_dr |
dB_phi/dR at marker position [T/m]
Definition at line 230 of file particle.h.
real* particle_simd_fo::B_z_dr |
dB_z/dR at marker position [T/m]
Definition at line 231 of file particle.h.
real* particle_simd_fo::B_r_dphi |
dB_R/dphi at marker position [T/m]
Definition at line 232 of file particle.h.
real* particle_simd_fo::B_phi_dphi |
dB_phi/dphi at marker position [T/m]
Definition at line 233 of file particle.h.
real* particle_simd_fo::B_z_dphi |
dB_z/dphi at marker position [T/m]
Definition at line 234 of file particle.h.
real* particle_simd_fo::B_r_dz |
dB_R/dz at marker position [T/m]
Definition at line 235 of file particle.h.
real* particle_simd_fo::B_phi_dz |
dB_phi/dz at marker position [T/m]
Definition at line 236 of file particle.h.
real* particle_simd_fo::B_z_dz |
dB_z/dz at marker position [T/m]
Definition at line 237 of file particle.h.
int* particle_simd_fo::bounces |
Number of times pitch sign changed
Definition at line 240 of file particle.h.
real* particle_simd_fo::weight |
Marker weight
Definition at line 241 of file particle.h.
real* particle_simd_fo::cputime |
Marker wall-clock time [s]
Definition at line 242 of file particle.h.
real* particle_simd_fo::rho |
Marker rho coordinate
Definition at line 243 of file particle.h.
real* particle_simd_fo::theta |
Marker poloidal coordinate [rad]
Definition at line 244 of file particle.h.
integer* particle_simd_fo::id |
Unique ID for the marker
Definition at line 246 of file particle.h.
integer* particle_simd_fo::endcond |
Marker end condition
Definition at line 247 of file particle.h.
integer* particle_simd_fo::walltile |
ID of walltile if marker has hit the wall
Definition at line 248 of file particle.h.
real* particle_simd_fo::mileage |
Duration this marker has been simulated [s]
Definition at line 251 of file particle.h.
integer* particle_simd_fo::running |
Indicates whether this marker is currently simulated (1) or not
Definition at line 252 of file particle.h.
a5err* particle_simd_fo::err |
Error flag, zero if no error
Definition at line 254 of file particle.h.
integer* particle_simd_fo::index |
Marker index at marker queue
Definition at line 255 of file particle.h.
size_t particle_simd_fo::n_mrk |
How many markers this struct contains
Definition at line 256 of file particle.h.