40 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);
45 const View<double*,CLayout,HostType>& alpha,
46 const View<double*,CLayout,HostType>& beta);
Definition: boundary.hpp:83
Definition: magnetic_field.hpp:12
Definition: NamelistReader.hpp:199
Definition: solver.hpp:17
std::string label
Definition: solver.hpp:23
virtual void iter_solver_set_alpha_beta(const SolverInitData< HostType > &solver_data, const View< double *, CLayout, HostType > &alpha, const View< double *, CLayout, HostType > &beta)
Definition: solver.cpp:34
virtual void rhs2_set_alpha_beta(const SolverInitData< HostType > &solver_data, double scale, const View< double *, CLayout, HostType > &alpha, const View< double *, CLayout, HostType > &beta)
Definition: solver.cpp:29
int spec_solver_index
Definition: solver.hpp:28
int n_triangle
Definition: solver.hpp:33
virtual void lhs_set_alpha_beta(const SolverInitData< HostType > &solver_data, const View< double *, CLayout, HostType > &alpha, const View< double *, CLayout, HostType > &beta, double &scale)=0
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)
Definition: solver.cpp:53
int solver_index
Definition: solver.hpp:27
bool use_pade
Definition: solver.hpp:38
bool update_is_triggered(int gstep) const
Definition: solver.cpp:71
Boundary bd
Definition: solver.hpp:36
virtual ~Solver()=default
void update_helm_solver(int isolver, const SolverInitData< HostType > &solver_data, const View< int *, CLayout, HostType > &bd, const View< double *, CLayout, HostType > &alpha, const View< double *, CLayout, HostType > &beta)
Definition: solver.cpp:78
bool spectral
Definition: solver.hpp:30
SOLVER_INT
Definition: solver.hpp:21
@ A
Definition: solver.hpp:21
@ A_CV_SPEC
Definition: solver.hpp:21
@ A_CV
Definition: solver.hpp:21
@ H_SPEC
Definition: solver.hpp:21
@ P0
Definition: solver.hpp:21
@ A_SPEC
Definition: solver.hpp:21
@ H
Definition: solver.hpp:21
virtual void rhs1_set_alpha_beta(const SolverInitData< HostType > &solver_data, double scale, const View< double *, CLayout, HostType > &alpha, const View< double *, CLayout, HostType > &beta)
Definition: solver.cpp:15
void update(const SolverInitData< HostType > &solver_data, const View< int *, CLayout, DeviceType > &bd_d)
Definition: solver.cpp:150
int n_rhs
Definition: solver.hpp:31
virtual void setup_boundaries(NLReader::NamelistReader &nlr, bool is_XGCa, bool explicit_electromagnetic, const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid)=0
StepTrigger update_trigger
Definition: solver.hpp:24
bool initialized
Definition: solver.hpp:25
Boundary bd_rhs
Definition: solver.hpp:35
Definition: step_trigger.hpp:4
Definition: magnetic_field.F90:1
Definition: solver_init_data.hpp:9