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

Accumulates time-windowed distribution moments for collisional profile evolution. More...

#include "profile_update.hpp"

Static Public Member Functions

static Real bin_volume (int ibin)
 Return normalized physical volume of a configuration-space bin.
 
static const std::vector< std::vector< std::vector< std::vector< Real > > > > & get_sliding_momentum ()
 Access the time-windowed configuration-space moments.
 
static int get_space_bin (Real st, Real chit, Real phit, int isp)
 Map a particle position to a flattened configuration-space bin.
 
static void init_profile_update ()
 Allocate the sliding history, construct the bin grid, and integrate bin volumes.
 
static int N_saved ()
 Return the number of valid time snapshots currently stored.
 
static Real Total_volume ()
 Return the sum of all normalized profile-update bin volumes.
 
static void updated_momentum_saving ()
 Compute all species moments and advance the circular sliding-history index.
 

Detailed Description

Accumulates time-windowed distribution moments for collisional profile evolution.

Configuration-space bins partition \((s,\chi,\varphi)\); their physical volumes normalize density, parallel momentum, and energy samples retained in a sliding history. Species indices are zero-based.

Fortran reference profile_update.F90, module profile_update_mod.

Member Function Documentation

◆ bin_volume()

static Real orb5x::ProfileUpdate::bin_volume ( int  ibin)
static

Return normalized physical volume of a configuration-space bin.

Parameters
[in]ibinZero-based flattened bin index.
Returns
Bin volume obtained by integrating the equilibrium Jacobian.

◆ get_sliding_momentum()

static const std::vector< std::vector< std::vector< std::vector< Real > > > > & orb5x::ProfileUpdate::get_sliding_momentum ( )
static

Access the time-windowed configuration-space moments.

Returns
Read-only nested storage [species][four moments][bin][history slot].

◆ get_space_bin()

static int orb5x::ProfileUpdate::get_space_bin ( Real  st,
Real  chit,
Real  phit,
int  isp 
)
static

Map a particle position to a flattened configuration-space bin.

Parameters
[in]stRadial coordinate \(s\).
[in]chitPoloidal angle [rad].
[in]phitToroidal angle [rad].
[in]ispZero-based species index used for its update domain.
Returns
Zero-based bin index, following the reference module's layout.

◆ init_profile_update()

static void orb5x::ProfileUpdate::init_profile_update ( )
static

Allocate the sliding history, construct the bin grid, and integrate bin volumes.

◆ N_saved()

static int orb5x::ProfileUpdate::N_saved ( )
static

Return the number of valid time snapshots currently stored.

Returns
Count of initialized history slots, up to the configured window length.

◆ Total_volume()

static Real orb5x::ProfileUpdate::Total_volume ( )
static

Return the sum of all normalized profile-update bin volumes.

Returns
Total configuration-space volume represented by the bin grid.

◆ updated_momentum_saving()

static void orb5x::ProfileUpdate::updated_momentum_saving ( )
static

Compute all species moments and advance the circular sliding-history index.


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