Model and methods¶
These pages state the equations SIMPLE solves, as the code solves them, with the implementing routine for each.
Phases of a simple.x run.¶
Phases of a run¶
Field. Read a VMEC equilibrium, a chartmap, a coil file or a SPECTRE equilibrium; construct coordinates in which the guiding-centre Lagrangian is canonical and spline \(A_\vartheta, A_\varphi, h_\vartheta, h_\varphi, B\) (Coordinates and field representation).
Sampling. Draw start positions in reference coordinates with speed \(v_0\) and pitch \(\lambda\) (Running SIMPLE).
Tracing. Advance each marker in its own OpenMP iteration with the selected integrator (Integrators), optionally followed by a Monte Carlo collision step per microstep (Collisions), until it crosses the loss boundary or the wall (Wall intersection) or reaches
trace_time.Classification (optional): label regular and chaotic orbits from their Poincaré footprints (Orbit classification).
Output (Outputs).
Assumptions¶
Test particles in a static magnetic field; no electric field.
Guiding-centre motion to first order in \(\rho_L/L\); the guiding centre, not the particle, defines losses and wall hits. Full-orbit tracing is an alternative model (Full orbit, SPECTRE and GPU objective).
Non-relativistic (
rmu = 1e8insrc/params.f90).Collisions are a test-particle operator with a Maxwellian background of electrons and two ion species, using alpha-particle mass and charge (Collisions).
A marker is lost when it leaves the last closed flux surface or the chartmap domain, or hits an STL wall.