|
ORB5X 1.0.0
Performance-portable global electromagnetic gyrokinetic PIC code
|
#include "part_fields.hpp"
Public Member Functions | |
| void | clear_pot_coef_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) |
| 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) |
| 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) |
| 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) |
| 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) |
| 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) |
| 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) |
| void | init_deposition_by_cell () |
| void | init_deposition_by_color () |
| void | init_deposition_by_color_buf () |
| void | 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_) |
| void | nullify_rhs (Kokkos::View< Real ***, Kokkos::LayoutStride > rhs) |
| void | nullify_rhs_omp (int ithread) |
| PartFieldsModule ()=default | |
| void | prepare_pot_coef_cache (const Kokkos::View< Real *** > &pot_coef) |
| void | reduction_threads (Kokkos::View< Real ***, Kokkos::LayoutStride > rhs) |
| ~PartFieldsModule ()=default | |
Static Public Member Functions | |
| static void | grad_splines_bas1 (Real x, Real *result) |
| static void | grad_splines_bas2 (Real x, Real *result) |
| static void | grad_splines_bas3 (Real x, Real *result) |
| static void | splines_bas1 (Real x, Real *result) |
| static void | splines_bas2 (Real x, Real *result) |
| static void | splines_bas3 (Real x, Real *result) |
Public Attributes | |
| Kokkos::View< int ** > | bin_array |
| Kokkos::View< Real *** > | color_buffer |
| int | color_nbin_x = 0 |
| int | color_nbin_y = 0 |
| Real | dx_inv = 0.0 |
| Real | dy_inv = 0.0 |
| Real | dz_inv = 0.0 |
| int | grid_cells_in_x_color_bucket = 0 |
| int | grid_cells_in_y_color_bucket = 0 |
| int | iz_offset = 0 |
| int | k_end = 0 |
| int | k_start = 0 |
| int | nbin_x = 0 |
| int | nbin_x_avg = 0 |
| int | nbin_y = 0 |
| int | nbin_y_avg = 0 |
| int | nbin_z = 0 |
| int | nidbas = 0 |
| bool | nl_gradgyr = false |
| int | nsel_depos = 0 |
| int | nsel_get_field = 0 |
| int | number_of_bins_per_bucket = 0 |
| int | number_of_buckets = 0 |
| int | nx = 0 |
| int | ny = 0 |
| int | nz = 0 |
| size_t | pot_coef_cache_ext0 = 0 |
| size_t | pot_coef_cache_ext1 = 0 |
| size_t | pot_coef_cache_ext2 = 0 |
| Kokkos::View< Real *** >::HostMirror | pot_coef_cache_host |
| const Real * | pot_coef_cache_ptr = nullptr |
| bool | pot_coef_cache_valid = false |
| Kokkos::View< Real **** > | rhs_omp |
| bool | use_vectorized = false |
| Real | xmin = 0.0 |
|
default |
|
default |
| void orb5x::PartFieldsModule::clear_pot_coef_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 ) |
| 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 ) |
| 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 ) |
| 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 ) |
| 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 ) |
| 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 ) |
| 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 ) |
| void orb5x::PartFieldsModule::init_deposition_by_cell | ( | ) |
| void orb5x::PartFieldsModule::init_deposition_by_color | ( | ) |
| void orb5x::PartFieldsModule::init_deposition_by_color_buf | ( | ) |
| void orb5x::PartFieldsModule::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_ ) |
| void orb5x::PartFieldsModule::nullify_rhs | ( | Kokkos::View< Real ***, Kokkos::LayoutStride > | rhs | ) |
| void orb5x::PartFieldsModule::nullify_rhs_omp | ( | int | ithread | ) |
| void orb5x::PartFieldsModule::prepare_pot_coef_cache | ( | const Kokkos::View< Real *** > & | pot_coef | ) |
| void orb5x::PartFieldsModule::reduction_threads | ( | Kokkos::View< Real ***, Kokkos::LayoutStride > | rhs | ) |
| Kokkos::View<int**> orb5x::PartFieldsModule::bin_array |
| Kokkos::View<Real***> orb5x::PartFieldsModule::color_buffer |
| int orb5x::PartFieldsModule::color_nbin_x = 0 |
| int orb5x::PartFieldsModule::color_nbin_y = 0 |
| Real orb5x::PartFieldsModule::dx_inv = 0.0 |
| Real orb5x::PartFieldsModule::dy_inv = 0.0 |
| Real orb5x::PartFieldsModule::dz_inv = 0.0 |
| int orb5x::PartFieldsModule::grid_cells_in_x_color_bucket = 0 |
| int orb5x::PartFieldsModule::grid_cells_in_y_color_bucket = 0 |
| int orb5x::PartFieldsModule::iz_offset = 0 |
| int orb5x::PartFieldsModule::k_end = 0 |
| int orb5x::PartFieldsModule::k_start = 0 |
| int orb5x::PartFieldsModule::nbin_x = 0 |
| int orb5x::PartFieldsModule::nbin_x_avg = 0 |
| int orb5x::PartFieldsModule::nbin_y = 0 |
| int orb5x::PartFieldsModule::nbin_y_avg = 0 |
| int orb5x::PartFieldsModule::nbin_z = 0 |
| int orb5x::PartFieldsModule::nidbas = 0 |
| bool orb5x::PartFieldsModule::nl_gradgyr = false |
| int orb5x::PartFieldsModule::nsel_depos = 0 |
| int orb5x::PartFieldsModule::nsel_get_field = 0 |
| int orb5x::PartFieldsModule::number_of_bins_per_bucket = 0 |
| int orb5x::PartFieldsModule::number_of_buckets = 0 |
| int orb5x::PartFieldsModule::nx = 0 |
| int orb5x::PartFieldsModule::ny = 0 |
| int orb5x::PartFieldsModule::nz = 0 |
| size_t orb5x::PartFieldsModule::pot_coef_cache_ext0 = 0 |
| size_t orb5x::PartFieldsModule::pot_coef_cache_ext1 = 0 |
| size_t orb5x::PartFieldsModule::pot_coef_cache_ext2 = 0 |
| Kokkos::View<Real***>::HostMirror orb5x::PartFieldsModule::pot_coef_cache_host |
| const Real* orb5x::PartFieldsModule::pot_coef_cache_ptr = nullptr |
| bool orb5x::PartFieldsModule::pot_coef_cache_valid = false |
| Kokkos::View<Real****> orb5x::PartFieldsModule::rhs_omp |
| bool orb5x::PartFieldsModule::use_vectorized = false |
| Real orb5x::PartFieldsModule::xmin = 0.0 |