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

Magnetic-equilibrium inputs and geometry-derived normalization data. More...

#include "globals.hpp"

+ Collaboration diagram for orb5x::EquilVariables:

Public Member Functions

 EquilVariables ()
 Construct equilibrium state with deferred qcoef allocation.
 
void init_qcoef ()
 Allocate and zero the safety-factor coefficients.
 

Public Attributes

Real a_mid = 0.2
 Plasma minor radius at the midplane, normalized length.
 
Real a_mid_mks = 0.0
 Physical midplane minor radius in metres.
 
Real beta = 0.0
 Reference kinetic-to-magnetic pressure ratio.
 
Real beta_inv = 0.0
 Reciprocal reference beta; zero in electrostatic setup.
 
Real btor0 = 1.0
 Toroidal field at the reference axis, tesla on input.
 
Real ctor = 0.0
 Toroidal coefficient used by volume integrals.
 
Kokkos::View< Real * > den0_norm
 Per-species density normalization factors.
 
Kokkos::View< Real * > ekinps
 Per-species phase-space kinetic-energy integral.
 
std::string equil_name
 Human-readable loaded-equilibrium name.
 
std::string fname
 Equilibrium input filename.
 
int itm_run = 1
 IMAS/ITM run identifier.
 
int itm_shot = 1
 IMAS/ITM shot identifier.
 
Real L_Debye = 0.0
 Debye length normalized to the reference minor radius.
 
Real lx = 0.0
 Radial box extent in normalized flux coordinate.
 
Real ly = 0.0
 Toroidal box length in normalized coordinates.
 
int nequ_c = 0
 Equilibrium samples in poloidal angle chi.
 
int nequ_r = 0
 Equilibrium samples in major radius.
 
int nequ_s = 0
 Equilibrium samples in normalized radius s.
 
int nequ_z = 0
 Equilibrium samples in vertical position.
 
bool nl_chease_norm = false
 Apply CHEASE normalization conventions.
 
bool nl_itm_loadequil = false
 Load equilibrium through the ITM/IMAS path.
 
bool nl_ubulk = false
 Whether an equilibrium bulk-flow profile is available.
 
int nsel_q_profile = 1
 Analytic safety-factor selector; see NSelQProfile.
 
std::string prof_file = "profiles.h5"
 HDF5 kinetic-profile filename.
 
std::string profiles_fname = "_profiles.dat"
 Legacy text-profile suffix.
 
Kokkos::View< Real * > pvol_norm
 Full-marker phase-volume normalization by species.
 
Kokkos::View< Real * > pvol_norm_tr
 Trapped-marker phase-volume normalization by species.
 
Real q0 = 0.0
 Safety factor on the magnetic axis.
 
Kokkos::View< Real[15]> qcoef
 Analytic safety-factor profile coefficients.
 
bool qcoef_initialized = false
 Whether qcoef owns Kokkos storage.
 
Real qedge = 0.0
 Safety factor at the radial boundary.
 
Real r0_mid = 1.0
 Major radius at the outboard midplane, normalized length.
 
Kokkos::View< Real * > skin_norm
 Per-species normalized skin-depth factors.
 
Kokkos::View< Real * > vol_coord
 Flux-surface volume coordinate on the radial grid.
 
Kokkos::View< Real * > volanu
 Per-species annular configuration-space volume.
 
Kokkos::View< Real * > volps
 Per-species phase-space volume with B Jacobian.
 
Kokkos::View< Real * > voltor
 Per-species toroidal volume with s Jacobian.
 
Real vtor = 0.0
 Total toroidal configuration-space volume.
 
Real Zeff = 0.0
 Effective charge derived from species densities and charges.
 
Real zrmag = 1.0
 Major-radius coordinate of the magnetic axis, normalized length.
 
Real zzmag = 0.0
 Vertical coordinate of the magnetic axis, normalized length.
 

Detailed Description

Magnetic-equilibrium inputs and geometry-derived normalization data.

This state connects equilibrium loading to fields, markers, and diagnostics. Lengths are normalized to the reference minor radius unless _mks is used.

Constructor & Destructor Documentation

◆ EquilVariables()

orb5x::EquilVariables::EquilVariables ( )
inline

Construct equilibrium state with deferred qcoef allocation.

Member Function Documentation

◆ init_qcoef()

void orb5x::EquilVariables::init_qcoef ( )
inline

Allocate and zero the safety-factor coefficients.

Precondition
Kokkos is initialized.

References qcoef, and qcoef_initialized.

Member Data Documentation

◆ a_mid

Real orb5x::EquilVariables::a_mid = 0.2

Plasma minor radius at the midplane, normalized length.

◆ a_mid_mks

Real orb5x::EquilVariables::a_mid_mks = 0.0

Physical midplane minor radius in metres.

◆ beta

Real orb5x::EquilVariables::beta = 0.0

Reference kinetic-to-magnetic pressure ratio.

◆ beta_inv

