ORB5X 1.0.0
Performance-portable global electromagnetic gyrokinetic PIC code
orb5x::SourcesModule Class Reference

Applies profile heating, noise control, imposed flow, and edge-buffer source operators. More...

#include "sources.hpp"

Static Public Member Functions

static void add_sources (int step)
 Apply every enabled source operator at simulation step step.
 
static void destroyStaticViews ()
 Release source-owned Kokkos allocations before Kokkos::finalize().
 
static void init_sources ()
 Allocate heating bins, noise-control systems, and required host caches.
 

Detailed Description

Applies profile heating, noise control, imposed flow, and edge-buffer source operators.

Source increments modify marker weights after the Hamiltonian advance. The Krook and heating paths can project out selected density, zonal-flow, parallel-momentum, and energy moments by solving a small system in each radial bin. Species indices are zero-based; rates and time use ORB5X normalization.

Scientific references
McMillan et al., Physics of Plasmas 15, 052308 (2008), source terms and particle-noise control. The algorithm and equations are reproduced in manuscript/orb5-ref-tex/sections/numerical_implementation.tex.
Fortran reference sources.F90, module sources.

Member Function Documentation

◆ add_sources()

static void orb5x::SourcesModule::add_sources ( int  step)
static

Apply every enabled source operator at simulation step step.

Dispatches heating, Krook noise control, flow forcing, coarse graining, and the selected radial-edge buffer for each species.

Parameters
[in]stepZero-based or driver-provided simulation step used by source cadence controls.

◆ destroyStaticViews()

static void orb5x::SourcesModule::destroyStaticViews ( )
static

Release source-owned Kokkos allocations before Kokkos::finalize().

◆ init_sources()

static void orb5x::SourcesModule::init_sources ( )
static

Allocate heating bins, noise-control systems, and required host caches.


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