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