Deposits particle moments to the field grid and gathers spline fields back to particle positions. More...
#include "part_fields.hpp"
Public Member Functions | |
| void | clear_pot_coef_cache () |
| Invalidate the host-side spline-coefficient cache. | |
| void | deposition (int np, const Real *x, const Real *y, const Real *z, const Real *w, Kokkos::View< Real ***, Kokkos::LayoutStride > rhs, const bool *nl_depos=nullptr, const int *displs=nullptr, bool first=true) |
| Generic double-precision deposition entry point. | |
| void | deposition (int np, const Real *x, const Real *y, const Real *z, const Real32 *w, Kokkos::View< Real ***, Kokkos::LayoutStride > rhs, const bool *nl_depos=nullptr, const int *displs=nullptr, bool first=true) |
| Generic single-precision-weight deposition entry point. | |
| void | deposition_from_marker_view (const Kokkos::View< Real ** > &atts, int np, int x_col, int y_col, int z_col, int w_col, Kokkos::View< Real ***, Kokkos::LayoutStride > rhs, const Kokkos::View< int ** > *displs=nullptr, bool first=true) |
| Deposit directly from columns of a device-resident marker table. | |
| void | deposition_from_views (const Kokkos::View< Real ** > &coord_atts, const Kokkos::View< Real ** > &weight_atts, int np, int x_col, int y_col, int z_col, int w_col, Kokkos::View< Real ***, Kokkos::LayoutStride > rhs, const Kokkos::View< int ** > *displs=nullptr, bool first=true) |
| Deposit coordinates and weights stored in separate marker views. | |
| void | deposition_from_views (const Kokkos::View< Real ** > &coord_atts, const Kokkos::View< Real32 ** > &weight_atts, int np, int x_col, int y_col, int z_col, int w_col, Kokkos::View< Real ***, Kokkos::LayoutStride > rhs, const Kokkos::View< int ** > *displs=nullptr, bool first=true) |
| void | deposition_r4 (int np, const Real *x, const Real *y, const Real *z, const Real32 *w, Kokkos::View< Real ***, Kokkos::LayoutStride > rhs, const bool *nl_depos=nullptr, const int *displs=nullptr, bool first=true) |
| Single-precision-weight overload of deposition_r8(). | |
| void | deposition_r8 (int np, const Real *x, const Real *y, const Real *z, const Real *w, Kokkos::View< Real ***, Kokkos::LayoutStride > rhs, const bool *nl_depos=nullptr, const int *displs=nullptr, bool first=true) |
| Deposit double-precision particle weights onto tensor-product spline coefficients. | |
| void | get_field (const Kokkos::View< Real *** > &pot_coef, int np, const Real *x, const Real *y, const Real *z, Real *pot=nullptr, Real *dpot_dx=nullptr, Real *dpot_dy=nullptr, Real *dpot_dz=nullptr, const int *displs=nullptr) |
| Gather a scalar spline field and optional coordinate derivatives at particles. | |
| void | init_deposition_by_cell () |
Configure cell-sorted deposition (part_fields.F90:init_deposition_by_cell). | |
| void | init_deposition_by_color () |
Construct conflict-free color buckets (part_fields.F90:init_deposition_by_color). | |
| void | init_deposition_by_color_buf () |
| Construct color buckets and their buffered accumulation workspace. | |
| void | init_deposition_by_part () |
Configure direct per-particle deposition (part_fields.F90:init_deposition_by_part). | |
| void | init_module (int nidbas_, int ns_, int nchi_, int nphi_, int iz_offset_, Real ds_, Real dchi_, Real dphi_, Real xmin_, bool nl_gradgyr_, int nsel_depos_, int nsel_get_field_, int nbin_x_, int nbin_y_, int nbin_z_, int color_nbin_x_, int color_nbin_y_) |
| Configure grid geometry and particle–mesh algorithms. | |
| void | nullify_rhs (Kokkos::View< Real ***, Kokkos::LayoutStride > rhs) |
| Zero every coefficient in a deposition View. | |
| void | nullify_rhs_omp (int ithread) |
| Zero one thread-private deposition accumulator. | |
| PartFieldsModule ()=default | |
| Construct an uninitialized particle–field coupler. | |
| void | prepare_pot_coef_cache (const Kokkos::View< Real *** > &pot_coef) |
| Synchronize and cache spline coefficients for repeated host gathers. | |
| void | reduction_threads (Kokkos::View< Real ***, Kokkos::LayoutStride > rhs) |
| Sum thread-replicated deposition contributions. | |
| ~PartFieldsModule ()=default | |
| Release Kokkos view handles owned by this module. | |
Static Public Member Functions | |
| static void | grad_splines_bas1 (Real x, Real *result) |
| Evaluate derivatives of the two linear basis weights. | |
| static void | grad_splines_bas2 (Real x, Real *result) |
| Evaluate derivatives of the three quadratic basis weights. | |
| static void | grad_splines_bas3 (Real x, Real *result) |
| Evaluate derivatives of the four cubic basis weights. | |
| static void | splines_bas1 (Real x, Real *result) |
| Evaluate two linear cardinal B-spline weights. | |
| static void | splines_bas2 (Real x, Real *result) |
| Evaluate three quadratic cardinal B-spline weights. | |
| static void | splines_bas3 (Real x, Real *result) |
| Evaluate four cubic cardinal B-spline weights. | |
Public Attributes | |
| Kokkos::View< int ** > | bin_array |
| Particle indices grouped by color bucket. | |
| Kokkos::View< Real *** > | color_buffer |
| Per-bucket accumulation buffer for buffered coloring. | |
| int | color_nbin_x = 0 |
| Radial bin count used by conflict-free coloring. | |
| int | color_nbin_y = 0 |
| Poloidal bin count used by conflict-free coloring. | |
| Real | dx_inv = 0.0 |
| Inverse radial spacing \(1/\Delta s\). | |
| Real | dy_inv = 0.0 |
| Inverse poloidal angular spacing \(1/\Delta\chi\) [rad \(^{-1}\)]. | |
| Real | dz_inv = 0.0 |
| Inverse toroidal angular spacing \(1/\Delta\varphi\) [rad \(^{-1}\)]. | |
| int | grid_cells_in_x_color_bucket = 0 |
| Radial grid cells covered by one color bucket. | |
| int | grid_cells_in_y_color_bucket = 0 |
| Poloidal grid cells covered by one color bucket. | |
| int | iz_offset = 0 |
| Zero-based global index of the first local toroidal interval. | |
| int | k_end = 0 |
| Last local toroidal coefficient index touched by deposition. | |
| int | k_start = 0 |
| First local toroidal coefficient index touched by deposition. | |
| int | nbin_x = 0 |
| Number of radial particle-sorting bins. | |
| int | nbin_x_avg = 0 |
| Mean radial sorting-bin count per color bucket. | |
| int | nbin_y = 0 |
| Number of poloidal particle-sorting bins. | |
| int | nbin_y_avg = 0 |
| Mean poloidal sorting-bin count per color bucket. | |
| int | nbin_z = 0 |
| Number of local toroidal particle-sorting bins. | |
| int | nidbas = 0 |
| B-spline degree/order selector: 1 linear, 2 quadratic, or 3 cubic. | |
| bool | nl_gradgyr = false |
| If true, differentiate the gyroaverage rather than gyroaveraging the gradient. | |
| int | nsel_depos = 0 |
| Particle-deposition algorithm selector. | |
| int | nsel_get_field = 0 |
| Field-gather algorithm selector. | |
| int | number_of_bins_per_bucket = 0 |
| Sorting-bin count represented by one color bucket. | |
| int | number_of_buckets = 0 |
| Total local color-bucket count. | |
| int | nx = 0 |
| Number of radial field-grid intervals. | |
| int | ny = 0 |
| Number of periodic poloidal field-grid intervals. | |
| int | nz = 0 |
| Number of toroidal intervals owned by this MPI subdomain. | |
| size_t | pot_coef_cache_ext0 = 0 |
| Cached radial extent. | |
| size_t | pot_coef_cache_ext1 = 0 |
| Cached poloidal extent. | |
| size_t | pot_coef_cache_ext2 = 0 |
| Cached toroidal extent. | |
| Kokkos::View< Real *** >::HostMirror | pot_coef_cache_host |
| Host mirror reused by repeated host gathers. | |
| const Real * | pot_coef_cache_ptr = nullptr |
| Device/allocation identity associated with the cached mirror. | |
| bool | pot_coef_cache_valid = false |
| Whether the host coefficient cache matches its recorded identity and extents. | |
| Kokkos::View< Real **** > | rhs_omp |
| Thread-replicated deposited RHS indexed by spline coefficient and thread. | |
| bool | use_vectorized = false |
| Whether the vectorized colored-deposition kernel is selected. | |
| Real | xmin = 0.0 |
| Inner radial boundary in normalized \(s\) coordinates. | |
Deposits particle moments to the field grid and gathers spline fields back to particle positions.
The module implements the particle–mesh coupling used by the gyrokinetic charge and current equations. Coordinates follow the original ORB5 convention: x is \(s=\sqrt{\psi}\), y is periodic poloidal angle \(\chi\), and z is periodic toroidal angle \(\varphi\) distributed over MPI subdomains. Linear, quadratic, or cubic tensor-product B-splines are selected by nidbas. Depositing and gathering with the same basis preserves the discrete particle–field coupling.
part_fields.F90, module part_fields, especially deposition_r4, deposition_r8, and get_field.
|
default |
Construct an uninitialized particle–field coupler.
|
default |
Release Kokkos view handles owned by this module.
| void orb5x::PartFieldsModule::clear_pot_coef_cache | ( | ) |
Invalidate the host-side spline-coefficient cache.
| void orb5x::PartFieldsModule::deposition | ( | int | np, |
| const Real * | x, | ||
| const Real * | y, | ||
| const Real * | z, | ||
| const Real * | w, | ||
| Kokkos::View< Real ***, Kokkos::LayoutStride > | rhs, | ||
| const bool * | nl_depos = nullptr, |
||
| const int * | displs = nullptr, |
||
| bool | first = true |
||
| ) |
Generic double-precision deposition entry point.
| [in] | np | Number of particles represented by all coordinate arrays. |
| [in] | x | Radial coordinates \(s\), length np. |
| [in] | y | Poloidal coordinates \(\chi\) [rad], length np. |
| [in] | z | Toroidal coordinates \(\varphi\) [rad], length np. |
| [in] | w | Values to deposit, length np. |
| [in,out] | rhs | Spline-grid accumulator; cleared first when first is true. |
| [in] | nl_depos | Optional per-particle enable mask. |
| [in] | displs | Optional particle ordering/displacement array for sorted methods. |
| [in] | first | Whether this is the first contribution to rhs. |
part_fields.F90:deposition_r8. | void orb5x::PartFieldsModule::deposition | ( | int | np, |
| const Real * | x, | ||
| const Real * | y, | ||
| const Real * | z, | ||
| const Real32 * | w, | ||
| Kokkos::View< Real ***, Kokkos::LayoutStride > | rhs, | ||
| const bool * | nl_depos = nullptr, |
||
| const int * | displs = nullptr, |
||
| bool | first = true |
||
| ) |
Generic single-precision-weight deposition entry point.
Coordinates and output remain in the build's Real precision.
| [in] | np | Number of particles. |
| [in] | x | Radial particle coordinates. |
| [in] | y | Poloidal particle coordinates [rad]. |
| [in] | z | Toroidal particle coordinates [rad]. |
| [in] | w | Single-precision deposited values. |
| [in,out] | rhs | Spline-grid accumulator. |
| [in] | nl_depos | Optional enable mask. |
| [in] | displs | Optional sorted-particle displacement map. |
| [in] | first | Whether to clear rhs before accumulating. |
part_fields.F90:deposition_r4. | void orb5x::PartFieldsModule::deposition_from_marker_view | ( | const Kokkos::View< Real ** > & | atts, |
| int | np, | ||
| int | x_col, | ||
| int | y_col, | ||
| int | z_col, | ||
| int | w_col, | ||
| Kokkos::View< Real ***, Kokkos::LayoutStride > | rhs, | ||
| const Kokkos::View< int ** > * | displs = nullptr, |
||
| bool | first = true |
||
| ) |
Deposit directly from columns of a device-resident marker table.
| [in] | atts | Marker attribute view. |
| [in] | np | Number of active marker rows. |
| [in] | x_col | Radial-coordinate column. |
| [in] | y_col | Poloidal-coordinate column. |
| [in] | z_col | Toroidal-coordinate column. |
| [in] | w_col | Value/weight column. |
| [in,out] | rhs | Spline-grid accumulator. |
| [in] | displs | Optional device-resident sorting map. |
| [in] | first | Whether to clear the accumulator before deposition. |
| void orb5x::PartFieldsModule::deposition_from_views | ( | const Kokkos::View< Real ** > & | coord_atts, |
| const Kokkos::View< Real ** > & | weight_atts, | ||
| int | np, | ||
| int | x_col, | ||
| int | y_col, | ||
| int | z_col, | ||
| int | w_col, | ||
| Kokkos::View< Real ***, Kokkos::LayoutStride > | rhs, | ||
| const Kokkos::View< int ** > * | displs = nullptr, |
||
| bool | first = true |
||
| ) |
Deposit coordinates and weights stored in separate marker views.
| [in] | coord_atts | View containing coordinate columns. |
| [in] | weight_atts | View containing the deposited-value column. |
| [in] | np | Number of active markers. |
| [in] | x_col | Radial column in coord_atts. |
| [in] | y_col | Poloidal column in coord_atts. |
| [in] | z_col | Toroidal column in coord_atts. |
| [in] | w_col | Value column in weight_atts. |
| [in,out] | rhs | Spline-grid accumulator. |
| [in] | displs | Optional sorting map. |
| [in] | first | Whether to clear rhs first. |
| void orb5x::PartFieldsModule::deposition_from_views | ( | const Kokkos::View< Real ** > & | coord_atts, |
| const Kokkos::View< Real32 ** > & | weight_atts, | ||
| int | np, | ||
| int | x_col, | ||
| int | y_col, | ||
| int | z_col, | ||
| int | w_col, | ||
| Kokkos::View< Real ***, Kokkos::LayoutStride > | rhs, | ||
| const Kokkos::View< int ** > * | displs = nullptr, |
||
| bool | first = true |
||
| ) |
| void orb5x::PartFieldsModule::deposition_r4 | ( | int | np, |
| const Real * | x, | ||
| const Real * | y, | ||
| const Real * | z, | ||
| const Real32 * | w, | ||
| Kokkos::View< Real ***, Kokkos::LayoutStride > | rhs, | ||
| const bool * | nl_depos = nullptr, |
||
| const int * | displs = nullptr, |
||
| bool | first = true |
||
| ) |
Single-precision-weight overload of deposition_r8().
Coordinates and output remain in the build's Real precision.
| [in] | np | Number of particles. |
| [in] | x | Radial particle coordinates. |
| [in] | y | Poloidal particle coordinates [rad]. |
| [in] | z | Toroidal particle coordinates [rad]. |
| [in] | w | Single-precision deposited values. |
| [in,out] | rhs | Spline-grid accumulator. |
| [in] | nl_depos | Optional enable mask. |
| [in] | displs | Optional sorted-particle displacement map. |
| [in] | first | Whether to clear rhs before accumulating. |
part_fields.F90:deposition_r4.| void orb5x::PartFieldsModule::deposition_r8 | ( | int | np, |
| const Real * | x, | ||
| const Real * | y, | ||
| const Real * | z, | ||
| const Real * | w, | ||
| Kokkos::View< Real ***, Kokkos::LayoutStride > | rhs, | ||
| const bool * | nl_depos = nullptr, |
||
| const int * | displs = nullptr, |
||
| bool | first = true |
||
| ) |
Deposit double-precision particle weights onto tensor-product spline coefficients.
| [in] | np | Number of particles represented by all coordinate arrays. |
| [in] | x | Radial coordinates \(s\), length np. |
| [in] | y | Poloidal coordinates \(\chi\) [rad], length np. |
| [in] | z | Toroidal coordinates \(\varphi\) [rad], length np. |
| [in] | w | Values to deposit, length np. |
| [in,out] | rhs | Spline-grid accumulator; cleared first when first is true. |
| [in] | nl_depos | Optional per-particle enable mask. |
| [in] | displs | Optional particle ordering/displacement array for sorted methods. |
| [in] | first | Whether this is the first contribution to rhs. |
part_fields.F90:deposition_r8.| void orb5x::PartFieldsModule::get_field | ( | const Kokkos::View< Real *** > & | pot_coef, |
| int | np, | ||
| const Real * | x, | ||
| const Real * | y, | ||
| const Real * | z, | ||
| Real * | pot = nullptr, |
||
| Real * | dpot_dx = nullptr, |
||
| Real * | dpot_dy = nullptr, |
||
| Real * | dpot_dz = nullptr, |
||
| const int * | displs = nullptr |
||
| ) |
Gather a scalar spline field and optional coordinate derivatives at particles.
| [in] | pot_coef | Tensor-product B-spline coefficient array. |
| [in] | np | Number of particle positions. |
| [in] | x | Radial coordinates \(s\). |
| [in] | y | Poloidal coordinates [rad]. |
| [in] | z | Toroidal coordinates [rad]. |
| [out] | pot | Optional interpolated scalar field. |
| [out] | dpot_dx | Optional \(\partial/\partial s\) derivative. |
| [out] | dpot_dy | Optional \(\partial/\partial\chi\) derivative. |
| [out] | dpot_dz | Optional \(\partial/\partial\varphi\) derivative. |
| [in] | displs | Optional sorted-particle displacement map. |
part_fields.F90:get_field.Evaluate derivatives of the two linear basis weights.
| [in] | x | Dimensionless cell coordinate. |
| [out] | result | Array of at least two derivatives with respect to x. |
Evaluate derivatives of the three quadratic basis weights.
| [in] | x | Dimensionless cell coordinate. |
| [out] | result | Array of at least three derivatives with respect to x. |
Evaluate derivatives of the four cubic basis weights.
| [in] | x | Dimensionless cell coordinate. |
| [out] | result | Array of at least four derivatives with respect to x. |
| void orb5x::PartFieldsModule::init_deposition_by_cell | ( | ) |
Configure cell-sorted deposition (part_fields.F90:init_deposition_by_cell).
| void orb5x::PartFieldsModule::init_deposition_by_color | ( | ) |
Construct conflict-free color buckets (part_fields.F90:init_deposition_by_color).
| void orb5x::PartFieldsModule::init_deposition_by_color_buf | ( | ) |
Construct color buckets and their buffered accumulation workspace.
| void orb5x::PartFieldsModule::init_deposition_by_part | ( | ) |
Configure direct per-particle deposition (part_fields.F90:init_deposition_by_part).
| void orb5x::PartFieldsModule::init_module | ( | int | nidbas_, |
| int | ns_, | ||
| int | nchi_, | ||
| int | nphi_, | ||
| int | iz_offset_, | ||
| Real | ds_, | ||
| Real | dchi_, | ||
| Real | dphi_, | ||
| Real | xmin_, | ||
| bool | nl_gradgyr_, | ||
| int | nsel_depos_, | ||
| int | nsel_get_field_, | ||
| int | nbin_x_, | ||
| int | nbin_y_, | ||
| int | nbin_z_, | ||
| int | color_nbin_x_, | ||
| int | color_nbin_y_ | ||
| ) |
Configure grid geometry and particle–mesh algorithms.
| [in] | nidbas_ | B-spline order, from 1 through 3. |
| [in] | ns_ | Number of radial intervals. |
| [in] | nchi_ | Number of poloidal intervals. |
| [in] | nphi_ | Number of local toroidal intervals. |
| [in] | iz_offset_ | Global index of the first local toroidal interval. |
| [in] | ds_ | Radial spacing \(\Delta s\). |
| [in] | dchi_ | Poloidal spacing [rad]. |
| [in] | dphi_ | Toroidal spacing [rad]. |
| [in] | xmin_ | Inner radial boundary in normalized \(s\). |
| [in] | nl_gradgyr_ | Select gradient-of-gyroaverage semantics. |
| [in] | nsel_depos_ | Deposition implementation selector. |
| [in] | nsel_get_field_ | Field-gather implementation selector. |
| [in] | nbin_x_ | Radial sorting-bin count. |
| [in] | nbin_y_ | Poloidal sorting-bin count. |
| [in] | nbin_z_ | Local toroidal sorting-bin count. |
| [in] | color_nbin_x_ | Radial coloring-bin count. |
| [in] | color_nbin_y_ | Poloidal coloring-bin count. |
part_fields.F90:init_module.| void orb5x::PartFieldsModule::nullify_rhs | ( | Kokkos::View< Real ***, Kokkos::LayoutStride > | rhs | ) |
Zero every coefficient in a deposition View.
| [out] | rhs | Strided [s][chi][phi] coefficient storage. |
| void orb5x::PartFieldsModule::nullify_rhs_omp | ( | int | ithread | ) |
Zero one thread-private deposition accumulator.
| [in] | ithread | Zero-based thread replica index. |
| void orb5x::PartFieldsModule::prepare_pot_coef_cache | ( | const Kokkos::View< Real *** > & | pot_coef | ) |
Synchronize and cache spline coefficients for repeated host gathers.
| [in] | pot_coef | Device-accessible tensor-product spline coefficients. |
| void orb5x::PartFieldsModule::reduction_threads | ( | Kokkos::View< Real ***, Kokkos::LayoutStride > | rhs | ) |
Sum thread-replicated deposition contributions.
| [out] | rhs | Strided destination [s][chi][phi]. |
Evaluate two linear cardinal B-spline weights.
| [in] | x | Dimensionless cell coordinate. |
| [out] | result | Array of at least two dimensionless weights. |
Evaluate three quadratic cardinal B-spline weights.
| [in] | x | Dimensionless cell coordinate. |
| [out] | result | Array of at least three dimensionless weights. |
Evaluate four cubic cardinal B-spline weights.
| [in] | x | Dimensionless cell coordinate. |
| [out] | result | Array of at least four dimensionless weights. |
| Kokkos::View<int**> orb5x::PartFieldsModule::bin_array |
Particle indices grouped by color bucket.
| Kokkos::View<Real***> orb5x::PartFieldsModule::color_buffer |
Per-bucket accumulation buffer for buffered coloring.
| int orb5x::PartFieldsModule::color_nbin_x = 0 |
Radial bin count used by conflict-free coloring.
| int orb5x::PartFieldsModule::color_nbin_y = 0 |
Poloidal bin count used by conflict-free coloring.
| Real orb5x::PartFieldsModule::dx_inv = 0.0 |
Inverse radial spacing \(1/\Delta s\).
| Real orb5x::PartFieldsModule::dy_inv = 0.0 |
Inverse poloidal angular spacing \(1/\Delta\chi\) [rad \(^{-1}\)].
| Real orb5x::PartFieldsModule::dz_inv = 0.0 |
Inverse toroidal angular spacing \(1/\Delta\varphi\) [rad \(^{-1}\)].
| int orb5x::PartFieldsModule::grid_cells_in_x_color_bucket = 0 |
Radial grid cells covered by one color bucket.
| int orb5x::PartFieldsModule::grid_cells_in_y_color_bucket = 0 |
Poloidal grid cells covered by one color bucket.
| int orb5x::PartFieldsModule::iz_offset = 0 |
Zero-based global index of the first local toroidal interval.
| int orb5x::PartFieldsModule::k_end = 0 |
Last local toroidal coefficient index touched by deposition.
| int orb5x::PartFieldsModule::k_start = 0 |
First local toroidal coefficient index touched by deposition.
| int orb5x::PartFieldsModule::nbin_x = 0 |
Number of radial particle-sorting bins.
| int orb5x::PartFieldsModule::nbin_x_avg = 0 |
Mean radial sorting-bin count per color bucket.
| int orb5x::PartFieldsModule::nbin_y = 0 |
Number of poloidal particle-sorting bins.
| int orb5x::PartFieldsModule::nbin_y_avg = 0 |
Mean poloidal sorting-bin count per color bucket.
| int orb5x::PartFieldsModule::nbin_z = 0 |
Number of local toroidal particle-sorting bins.
| int orb5x::PartFieldsModule::nidbas = 0 |
B-spline degree/order selector: 1 linear, 2 quadratic, or 3 cubic.
| bool orb5x::PartFieldsModule::nl_gradgyr = false |
If true, differentiate the gyroaverage rather than gyroaveraging the gradient.
| int orb5x::PartFieldsModule::nsel_depos = 0 |
Particle-deposition algorithm selector.
| int orb5x::PartFieldsModule::nsel_get_field = 0 |
Field-gather algorithm selector.
| int orb5x::PartFieldsModule::number_of_bins_per_bucket = 0 |
Sorting-bin count represented by one color bucket.
| int orb5x::PartFieldsModule::number_of_buckets = 0 |
Total local color-bucket count.
| int orb5x::PartFieldsModule::nx = 0 |
Number of radial field-grid intervals.
| int orb5x::PartFieldsModule::ny = 0 |
Number of periodic poloidal field-grid intervals.
| int orb5x::PartFieldsModule::nz = 0 |
Number of toroidal intervals owned by this MPI subdomain.
| size_t orb5x::PartFieldsModule::pot_coef_cache_ext0 = 0 |
Cached radial extent.
| size_t orb5x::PartFieldsModule::pot_coef_cache_ext1 = 0 |
Cached poloidal extent.
| size_t orb5x::PartFieldsModule::pot_coef_cache_ext2 = 0 |
Cached toroidal extent.
| Kokkos::View<Real***>::HostMirror orb5x::PartFieldsModule::pot_coef_cache_host |
Host mirror reused by repeated host gathers.
| const Real* orb5x::PartFieldsModule::pot_coef_cache_ptr = nullptr |
Device/allocation identity associated with the cached mirror.
| bool orb5x::PartFieldsModule::pot_coef_cache_valid = false |
Whether the host coefficient cache matches its recorded identity and extents.
| Kokkos::View<Real****> orb5x::PartFieldsModule::rhs_omp |
Thread-replicated deposited RHS indexed by spline coefficient and thread.
| bool orb5x::PartFieldsModule::use_vectorized = false |
Whether the vectorized colored-deposition kernel is selected.
| Real orb5x::PartFieldsModule::xmin = 0.0 |
Inner radial boundary in normalized \(s\) coordinates.