ASCOT5
Loading...
Searching...
No Matches
particle_simd_gc Struct Reference

Struct representing NSIMD guiding center markers. More...

#include <particle.h>

Data Fields

real * r
real * phi
real * z
real * ppar
real * mu
real * zeta
real * mass
real * charge
real * time
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

Detailed Description

Struct representing NSIMD guiding center markers.

This struct is used in simulation when the simulation loop in simulate_gc_fixed.c or simulate_gc_adaptive.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.

The fields are aligned to 64 bit with memalign (see ascot5.h).

Definition at line 275 of file particle.h.

Field Documentation

◆ r

real* particle_simd_gc::r

Guiding center R coordinate [m]

Definition at line 277 of file particle.h.

◆ phi

real* particle_simd_gc::phi

Guiding center phi coordinate [phi]

Definition at line 278 of file particle.h.

◆ z

real* particle_simd_gc::z

Guiding center z coordinate [m]

Definition at line 279 of file particle.h.

◆ ppar

real* particle_simd_gc::ppar

Parallel momentum [kg m/s]

Definition at line 280 of file particle.h.

◆ mu

real* particle_simd_gc::mu

Magnetic moment [J/T]

Definition at line 281 of file particle.h.

◆ zeta

real* particle_simd_gc::zeta

Gyroangle [rad]

Definition at line 282 of file particle.h.

◆ mass

real* particle_simd_gc::mass

Mass [kg]

Definition at line 283 of file particle.h.

◆ charge

real* particle_simd_gc::charge

Charge [C]

Definition at line 284 of file particle.h.

◆ time

real* particle_simd_gc::time

Marker simulation time [s]

Definition at line 285 of file particle.h.

◆ B_r

real* particle_simd_gc::B_r

Magnetic field R component at marker position [T]

Definition at line 288 of file particle.h.

◆ B_phi

real* particle_simd_gc::B_phi

Magnetic field phi component at marker position [T]

Definition at line 290 of file particle.h.

◆ B_z

real* particle_simd_gc::B_z

Magnetic field z component at marker position [T]

Definition at line 292 of file particle.h.

◆ B_r_dr

real* particle_simd_gc::B_r_dr

dB_R/dR at marker pos. [T/m]

Definition at line 295 of file particle.h.

◆ B_phi_dr

real* particle_simd_gc::B_phi_dr

dB_phi/dR at marker pos. [T/m]

Definition at line 296 of file particle.h.

◆ B_z_dr

real* particle_simd_gc::B_z_dr

dB_z/dR at marker pos. [T/m]

Definition at line 297 of file particle.h.

◆ B_r_dphi

real* particle_simd_gc::B_r_dphi

dB_R/dphi at marker pos. [T/m]

Definition at line 298 of file particle.h.

◆ B_phi_dphi

real* particle_simd_gc::B_phi_dphi

dB_phi/dphi at marker pos. [T/m]

Definition at line 299 of file particle.h.

◆ B_z_dphi

real* particle_simd_gc::B_z_dphi

dB_z/dphi at marker pos. [T/m]

Definition at line 300 of file particle.h.

◆ B_r_dz

real* particle_simd_gc::B_r_dz

dB_R/dz at marker pos. [T/m]

Definition at line 301 of file particle.h.

◆ B_phi_dz

real* particle_simd_gc::B_phi_dz

dB_phi/dz at marker pos. [T/m]

Definition at line 302 of file particle.h.

◆ B_z_dz

real* particle_simd_gc::B_z_dz

dB_z/dz at marker pos. [T/m]

Definition at line 303 of file particle.h.

◆ bounces

int* particle_simd_gc::bounces

Number of times pitch sign changed

Definition at line 306 of file particle.h.

◆ weight

real* particle_simd_gc::weight

Marker weight

Definition at line 307 of file particle.h.

◆ cputime

real* particle_simd_gc::cputime

Marker wall-clock time [s]

Definition at line 308 of file particle.h.

◆ rho

real* particle_simd_gc::rho

Marker rho coordinate

Definition at line 309 of file particle.h.

◆ theta

real* particle_simd_gc::theta

Marker poloidal coordinate [rad]

Definition at line 310 of file particle.h.

◆ id

integer* particle_simd_gc::id

Unique ID for the marker

Definition at line 312 of file particle.h.

◆ endcond

integer* particle_simd_gc::endcond

Marker end condition

Definition at line 313 of file particle.h.

◆ walltile

integer* particle_simd_gc::walltile

ID of walltile if marker has hit the wall

Definition at line 314 of file particle.h.

◆ mileage

real* particle_simd_gc::mileage

Duration this marker has been simulated [s]

Definition at line 318 of file particle.h.

◆ running

integer* particle_simd_gc::running

Indicates whether this marker is currently simulated (1) or not

Definition at line 320 of file particle.h.

◆ err

a5err* particle_simd_gc::err

Error flag, zero if no error

Definition at line 322 of file particle.h.

◆ index

integer* particle_simd_gc::index

Marker index at marker queue

Definition at line 323 of file particle.h.

◆ n_mrk

size_t particle_simd_gc::n_mrk

How many markers this struct contains

Definition at line 324 of file particle.h.


The documentation for this struct was generated from the following file: