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

#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 Realpot_coef_cache_ptr = nullptr
bool pot_coef_cache_valid = false
Kokkos::View< Real **** > rhs_omp
bool use_vectorized = false
Real xmin = 0.0

Constructor & Destructor Documentation

◆ PartFieldsModule()

orb5x::PartFieldsModule::PartFieldsModule ( )
default

◆ ~PartFieldsModule()

orb5x::PartFieldsModule::~PartFieldsModule ( )
default

Member Function Documentation

◆ clear_pot_coef_cache()

void orb5x::PartFieldsModule::clear_pot_coef_cache ( )

◆ deposition() [1/2]

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 )

◆ deposition() [2/2]

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 )

◆ deposition_from_marker_view()

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 )

◆ deposition_from_views()

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 )

◆ deposition_r4()

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 )

◆ deposition_r8()

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 )

◆ get_field()

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 )

◆ grad_splines_bas1()

void orb5x::PartFieldsModule::grad_splines_bas1 ( Real x,
Real * result )
static

◆ grad_splines_bas2()

void orb5x::PartFieldsModule::grad_splines_bas2 ( Real x,
Real * result )
static

◆ grad_splines_bas3()

void orb5x::PartFieldsModule::grad_splines_bas3 ( Real x,
Real * result )
static

◆ init_deposition_by_cell()

void orb5x::PartFieldsModule::init_deposition_by_cell ( )

◆ init_deposition_by_color()

void orb5x::PartFieldsModule::init_deposition_by_color ( )

◆ init_deposition_by_color_buf()

void orb5x::PartFieldsModule::init_deposition_by_color_buf ( )

◆ init_deposition_by_part()

void orb5x::PartFieldsModule::init_deposition_by_part ( )

◆ init_module()

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_ )

◆ nullify_rhs()

void orb5x::PartFieldsModule::nullify_rhs ( Kokkos::View< Real ***, Kokkos::LayoutStride > rhs)

◆ nullify_rhs_omp()

void orb5x::PartFieldsModule::nullify_rhs_omp ( int ithread)

◆ prepare_pot_coef_cache()

void orb5x::PartFieldsModule::prepare_pot_coef_cache ( const Kokkos::View< Real *** > & pot_coef)

◆ reduction_threads()

void orb5x::PartFieldsModule::reduction_threads ( Kokkos::View< Real ***, Kokkos::LayoutStride > rhs)

◆ splines_bas1()

void orb5x::PartFieldsModule::splines_bas1 ( Real x,
Real * result )
static

◆ splines_bas2()

void orb5x::PartFieldsModule::splines_bas2 ( Real x,
Real * result )
static

◆ splines_bas3()

void orb5x::PartFieldsModule::splines_bas3 ( Real x,
Real * result )
static

Member Data Documentation

◆ bin_array

Kokkos::View<int**> orb5x::PartFieldsModule::bin_array

◆ color_buffer

Kokkos::View<Real***> orb5x::PartFieldsModule::color_buffer

◆ color_nbin_x

int orb5x::PartFieldsModule::color_nbin_x = 0

◆ color_nbin_y

int orb5x::PartFieldsModule::color_nbin_y = 0

◆ dx_inv

Real orb5x::PartFieldsModule::dx_inv = 0.0

◆ dy_inv

Real orb5x::PartFieldsModule::dy_inv = 0.0

◆ dz_inv

Real orb5x::PartFieldsModule::dz_inv = 0.0

◆ grid_cells_in_x_color_bucket

int orb5x::PartFieldsModule::grid_cells_in_x_color_bucket = 0

◆ grid_cells_in_y_color_bucket

int orb5x::PartFieldsModule::grid_cells_in_y_color_bucket = 0

◆ iz_offset

int orb5x::PartFieldsModule::iz_offset = 0

◆ k_end

int orb5x::PartFieldsModule::k_end = 0

◆ k_start

int orb5x::PartFieldsModule::k_start = 0

◆ nbin_x

int orb5x::PartFieldsModule::nbin_x = 0

◆ nbin_x_avg

int orb5x::PartFieldsModule::nbin_x_avg = 0

◆ nbin_y

int orb5x::PartFieldsModule::nbin_y = 0

◆ nbin_y_avg

int orb5x::PartFieldsModule::nbin_y_avg = 0

◆ nbin_z

int orb5x::PartFieldsModule::nbin_z = 0

◆ nidbas

int orb5x::PartFieldsModule::nidbas = 0

◆ nl_gradgyr

bool orb5x::PartFieldsModule::nl_gradgyr = false

◆ nsel_depos

int orb5x::PartFieldsModule::nsel_depos = 0

◆ nsel_get_field

int orb5x::PartFieldsModule::nsel_get_field = 0

◆ number_of_bins_per_bucket

int orb5x::PartFieldsModule::number_of_bins_per_bucket = 0

◆ number_of_buckets

int orb5x::PartFieldsModule::number_of_buckets = 0

◆ nx

int orb5x::PartFieldsModule::nx = 0

◆ ny

int orb5x::PartFieldsModule::ny = 0

◆ nz

int orb5x::PartFieldsModule::nz = 0

◆ pot_coef_cache_ext0

size_t orb5x::PartFieldsModule::pot_coef_cache_ext0 = 0

◆ pot_coef_cache_ext1

size_t orb5x::PartFieldsModule::pot_coef_cache_ext1 = 0

◆ pot_coef_cache_ext2

size_t orb5x::PartFieldsModule::pot_coef_cache_ext2 = 0

◆ pot_coef_cache_host

Kokkos::View<Real***>::HostMirror orb5x::PartFieldsModule::pot_coef_cache_host

◆ pot_coef_cache_ptr

const Real* orb5x::PartFieldsModule::pot_coef_cache_ptr = nullptr

◆ pot_coef_cache_valid

bool orb5x::PartFieldsModule::pot_coef_cache_valid = false

◆ rhs_omp

Kokkos::View<Real****> orb5x::PartFieldsModule::rhs_omp

◆ use_vectorized

bool orb5x::PartFieldsModule::use_vectorized = false

◆ xmin

Real orb5x::PartFieldsModule::xmin = 0.0

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