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