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

Spectral and radial definition of an externally imposed field antenna. More...

#include "globals.hpp"

Collaboration diagram for orb5x::AntennaVariables:

Public Member Functions

 AntennaVariables ()
 Construct antenna state with deferred mode-array allocation.
void init_antenna_views ()
 Allocate and initialize the fixed-size mode/profile arrays.

Public Attributes

Kokkos::View< Real[32]> amplitudes
 Normalized amplitude of each spectral mode.
bool antenna_views_initialized = false
 Whether fixed-size views own Kokkos storage.
Real frequency = 0.0
 Antenna angular frequency in normalized inverse time.
Kokkos::View< int[32]> m
 Poloidal mode number of each slot.
Kokkos::View< int[32]> n
 Toroidal mode number of each slot.
bool nl_filter_plasma_n = false
 Remove driven toroidal modes from self-consistent fields.
int nmodes = 0
 Number of active entries in the mode arrays.
int nsel_profile = 0
 Radial-profile selector; see NSelAntennaProfile.
int nsel_type = 0
 Driven field-component/type selector; see NSelAntenna.
Real oscil_coef = 1.0
 Oscillatory amplitude multiplier.
Kokkos::View< Real[32]> phases
 Phase of each mode in radians.
std::string profile_file = "antenna_profile"
 Tabulated radial-profile filename.
Real profile_gauss_delta = 0.2
 Width of the Gaussian radial envelope.
Real profile_gauss_s0 = 0.5
 Centre of the Gaussian radial envelope.
Kokkos::View< Real[32]> profile_poly_coef
 Polynomial radial-profile coefficients.
Real profile_sin_ks = 6.283185307179586476925286766559005768394
 Sinusoidal radial wavenumber in inverse s.
Real profile_sin_phase = 0.0
 Sinusoidal radial phase in radians.
Real steady_coef = 0.0
 Time-independent amplitude multiplier.

Detailed Description

Spectral and radial definition of an externally imposed field antenna.

AntennaModule evaluates these modes and adds them to the selected field component; arrays use zero-based mode slots and contain at most 32 modes.

Constructor & Destructor Documentation

◆ AntennaVariables()

orb5x::AntennaVariables::AntennaVariables ( )
inline

Construct antenna state with deferred mode-array allocation.

Member Function Documentation

◆ init_antenna_views()

void orb5x::AntennaVariables::init_antenna_views ( )
inline

Allocate and initialize the fixed-size mode/profile arrays.

Precondition
Kokkos is initialized.

References amplitudes, antenna_views_initialized, m, n, phases, and profile_poly_coef.

Member Data Documentation

◆ amplitudes

Kokkos::View<Real[32]> orb5x::AntennaVariables::amplitudes

Normalized amplitude of each spectral mode.

Referenced by init_antenna_views().

◆ antenna_views_initialized

bool orb5x::AntennaVariables::antenna_views_initialized = false

Whether fixed-size views own Kokkos storage.

Referenced by init_antenna_views().

◆ frequency

Real orb5x::AntennaVariables::frequency = 0.0

Antenna angular frequency in normalized inverse time.

◆ m

Kokkos::View<int[32]> orb5x::AntennaVariables::m

Poloidal mode number of each slot.

Referenced by init_antenna_views().

◆ n

Kokkos::View<int[32]> orb5x::AntennaVariables::n

Toroidal mode number of each slot.

Referenced by init_antenna_views().

◆ nl_filter_plasma_n

bool orb5x::AntennaVariables::nl_filter_plasma_n = false

Remove driven toroidal modes from self-consistent fields.

◆ nmodes

int orb5x::AntennaVariables::nmodes = 0

Number of active entries in the mode arrays.

◆ nsel_profile

int orb5x::AntennaVariables::nsel_profile = 0

Radial-profile selector; see NSelAntennaProfile.

◆ nsel_type

int orb5x::AntennaVariables::nsel_type = 0

Driven field-component/type selector; see NSelAntenna.

◆ oscil_coef

Real orb5x::AntennaVariables::oscil_coef = 1.0

Oscillatory amplitude multiplier.

◆ phases

Kokkos::View<Real[32]> orb5x::AntennaVariables::phases

Phase of each mode in radians.

Referenced by init_antenna_views().

◆ profile_file

std::string orb5x::AntennaVariables::profile_file = "antenna_profile"

Tabulated radial-profile filename.

◆ profile_gauss_delta

Real orb5x::AntennaVariables::profile_gauss_delta = 0.2

Width of the Gaussian radial envelope.

◆ profile_gauss_s0

Real orb5x::AntennaVariables::profile_gauss_s0 = 0.5

Centre of the Gaussian radial envelope.

◆ profile_poly_coef

Kokkos::View<Real[32]> orb5x::AntennaVariables::profile_poly_coef

Polynomial radial-profile coefficients.

Referenced by init_antenna_views().

◆ profile_sin_ks

Real orb5x::AntennaVariables::profile_sin_ks = 6.283185307179586476925286766559005768394

Sinusoidal radial wavenumber in inverse s.

◆ profile_sin_phase

Real orb5x::AntennaVariables::profile_sin_phase = 0.0

Sinusoidal radial phase in radians.

◆ steady_coef

Real orb5x::AntennaVariables::steady_coef = 0.0

Time-independent amplitude multiplier.


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