ORB5X 1.0.0
Performance-portable global electromagnetic gyrokinetic PIC code
 
Loading...
Searching...
No Matches
pszs.hpp File Reference

Phase-space zonal-structure diagnostics and filtering. More...

#include "prec_const.hpp"
#include "globals.hpp"
#include "spclibs/bsplines.hpp"
#include "spclibs/matrix.hpp"
#include <Kokkos_Core.hpp>
#include <H5Cpp.h>
#include <string>
#include <array>
#include <vector>
+ Include dependency graph for pszs.hpp:

Classes

class  orb5x::PszsModule
 PSZS Module - Phase Space Zone Sampling diagnostics. More...
 

Namespaces

namespace  orb5x
 

Detailed Description

Phase-space zonal-structure diagnostics and filtering.

Phase Space Zone Sampling (PSZS) module for ORB5X.

Bins marker weights/moments on configured grids, reduces across MPI, and writes per-species PSZS observables.

This file is a C++ translation of the Fortran module pszs.F90. It provides diagnostic functionality for 3D phase space distribution function reconstruction using B-spline finite elements.

Key functionality:

  • pszs_open/close: HDF5 file management for PSZS output
  • pszs_setvariables: Configure coordinate ordering for phase space
  • pszs_initialize: Set up grids, splines, and mass matrices
  • pszs_solve: Solve for distribution function coefficients
  • deposit_bsplines: Particle deposition onto B-spline basis

Indexing Convention: All array indices are 0-based in C++ (vs 1-based in Fortran). Grid dimensions nn[0], nn[1], nn[2] correspond to Fortran nn(1), nn(2), nn(3).