Real orb5x::EquilVariables::beta_inv = 0.0

Reciprocal reference beta; zero in electrostatic setup.

◆ btor0

Real orb5x::EquilVariables::btor0 = 1.0

Toroidal field at the reference axis, tesla on input.

◆ ctor

Real orb5x::EquilVariables::ctor = 0.0

Toroidal coefficient used by volume integrals.

◆ den0_norm

Kokkos::View<Real*> orb5x::EquilVariables::den0_norm

Per-species density normalization factors.

◆ ekinps

Kokkos::View<Real*> orb5x::EquilVariables::ekinps

Per-species phase-space kinetic-energy integral.

◆ equil_name

std::string orb5x::EquilVariables::equil_name

Human-readable loaded-equilibrium name.

◆ fname

std::string orb5x::EquilVariables::fname

Equilibrium input filename.

◆ itm_run

int orb5x::EquilVariables::itm_run = 1

IMAS/ITM run identifier.

◆ itm_shot

int orb5x::EquilVariables::itm_shot = 1

IMAS/ITM shot identifier.

◆ L_Debye

Real orb5x::EquilVariables::L_Debye = 0.0

Debye length normalized to the reference minor radius.

◆ lx

Real orb5x::EquilVariables::lx = 0.0

Radial box extent in normalized flux coordinate.

◆ ly

Real orb5x::EquilVariables::ly = 0.0

Toroidal box length in normalized coordinates.

◆ nequ_c

int orb5x::EquilVariables::nequ_c = 0

Equilibrium samples in poloidal angle chi.

◆ nequ_r

int orb5x::EquilVariables::nequ_r = 0

Equilibrium samples in major radius.

◆ nequ_s

int orb5x::EquilVariables::nequ_s = 0

Equilibrium samples in normalized radius s.

◆ nequ_z

int orb5x::EquilVariables::nequ_z = 0

Equilibrium samples in vertical position.

◆ nl_chease_norm

bool orb5x::EquilVariables::nl_chease_norm = false

Apply CHEASE normalization conventions.

◆ nl_itm_loadequil

bool orb5x::EquilVariables::nl_itm_loadequil = false

Load equilibrium through the ITM/IMAS path.

◆ nl_ubulk

bool orb5x::EquilVariables::nl_ubulk = false

Whether an equilibrium bulk-flow profile is available.

◆ nsel_q_profile

int orb5x::EquilVariables::nsel_q_profile = 1

Analytic safety-factor selector; see NSelQProfile.

◆ prof_file

std::string orb5x::EquilVariables::prof_file = "profiles.h5"

HDF5 kinetic-profile filename.

◆ profiles_fname

std::string orb5x::EquilVariables::profiles_fname = "_profiles.dat"

Legacy text-profile suffix.

◆ pvol_norm

Kokkos::View<Real*> orb5x::EquilVariables::pvol_norm

Full-marker phase-volume normalization by species.

◆ pvol_norm_tr

Kokkos::View<Real*> orb5x::EquilVariables::pvol_norm_tr

Trapped-marker phase-volume normalization by species.

◆ q0

Real orb5x::EquilVariables::q0 = 0.0

Safety factor on the magnetic axis.

◆ qcoef

Kokkos::View<Real[15]> orb5x::EquilVariables::qcoef

Analytic safety-factor profile coefficients.

Referenced by init_qcoef().

◆ qcoef_initialized

bool orb5x::EquilVariables::qcoef_initialized = false

Whether qcoef owns Kokkos storage.

Referenced by init_qcoef().

◆ qedge

Real orb5x::EquilVariables::qedge = 0.0

Safety factor at the radial boundary.

◆ r0_mid

Real orb5x::EquilVariables::r0_mid = 1.0

Major radius at the outboard midplane, normalized length.

◆ skin_norm

Kokkos::View<Real*> orb5x::EquilVariables::skin_norm

Per-species normalized skin-depth factors.

◆ vol_coord

Kokkos::View<Real*> orb5x::EquilVariables::vol_coord

Flux-surface volume coordinate on the radial grid.

◆ volanu

Kokkos::View<Real*> orb5x::EquilVariables::volanu

Per-species annular configuration-space volume.

◆ volps

Kokkos::View<Real*> orb5x::EquilVariables::volps

Per-species phase-space volume with B Jacobian.

◆ voltor

Kokkos::View<Real*> orb5x::EquilVariables::voltor

Per-species toroidal volume with s Jacobian.

◆ vtor

Real orb5x::EquilVariables::vtor = 0.0

Total toroidal configuration-space volume.

◆ Zeff

Real orb5x::EquilVariables::Zeff = 0.0

Effective charge derived from species densities and charges.

◆ zrmag

Real orb5x::EquilVariables::zrmag = 1.0

Major-radius coordinate of the magnetic axis, normalized length.

◆ zzmag

Real orb5x::EquilVariables::zzmag = 0.0

Vertical coordinate of the magnetic axis, normalized length.


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