1 #ifndef MY_TEST_H_ 2 #define MY_TEST_H_ 3 4 #include <AMReX_EBFabFactory.H> 5 #include <AMReX_MLMG.H> 6 #include <AMReX_Array.H> 7 8 class MyTest 9 { 10 public: 11 12 MyTest (); 13 14 void solve (); 15 void writePlotfile (); 16 void initData (); 17 18 private: 19 20 void initializeEB (); 21 void readParameters (); 22 void initGrids (); 23 24 int max_level = 0; 25 int ref_ratio = 2; 26 int n_cell = 128; 27 int max_grid_size = 64; 28 int is_periodic = 0; 29 int eb_is_dirichlet = 0; 30 31 std::string plot_file_name{"plot"}; 32 33 amrex::Vector<amrex::Real> scalars; 34 35 // For MLMG solver 36 int verbose = 2; 37 int bottom_verbose = 2; 38 int max_iter = 100; 39 int max_fmg_iter = 0; 40 int max_bottom_iter = 1000; 41 amrex::Real reltol = 1.e-12; 42 amrex::Real bottom_reltol = 1.e-4; 43 int linop_maxorder = 3; 44 int max_coarsening_level = 30; 45 bool use_hypre = false; 46 bool use_petsc = false; 47 amrex::Vector<amrex::Geometry> geom; 48 amrex::Vector<amrex::BoxArray> grids; 49 amrex::Vector<amrex::DistributionMapping> dmap; 50 amrex::Vector<std::unique_ptr<amrex::EBFArrayBoxFactory> > factory; 51 52 amrex::Vector<amrex::MultiFab> phi; 53 amrex::Vector<amrex::MultiFab> rhs; 54 amrex::Vector<amrex::MultiFab> acoef; 55 amrex::Vector<amrex::Array<amrex::MultiFab,AMREX_SPACEDIM> > bcoef; 56 amrex::Vector<amrex::MultiFab> bcoef_eb; 57 }; 58 59 #endif 60