XGC1
solver_ampere_cv.hpp
Go to the documentation of this file.
1 #ifndef SOLVER_AMPERE_CV_HPP
2 #define SOLVER_AMPERE_CV_HPP
3 
4 #include "solver.hpp"
5 
6 class SolverAmpereCV : public Solver{
7 
8  public:
9 
10  SolverAmpereCV(NLReader::NamelistReader& nlr, bool is_XGCa, bool is_em, const MagneticField<DeviceType>& magnetic_field, const Grid<DeviceType>& grid, std::string label_in, bool spectral_in, bool use_pade_in, bool update_solver, int update_solver_nstep)
11  : Solver(label_in, A_CV, A_CV_SPEC, spectral_in, 2, grid.ntriangle, use_pade_in, update_solver, update_solver_nstep)
12  {
13  TIMER("EXTEND_BOUNDARY",
14  setup_boundaries(nlr, is_XGCa, is_em, magnetic_field, grid) );
15  }
16 
17  void setup_boundaries(NLReader::NamelistReader& nlr, bool is_XGCa, bool explicit_electromagnetic, const MagneticField<DeviceType>& magnetic_field, const Grid<DeviceType>& grid);
18 };
19 
20 #endif
Definition: magnetic_field.hpp:12
Definition: NamelistReader.hpp:199
Definition: solver_ampere_cv.hpp:6
void setup_boundaries(NLReader::NamelistReader &nlr, bool is_XGCa, bool explicit_electromagnetic, const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid)
Definition: solver_ampere_cv.cpp:6
SolverAmpereCV(NLReader::NamelistReader &nlr, bool is_XGCa, bool is_em, const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid, std::string label_in, bool spectral_in, bool use_pade_in, bool update_solver, int update_solver_nstep)
Definition: solver_ampere_cv.hpp:10
Definition: solver.hpp:16
@ A_CV_SPEC
Definition: solver.hpp:20
@ A_CV
Definition: solver.hpp:20
Definition: magnetic_field.F90:1
#define TIMER(N, F)
Definition: timer_macro.hpp:24