Storage and per-species access metadata for one scalar field. More...
#include "fields.hpp"
Public Member Functions | |
| void | allocate (int nspecies, int ns, int nchi, int nphip, int nidbas, int neq_f) |
| Allocate all numerical and metadata storage for this field. | |
| void | allocate_field_storage (int ns, int nchi, int nphip, int nidbas, int neq_f) |
| Allocate spline coefficients and Fourier right-hand-side storage. | |
| void | allocate_metadata (int nspecies) |
| Allocate and initialize per-species field-requirement metadata. | |
| FieldType ()=default | |
| Construct an unallocated field descriptor. | |
Public Attributes | |
| Kokkos::View< Real *** > | bspl |
| Real-space B-spline coefficients with lower-bound offsets folded into C++ indices. | |
| Kokkos::View< int * > | field_pic |
| Base particle-attribute index for the scalar field. | |
| Kokkos::View< int * > | grad_field_pic |
| Base attribute index followed by radial, poloidal, and toroidal gradients. | |
| Kokkos::View< int * > | gyro_field_pic |
| Base particle-attribute index for the gyro-average. | |
| Kokkos::View< int * > | gyro_grad_field_pic |
| Base particle-attribute index for the gyro-averaged gradient. | |
| Kokkos::View< int * > | need_field |
Per-species cadence: -1 unused, 0 each substep, positive every N steps. | |
| Kokkos::View< int * > | need_grad_field |
| Per-species cadence for field-gradient evaluation. | |
| Kokkos::View< int * > | need_gyro_field |
| Per-species cadence for gyro-averaged field evaluation. | |
| Kokkos::View< int * > | need_gyro_grad_field |
| Per-species cadence for gyro-averaged gradients. | |
| Kokkos::View< Complex ** > | rhs_f |
| Complex solver right-hand side indexed by Fourier equation and toroidal mode. | |
Storage and per-species access metadata for one scalar field.
A field is represented by tensor-product B-spline coefficients in real space and by a Fourier-space solver right-hand side. Metadata maps each species to the particle-attribute slots populated by get_pot_disp().
|
default |
Construct an unallocated field descriptor.
|
inline |
Allocate all numerical and metadata storage for this field.
| [in] | nspecies | Number of configured species. |
| [in] | ns | Number of radial grid intervals. |
| [in] | nchi | Number of poloidal grid intervals. |
| [in] | nphip | Number of retained toroidal planes. |
| [in] | nidbas | Number of B-spline overlap/guard coefficients. |
| [in] | neq_f | Number of Fourier-space equations. |
References allocate_field_storage(), and allocate_metadata().
|
inline |
Allocate spline coefficients and Fourier right-hand-side storage.
| [in] | ns | Number of radial grid intervals. |
| [in] | nchi | Number of poloidal grid intervals. |
| [in] | nphip | Number of retained toroidal planes. |
| [in] | nidbas | Number of B-spline overlap/guard coefficients. |
| [in] | neq_f | Number of Fourier-space equations. |
Referenced by allocate().
|
inline |
Allocate and initialize per-species field-requirement metadata.
| [in] | nspecies | Number of configured kinetic/fluid species. |
References field_pic, grad_field_pic, gyro_field_pic, gyro_grad_field_pic, need_field, need_grad_field, need_gyro_field, and need_gyro_grad_field.
Referenced by allocate().
| Kokkos::View<Real***> orb5x::FieldType::bspl |
Real-space B-spline coefficients with lower-bound offsets folded into C++ indices.
Referenced by allocate_field_storage().
| Kokkos::View<int*> orb5x::FieldType::field_pic |
Base particle-attribute index for the scalar field.
Referenced by allocate_metadata().
| Kokkos::View<int*> orb5x::FieldType::grad_field_pic |
Base attribute index followed by radial, poloidal, and toroidal gradients.
Referenced by allocate_metadata().
| Kokkos::View<int*> orb5x::FieldType::gyro_field_pic |
Base particle-attribute index for the gyro-average.
Referenced by allocate_metadata().
| Kokkos::View<int*> orb5x::FieldType::gyro_grad_field_pic |
Base particle-attribute index for the gyro-averaged gradient.
Referenced by allocate_metadata().
| Kokkos::View<int*> orb5x::FieldType::need_field |
Per-species cadence: -1 unused, 0 each substep, positive every N steps.
Referenced by allocate_metadata().
| Kokkos::View<int*> orb5x::FieldType::need_grad_field |
Per-species cadence for field-gradient evaluation.
Referenced by allocate_metadata().
| Kokkos::View<int*> orb5x::FieldType::need_gyro_field |
Per-species cadence for gyro-averaged field evaluation.
Referenced by allocate_metadata().
| Kokkos::View<int*> orb5x::FieldType::need_gyro_grad_field |
Per-species cadence for gyro-averaged gradients.
Referenced by allocate_metadata().
| Kokkos::View<Complex**> orb5x::FieldType::rhs_f |
Complex solver right-hand side indexed by Fourier equation and toroidal mode.
Referenced by allocate_field_storage().