XGC1
Public Types | Public Member Functions | Public Attributes | List of all members
Solver Class Referenceabstract

#include <solver.hpp>

Inheritance diagram for Solver:
Inheritance graph
[legend]
Collaboration diagram for Solver:
Collaboration graph
[legend]

Public Types

enum  SOLVER_INT : int {
  A =0 , A_SPEC , A_CV , A_CV_SPEC ,
  P0 , H , H_SPEC
}
 

Public Member Functions

 Solver (std::string label_in, int solver_index_in, int spec_solver_index_in, bool spectral_in, int n_rhs_in, int n_triangle_in, bool use_pade_in, bool update_solver, int update_solver_nstep)
 
bool update_is_triggered (int gstep) const
 
void update_helm_solver (int isolver, const View< int *, CLayout, HostType > &bd, const View< double *, CLayout, HostType > &alpha, const View< double *, CLayout, HostType > &beta)
 
void update (const View< int *, CLayout, DeviceType > &bd_d)
 
virtual ~Solver ()=default
 
virtual void setup_boundaries (NLReader::NamelistReader &nlr, bool is_XGCa, bool explicit_electromagnetic, const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid)=0
 

Public Attributes

std::string label
 
StepTrigger update_trigger
 
bool initialized
 
int solver_index
 
int spec_solver_index
 
bool spectral
 
int n_rhs
 
int n_triangle
 
Boundary bd_rhs
 
Boundary bd
 
bool use_pade
 

Member Enumeration Documentation

◆ SOLVER_INT

enum Solver::SOLVER_INT : int
Enumerator
A_SPEC 
A_CV 
A_CV_SPEC 
P0 
H_SPEC 

Constructor & Destructor Documentation

◆ Solver()

Solver::Solver ( std::string  label_in,
int  solver_index_in,
int  spec_solver_index_in,
bool  spectral_in,
int  n_rhs_in,
int  n_triangle_in,
bool  use_pade_in,
bool  update_solver,
int  update_solver_nstep 
)
Here is the call graph for this function:

◆ ~Solver()

virtual Solver::~Solver ( )
virtualdefault

Member Function Documentation

◆ setup_boundaries()

virtual void Solver::setup_boundaries ( NLReader::NamelistReader nlr,
bool  is_XGCa,
bool  explicit_electromagnetic,
const MagneticField< DeviceType > &  magnetic_field,
const Grid< DeviceType > &  grid 
)
pure virtual

◆ update()

void Solver::update ( const View< int *, CLayout, DeviceType > &  bd_d)
Here is the call graph for this function:

◆ update_helm_solver()

void Solver::update_helm_solver ( int  isolver,
const View< int *, CLayout, HostType > &  bd,
const View< double *, CLayout, HostType > &  alpha,
const View< double *, CLayout, HostType > &  beta 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_is_triggered()

bool Solver::update_is_triggered ( int  gstep) const
Here is the call graph for this function:

Member Data Documentation

◆ bd

Boundary Solver::bd

◆ bd_rhs

Boundary Solver::bd_rhs

◆ initialized

bool Solver::initialized

◆ label

std::string Solver::label

◆ n_rhs

int Solver::n_rhs

◆ n_triangle

int Solver::n_triangle

◆ solver_index

int Solver::solver_index

◆ spec_solver_index

int Solver::spec_solver_index

◆ spectral

bool Solver::spectral

◆ update_trigger

StepTrigger Solver::update_trigger

◆ use_pade

bool Solver::use_pade

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