ORB5X 1.0.0
Performance-portable global electromagnetic gyrokinetic PIC code
Loading...
Searching...
No Matches
orb5x::OneStep Class Reference

Executes one four-stage, operator-split gyrokinetic timestep. More...

#include "onestep.hpp"

Static Public Member Functions

static void apply_apar_pullback_poststep ()
 Apply the post-step electromagnetic pullback and zero the solved Apar increment.
static void onestep_rk4 (int step)
 Advance all active species and fields by one full RK4 timestep.
static void update_pic1_and_work2 (int iter)
 Commit stage coordinates and form second-stage work arrays.
static void update_work1 (int iter)
 Form first-stage work arrays from the current particle state.

Detailed Description

Executes one four-stage, operator-split gyrokinetic timestep.

OneStep is the central bridge between ControlAll and the physics subsystems. It sequences coordinate conversion, field interpolation, Runge–Kutta marker and weight updates, inter-domain marker migration, collisions and sources, gyro-density correction, and electromagnetic pullback. Operations are selected per species from SpeciesVariables and use process-wide state created during module initialization.

Member Function Documentation

◆ apply_apar_pullback_poststep()

void orb5x::OneStep::apply_apar_pullback_poststep ( )
static

Apply the post-step electromagnetic pullback and zero the solved Apar increment.

◆ onestep_rk4()

void orb5x::OneStep::onestep_rk4 ( int step)
static

Advance all active species and fields by one full RK4 timestep.

Parameters
[in]stepCurrent global timestep, used for diagnostics and forcing.

◆ update_pic1_and_work2()

void orb5x::OneStep::update_pic1_and_work2 ( int iter)
static

Commit stage coordinates and form second-stage work arrays.

Parameters
[in]iterRK4 stage number in the Fortran-compatible range 1–4.

◆ update_work1()

void orb5x::OneStep::update_work1 ( int iter)
static

Form first-stage work arrays from the current particle state.

Parameters
[in]iterRK4 stage number in the Fortran-compatible range 1–4.

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