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

#include "solver_mpi.hpp"

Public Member Functions

void assemblyBoltzman (int isp, int nqx, int nqy, bool remove_trap_contribution)
void assemblyBoltzman_zf (int isp, int nqx, int nqy, bool remove_trap_contribution, bool oldAvgJac)
void assemblyBoltzmannPade (int isp, int nqx, int nqy, bool remove_trap_contribution)
void assemblyBoltzmannPade_zf (int isp, int nqx, int nqy, bool remove_trap_contribution)
void assemblyLHSFinalize ()
void assemblyMassMatrix (int nqx, int nqy)
void assemblyMatrix (int nqx, int nqy)
void assemblyPadeMatForRHS (int isp, int nqx, int nqy)
void assemblyPolDrift_arbitrary_wavelength_fourier (int isp, int nqx, int nqy, int iy_start, int iy_end)
void assemblyPolDrift_longwavelength_fourier (int isp, int nqx, int nqy)
void assemblyRHS_antenna (Kokkos::View< Complex * > &rhs_f, int nmat, int nqx, int nqy, Real phase_shift=0.0, const std::vector< Real > *sprof=nullptr, const std::vector< Real > *prof=nullptr, int nprof=0)
void assemblyRHS_tests (Kokkos::View< Complex * > &rhs_f, int nmat, int nqx, int nqy)
void backsolve_mass_f (const Kokkos::View< Complex * > &arr_f, Kokkos::View< Complex * > &out_f, int globalk)
void backsolve_mass_s (const Kokkos::View< Real * > &arr_f, Kokkos::View< Real * > &out_f)
void backsolve_mass_sn (const Kokkos::View< Real * > &arr_f, Kokkos::View< Real * > &out_f, int nmode)
void backsolve_rhs_f (Kokkos::View< Complex * > &rhs_f, int globalk, int matnum)
void backsolve_rhs_f_host (Complex *rhs, int n, int globalk, int matnum)
void backsolve_rhs_f_multi (const Kokkos::View< Complex ** > &rhs_f, int globalk, int matnum)
void broadcast_matrix (int &ierr, MPI_Comm comm, int tgt, int me)
Real computeToroidalMassCoeff (int n)
void copy_matrix_filter (int ixmin, int ixmax, int n, Kokkos::View< int * > &mmmincopy)
void destroySolverModule ()
void dft1D (const Kokkos::View< Real * > &input, Kokkos::View< Complex * > &output)
void dft_or_idft_cpx (const Kokkos::View< Complex * > &input, Kokkos::View< Complex * > &output, int isign)
void dftInverse1D (const Kokkos::View< Complex * > &input, Kokkos::View< Real * > &output)
void dftInverse1D_full (const Kokkos::View< Complex * > &input, Kokkos::View< Real * > &output)
void dftInverse1D_rc (const Kokkos::View< Complex * > &input, Kokkos::View< Real * > &output)
void domainOfIntegrationExtended (int imin, int isp, Real &smin, Real &smax, int &ixmin_int, int &ixmax_int)
bool fieldmodefilter (int i, int m, int n) const
void finalizeMatrix ()
int getLocalToroidalIndex (int n) const
void initSolverModule (int me_assembly, int tgt_assembly, int color, int nx_, int nz_, int nw_, Real wmax_, int kdx_, int em_kdx_, int dm_, bool electromagnetic_, bool em_control_variate_, bool pullback_, int fieldaligned_, bool longwavelength_, int na_half_rho_ref_, bool phase_factor_, const Kokkos::View< bool * > &isnfiltlocal_, const Kokkos::View< bool * > &isnfiltlocalysolved_, int NBmodeslocal_, const Kokkos::View< int * > &nfiltlocal_, int navgmax_, int testcase_, int internal_boundary_, bool pade_, int multi_matrix_, int inner_BC_, bool lapl_boundary_terms_)
void multiply_mass_f (Kokkos::View< Complex * > &arr_f, int globalk)
void print_matrix_gbmatf ()
void reality_condition (std::vector< Complex > &v_dft, int ny, int ny2)
void reduce_matrix (int &ierr, MPI_Comm comm, int tgt, int me)
 SolverModule ()
 ~SolverModule ()

Static Public Member Functions

static SolverModuleinstance ()

Public Attributes

Kokkos::View< bool * > * isnfiltlocal
int multi_matrix
int NBmodeslocal
Real tim_dyad_cumul

Constructor & Destructor Documentation

◆ SolverModule()

orb5x::SolverModule::SolverModule ( )

Referenced by instance().

◆ ~SolverModule()

orb5x::SolverModule::~SolverModule ( )

Member Function Documentation

◆ assemblyBoltzman()

void orb5x::SolverModule::assemblyBoltzman ( int isp,
int nqx,
int nqy,
bool remove_trap_contribution )

◆ assemblyBoltzman_zf()

void orb5x::SolverModule::assemblyBoltzman_zf ( int isp,
int nqx,
int nqy,
bool remove_trap_contribution,
bool oldAvgJac )

◆ assemblyBoltzmannPade()

void orb5x::SolverModule::assemblyBoltzmannPade ( int isp,
int nqx,
int nqy,
bool remove_trap_contribution )

◆ assemblyBoltzmannPade_zf()

void orb5x::SolverModule::assemblyBoltzmannPade_zf ( int isp,
int nqx,
int nqy,
bool remove_trap_contribution )

◆ assemblyLHSFinalize()

void orb5x::SolverModule::assemblyLHSFinalize ( )

◆ assemblyMassMatrix()

void orb5x::SolverModule::assemblyMassMatrix ( int nqx,
int nqy )

◆ assemblyMatrix()

void orb5x::SolverModule::assemblyMatrix ( int nqx,
int nqy )

◆ assemblyPadeMatForRHS()

void orb5x::SolverModule::assemblyPadeMatForRHS ( int isp,
int nqx,
int nqy )

◆ assemblyPolDrift_arbitrary_wavelength_fourier()

void orb5x::SolverModule::assemblyPolDrift_arbitrary_wavelength_fourier ( int isp,
int nqx,
int nqy,
int iy_start,
int iy_end )

◆ assemblyPolDrift_longwavelength_fourier()

void orb5x::SolverModule::assemblyPolDrift_longwavelength_fourier ( int isp,
int nqx,
int nqy )

◆ assemblyRHS_antenna()

void orb5x::SolverModule::assemblyRHS_antenna ( Kokkos::View< Complex * > & rhs_f,
int nmat,
int nqx,
int nqy,
Real phase_shift = 0.0,
const std::vector< Real > * sprof = nullptr,
const std::vector< Real > * prof = nullptr,
int nprof = 0 )

◆ assemblyRHS_tests()

void orb5x::SolverModule::assemblyRHS_tests ( Kokkos::View< Complex * > & rhs_f,
int nmat,
int nqx,
int nqy )

◆ backsolve_mass_f()

void orb5x::SolverModule::backsolve_mass_f ( const Kokkos::View< Complex * > & arr_f,
Kokkos::View< Complex * > & out_f,
int globalk )

◆ backsolve_mass_s()

void orb5x::SolverModule::backsolve_mass_s ( const Kokkos::View< Real * > & arr_f,
Kokkos::View< Real * > & out_f )

◆ backsolve_mass_sn()

void orb5x::SolverModule::backsolve_mass_sn ( const Kokkos::View< Real * > & arr_f,
Kokkos::View< Real * > & out_f,
int nmode )

◆ backsolve_rhs_f()

void orb5x::SolverModule::backsolve_rhs_f ( Kokkos::View< Complex * > & rhs_f,
int globalk,
int matnum )

◆ backsolve_rhs_f_host()

void orb5x::SolverModule::backsolve_rhs_f_host ( Complex * rhs,
int n,
int globalk,
int matnum )

◆ backsolve_rhs_f_multi()

void orb5x::SolverModule::backsolve_rhs_f_multi ( const Kokkos::View< Complex ** > & rhs_f,
int globalk,
int matnum )

◆ broadcast_matrix()

void orb5x::SolverModule::broadcast_matrix ( int & ierr,
MPI_Comm comm,
int tgt,
int me )

◆ computeToroidalMassCoeff()

Real orb5x::SolverModule::computeToroidalMassCoeff ( int n)

◆ copy_matrix_filter()

void orb5x::SolverModule::copy_matrix_filter ( int ixmin,
int ixmax,
int n,
Kokkos::View< int * > & mmmincopy )

◆ destroySolverModule()

void orb5x::SolverModule::destroySolverModule ( )

◆ dft1D()

void orb5x::SolverModule::dft1D ( const Kokkos::View< Real * > & input,
Kokkos::View< Complex * > & output )

◆ dft_or_idft_cpx()

void orb5x::SolverModule::dft_or_idft_cpx ( const Kokkos::View< Complex * > & input,
Kokkos::View< Complex * > & output,
int isign )

◆ dftInverse1D()

void orb5x::SolverModule::dftInverse1D ( const Kokkos::View< Complex * > & input,
Kokkos::View< Real * > & output )

◆ dftInverse1D_full()

void orb5x::SolverModule::dftInverse1D_full ( const Kokkos::View< Complex * > & input,
Kokkos::View< Real * > & output )

◆ dftInverse1D_rc()

void orb5x::SolverModule::dftInverse1D_rc ( const Kokkos::View< Complex * > & input,
Kokkos::View< Real * > & output )

◆ domainOfIntegrationExtended()

void orb5x::SolverModule::domainOfIntegrationExtended ( int imin,
int isp,
Real & smin,
Real & smax,
int & ixmin_int,
int & ixmax_int )

◆ fieldmodefilter()

bool orb5x::SolverModule::fieldmodefilter ( int i,
int m,
int n ) const

◆ finalizeMatrix()

void orb5x::SolverModule::finalizeMatrix ( )

◆ getLocalToroidalIndex()

int orb5x::SolverModule::getLocalToroidalIndex ( int n) const

◆ initSolverModule()

void orb5x::SolverModule::initSolverModule ( int me_assembly,
int tgt_assembly,
int color,
int nx_,
int nz_,
int nw_,
Real wmax_,
int kdx_,
int em_kdx_,
int dm_,
bool electromagnetic_,
bool em_control_variate_,
bool pullback_,
int fieldaligned_,
bool longwavelength_,
int na_half_rho_ref_,
bool phase_factor_,
const Kokkos::View< bool * > & isnfiltlocal_,
const Kokkos::View< bool * > & isnfiltlocalysolved_,
int NBmodeslocal_,
const Kokkos::View< int * > & nfiltlocal_,
int navgmax_,
int testcase_,
int internal_boundary_,
bool pade_,
int multi_matrix_,
int inner_BC_,
bool lapl_boundary_terms_ )

◆ instance()

SolverModule & orb5x::SolverModule::instance ( )
static

References SolverModule().

◆ multiply_mass_f()

void orb5x::SolverModule::multiply_mass_f ( Kokkos::View< Complex * > & arr_f,
int globalk )

◆ print_matrix_gbmatf()

void orb5x::SolverModule::print_matrix_gbmatf ( )

◆ reality_condition()

void orb5x::SolverModule::reality_condition ( std::vector< Complex > & v_dft,
int ny,
int ny2 )

◆ reduce_matrix()

void orb5x::SolverModule::reduce_matrix ( int & ierr,
MPI_Comm comm,
int tgt,
int me )

Member Data Documentation

◆ isnfiltlocal

Kokkos::View<bool*>* orb5x::SolverModule::isnfiltlocal

◆ multi_matrix

int orb5x::SolverModule::multi_matrix

◆ NBmodeslocal

int orb5x::SolverModule::NBmodeslocal

◆ tim_dyad_cumul

Real orb5x::SolverModule::tim_dyad_cumul

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