Builds and advances the externally imposed antenna potential.
More...
#include "antenna.hpp"
Builds and advances the externally imposed antenna potential.
The antenna converts the configured radial envelope and poloidal/toroidal mode spectrum into a B-spline field compatible with FieldsModule. It solves the selected quasineutrality/mass-matrix problem at two temporal phases and combines those cached fields during the timestep. This is the C++ analogue of antenna_mod in antenna.F90 and consumes the process-wide AntennaVariables populated by ReadInput.
- Note
- ORB5X coordinates and time are normalized: \(s\) is the normalized flux-surface radius, angles are radians, and time is in \(\Omega_i^{-1}\).
◆ add_antenna_source()
| static void orb5x::AntennaModule::add_antenna_source |
( |
int |
step | ) |
|
|
static |
Advance the antenna field for a global timestep.
- Parameters
-
| [in] | step | Zero-based global timestep; converted to time with basic->dt. |
◆ destroyStaticViews()
| static void orb5x::AntennaModule::destroyStaticViews |
( |
| ) |
|
|
static |
Release static Kokkos allocations before Kokkos::finalize().
◆ get_antenna_source()
Evaluate the configured analytic antenna source at one point.
- Parameters
-
| [in] | s | Normalized radial coordinate. |
| [in] | chi | Poloidal angle [rad]. |
| [in] | phi | Toroidal angle [rad]. |
| [in] | time | Normalized time \(t\Omega_i\). |
- Returns
- Radial-envelope times mode-spectrum times temporal coefficient, in the normalized potential/source units of the configured amplitudes; zero when the antenna is disabled.
◆ init_antenna()
| static void orb5x::AntennaModule::init_antenna |
( |
FieldsModule * |
fields_module = nullptr | ) |
|
|
static |
Initialize antenna metadata, storage, and the configured radial profile.
- Parameters
-
| [in] | fields_module | Field subsystem used to allocate phi_antenna; may be null only for the disabled/incomplete initialization path. |
◆ init_field()
| static void orb5x::AntennaModule::init_field |
( |
| ) |
|
|
static |
Assemble and solve the antenna field at the required temporal phases.
Populates phi_antenna and, for nonzero frequency, field_t0_bspl and field_tquarter_bspl. The selected antenna type chooses the quasineutrality or mass matrix, following init_field in antenna.F90.
◆ load_antenna_config()
| static void orb5x::AntennaModule::load_antenna_config |
( |
const std::string & |
fname | ) |
|
|
static |
Load scalar antenna settings from a simple key = value file.
- Parameters
-
| [in] | fname | Input file path. Missing files terminate the run. |
- Note
- Mode arrays remain owned by AntennaVariables and are not parsed here.
◆ update_field()
| static void orb5x::AntennaModule::update_field |
( |
Real |
time | ) |
|
|
static |
Reconstruct the instantaneous antenna potential from cached phases.
- Parameters
-
| [in] | time | Normalized simulation time \(t\Omega_i\). |
◆ phi_antenna
Antenna electrostatic potential and its B-spline/grid representations.
The documentation for this class was generated from the following file: