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

Per-species B-spline representation for PSZS diagnostics. More...

#include "globals.hpp"

+ Collaboration diagram for orb5x::PszsVariables:

Public Attributes

Kokkos::View< Real * > b
 Magnetic-field magnitude sampled on the PSZS grid.
 
Kokkos::View< Real *** > bcoef3d
 Three-dimensional magnetic-field spline coefficients.
 
Kokkos::View< Real * > bstar
 Guiding-centre B_parallel* sampled on the grid.
 
std::array< int, 3 > c = {0, 0, 0}
 Boundary/periodicity code by axis.
 
std::array< std::string, 3 > clabel
 HDF5 label for each coordinate.
 
std::array< int, 3 > dim = {0, 0, 0}
 Number of spline degrees of freedom by axis.
 
std::string dimlabel
 HDF5 label describing the selected phase-space dimensions.
 
std::array< Real, 3 > dn = {0.0, 0.0, 0.0}
 Coordinate spacing by axis.
 
std::array< Real, 3 > dn_inv = {0.0, 0.0, 0.0}
 Reciprocal coordinate spacing.
 
std::array< PszsGrid, 3 > g
 Coordinate grids for the three phase-space axes.
 
Kokkos::View< Real * > jpsi
 Phase-space Jacobian expressed in poloidal flux.
 
Kokkos::View< Real * > js
 Phase-space Jacobian expressed in normalized radius.
 
std::array< Real, 3 > lb = {0.0, 0.0, 0.0}
 Lower coordinate bounds.
 
std::array< Real, 3 > ll = {0.0, 0.0, 0.0}
 Period/range length of each coordinate.
 
spclibs::GBMat mat
 General band matrix for the PSZS mass projection.
 
std::array< int, 3 > nidbas = {0, 0, 0}
 B-spline degree by axis.
 
std::array< int, 3 > nn = {0, 0, 0}
 Number of grid intervals by axis.
 
Kokkos::View< Real * > rhs
 Unweighted deposited projection right-hand side.
 
Kokkos::View< Real * > sol
 Unweighted spline coefficients of the selected distribution.
 
std::array< spclibs::Spline1D, 3 > spx
 One-dimensional basis for each coordinate.
 
spclibs::Spline2D spxy
 Tensor-product basis for coordinates zero and one.
 
spclibs::Spline2D1D spxyz
 Full three-coordinate tensor-product basis.
 
spclibs::Spline2D spyz
 Tensor-product basis for coordinates one and two.
 
std::array< bool, 3 > switchlabel = {false, false, false}
 Coordinate-transform switches by axis.
 
std::array< Real, 3 > ub = {0.0, 0.0, 0.0}
 Upper coordinate bounds.
 
Kokkos::View< Real * > wrhs
 Jacobian/weight-adjusted projection right-hand side.
 
Kokkos::View< Real * > wsol
 Jacobian/weight-adjusted spline coefficients.
 

Detailed Description

Per-species B-spline representation for PSZS diagnostics.

The three zero-based coordinate slots are configured by DiagVariables and species bounds. This structure owns grids, Jacobians, spline workspaces, the banded mass matrix, and right-hand-side/solution vectors used by PszsModule.

Member Data Documentation

◆ b

Kokkos::View<Real*> orb5x::PszsVariables::b

Magnetic-field magnitude sampled on the PSZS grid.

◆ bcoef3d

Kokkos::View<Real***> orb5x::PszsVariables::bcoef3d

Three-dimensional magnetic-field spline coefficients.

◆ bstar

Kokkos::View<Real*> orb5x::PszsVariables::bstar

Guiding-centre B_parallel* sampled on the grid.

◆ c

std::array<int, 3> orb5x::PszsVariables::c = {0, 0, 0}

Boundary/periodicity code by axis.

◆ clabel

std::array<std::string, 3> orb5x::PszsVariables::clabel

HDF5 label for each coordinate.

◆ dim

std::array<int, 3> orb5x::PszsVariables::dim = {0, 0, 0}

Number of spline degrees of freedom by axis.

◆ dimlabel

std::string orb5x::PszsVariables::dimlabel

HDF5 label describing the selected phase-space dimensions.

◆ dn

std::array<Real, 3> orb5x::PszsVariables::dn = {0.0, 0.0, 0.0}

Coordinate spacing by axis.

◆ dn_inv

std::array<Real, 3> orb5x::PszsVariables::dn_inv = {0.0, 0.0, 0.0}

Reciprocal coordinate spacing.

◆ g

std::array<PszsGrid, 3> orb5x::PszsVariables::g

Coordinate grids for the three phase-space axes.

◆ jpsi

Kokkos::View<Real*> orb5x::PszsVariables::jpsi

Phase-space Jacobian expressed in poloidal flux.

◆ js

Kokkos::View<Real*> orb5x::PszsVariables::js

Phase-space Jacobian expressed in normalized radius.

◆ lb

std::array<Real, 3> orb5x::PszsVariables::lb = {0.0, 0.0, 0.0}

Lower coordinate bounds.

◆ ll

std::array<Real, 3> orb5x::PszsVariables::ll = {0.0, 0.0, 0.0}

Period/range length of each coordinate.

◆ mat

spclibs::GBMat orb5x::PszsVariables::mat

General band matrix for the PSZS mass projection.

◆ nidbas

std::array<int, 3> orb5x::PszsVariables::nidbas = {0, 0, 0}

B-spline degree by axis.

◆ nn

std::array<int, 3> orb5x::PszsVariables::nn = {0, 0, 0}

Number of grid intervals by axis.

◆ rhs

Kokkos::View<Real*> orb5x::PszsVariables::rhs

Unweighted deposited projection right-hand side.

◆ sol

Kokkos::View<Real*> orb5x::PszsVariables::sol

Unweighted spline coefficients of the selected distribution.

◆ spx

std::array<spclibs::Spline1D, 3> orb5x::PszsVariables::spx

One-dimensional basis for each coordinate.

◆ spxy

spclibs::Spline2D orb5x::PszsVariables::spxy

Tensor-product basis for coordinates zero and one.

◆ spxyz

spclibs::Spline2D1D orb5x::PszsVariables::spxyz

Full three-coordinate tensor-product basis.

◆ spyz

spclibs::Spline2D orb5x::PszsVariables::spyz

Tensor-product basis for coordinates one and two.

◆ switchlabel

std::array<bool, 3> orb5x::PszsVariables::switchlabel = {false, false, false}

Coordinate-transform switches by axis.

◆ ub

std::array<Real, 3> orb5x::PszsVariables::ub = {0.0, 0.0, 0.0}

Upper coordinate bounds.

◆ wrhs

Kokkos::View<Real*> orb5x::PszsVariables::wrhs

Jacobian/weight-adjusted projection right-hand side.

◆ wsol

Kokkos::View<Real*> orb5x::PszsVariables::wsol

Jacobian/weight-adjusted spline coefficients.


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