# solver_type = Hypre
solver_type = BoxLib_F
# solver_type = BoxLib_C
# solver_type = All

bc_type = Neumann
# bc_type = Periodic
# bc_type = Dirichlet

# The Lp.maxorder flag sets the order of approximation used by the BoxLib_C solver
# at Dirichlet boundaries.  
# The mg.maxorder flag sets the order of approximation used by the BoxLib_F solver
# at Dirichlet boundaries.  

# These flags must be set to the same value for the solutions to match.
# The HPGMG solver has the equivalent order to maxorder = 2.

Lp.maxorder = 3
mg.maxorder = 3
# OR
Lp.maxorder = 2
mg.maxorder = 2

a = 1.e-3
b = 1.0
# a case with constant diffusion coefficient
sigma = 1.0
w     = 0.05
# a case with variable diffusion coefficient
# sigma = 10.0    # controls the size of jump
# w     = 0.05    # controls the width of the jump 

plot_rhs  = 0 # plot the RHS
plot_beta = 0 # plot diffusion coefficient
plot_soln = 1 # plot the solution
plot_asol = 0 # plot analytic solution
plot_err  = 0 # plot the error
comp_norm = 0 # compute 2 norm of the error

n_cell        = 128
max_grid_size = 32

tol_rel = 1.e-10
tol_abs = 0.0

#For BoxLib_F: 
# mg.v = 0 shows just the Run time.
# mg.v = 1 shows Initial rhs, Final Iter, and Run time
# mg.v = 2 shows Initial rhs, Residual at each V-cycle, Final Iter, and Run time
#
#For BoxLib_C: 
# mg.v = 0 shows just the Run time.
# mg.v = 1 shows Initial rhs, Final Iter, and Run time
# mg.v = 2 shows Initial rhs, Residual at each V-cycle, Final Iter, and Run time
#
#For Hypre: 
# mg.v = 0 shows just the Run time.
# mg.v = 2 shows # of iterations and final residual

mg.v = 2 

# These are only relevant for the hypre solver
hypre.solver_flag = 1      # 0: SMG,  1: PFMG (default)
## parameters below are for PFMG
hypre.pfmg_rap_type   = 1  # default: 0 (Galerkin); else: 1 (non-Galerkin)
hypre.pfmg_relax_type = 2  # default: 1 (Jacobi); else: 2 (red-black GSRB)
hypre.num_pre_relax   = 2  # default: 1
hypre.num_post_relax  = 2  # default: 1
hypre.skip_relax      = 1  # default: 1
hypre.print_level     = 1  # default: 0

# These are only relevant for the BoxLib_C solver -- 
#  * set this to do a comparison with BoxLib_F and hypre
mg.use_Anorm_for_convergence = 0
#
#  * set this to turn off verbosity of the BoxLib_C bottom solver
cg.v = 0

