#############################################################################

# Maximum number of steps to run the calculation.  Note that if 
# time = stop_time is reached first, the calculation will end with # nstep < max_step.

max_step        = 240

#############################################################################

# The number of cells in the two coordinate directions.  For optimal
# multigrid performance each value should be a power of 2.
# This is read by the Grid class.

n_cell   = 16 16 32

#############################################################################

# Maximum size of grid allowed.

max_grid_size   = 64

#############################################################################

#
# Verbosity in Grid.cpp
#

grid.verbose = 1

#############################################################################

# Maximum time at which to stop the calculation.  Note that if 
# nstep = max_step is reached before time = stop_time,the calculation
# will end with time < stop_time.

stop_time       = 1000000.   

#############################################################################

# Name of "probin" file to be read (defaults to "probin" if not set)

probin_file = probin2_3d

#############################################################################

# Frequency of checkpoint file generation.  The code will write a 
# checkpoint file every check_int timesteps. These can be used to
# restart the calculation.

check_int       = 100

#############################################################################

# Root part of checkpoint file name

check_file_root = chk

#############################################################################

# Frequency of plot file generation.  The code will write a 
# plot file every plot_int timesteps. The plot file at nstep = 30,
# for example,  will be named plt0030.   These plot files can be
# viewed using the visualization tool "amrvis2d." 

plot_int        = 10         

#############################################################################

# Root part of plotfile name.

plot_file_root = plt

#############################################################################

# CFL number for timestep constraint.  The timestep is determined by
# computing the largest stable timestep (based on the constraint for
# explicit advection) and multiplying it by this number.

cfl	        = .5	     

#############################################################################

# The factor by which to shrink the initial timestep.  This is used to
# initialize calculations with very unstable initial data.  This factor
# is only applied when the very first timestep is calculated.  After that
# point, the timestep is allowed to grow at most 10% per timestep.

init_shrink     = 0.1        

#############################################################################

# The acceleration of gravity, assumed to be in the second of the two
# coordinate directions (y for x-y, z for r-z).  The negative sign indicates
# that the force acts in the negative y- (or z-) direction.

gravity         = -9.8       

#############################################################################

# if coord_sys = 0 then use Cartesian(x-y) geometry
# If coord_sys = 1 then use axisymmetric (r-z) geometry.  This enforces a
# reflecting boundary condition at r=0.  In addition, if coord_sys = 1 then
# you must set bcx_lo = 2.

geometry.coord_sys	= 0

#############################################################################

# Boundary conditions in the low x-direction.
# If bcx_lo = 1, the domain is periodic in the x-direction.
# If bcx_lo = 2, the domain has a solid (reflecting) walls in the low x-dir.
# (For visc_coef > 0 this is a no-slip wall; 
#  for visc_coef <= 0 this is a slip wall.)
# If bcx_lo = 3, the domain has inflow at low x.
# If bcx_lo = 4, the domain has outflow at low x.

bcx_lo     	= 2

#############################################################################

# Boundary conditions in the high x-direction.
# If bcx_hi = 1, the domain is periodic in the x-direction.
# If bcx_hi = 2, the domain has a solid (reflecting) wall in the high x-dir.
# (For visc_coef > 0 this is a no-slip wall; 
#  for visc_coef <= 0 this is a slip wall.)
# If bcx_hi = 3, the domain has inflow at high x.
# If bcx_hi = 4, the domain has outflow at high x.

bcx_hi     	= 2

#############################################################################

# Boundary conditions in the low y-direction.
# If bcy_lo = 1, the domain is periodic in the y-direction.
# If bcy_lo = 2, the domain has a solid (reflecting) walls in the low y-dir.
# (For visc_coef > 0 this is a no-slip wall; 
#  for visc_coef <= 0 this is a slip wall.)
# If bcy_lo = 3, the domain has inflow at low y.
# If bcy_lo = 4, the domain has outflow at low y.

bcy_lo     	= 2

#############################################################################

# Boundary conditions in the high y-direction.
# If bcy_hi = 1, the domain is periodic in the y-direction.
# If bcy_hi = 2, the domain has a solid (reflecting) wall in the high y-dir.
# (For visc_coef > 0 this is a no-slip wall; 
#  for visc_coef <= 0 this is a slip wall.)
# If bcy_hi = 3, the domain has inflow at high y.
# If bcy_hi = 4, the domain has outflow at high y.

bcy_hi     	= 2

#############################################################################

# Boundary conditions in the low z-direction.
# If bcz_lo = 1, the domain is periodic in the z-direction.
# If bcz_lo = 2, the domain has a solid (reflecting) walls in the low z-dir.
# (For visc_coef > 0 this is a no-slip wall; 
#  for visc_coef <= 0 this is a slip wall.)
# If bcz_lo = 3, the domain has inflow at low z.
# If bcz_lo = 4, the domain has outflow at low z.

bcz_lo     	= 2

#############################################################################

# Boundary conditions in the high z-direction.
# If bcz_hi = 1, the domain is periodic in the z-direction.
# If bcz_hi = 2, the domain has a solid (reflecting) wall in the high z-dir.
# (For visc_coef > 0 this is a no-slip wall; 
#  for visc_coef <= 0 this is a slip wall.)
# If bcz_hi = 3, the domain has inflow at high z.
# If bcz_hi = 4, the domain has outflow at high z.

bcz_hi     	= 2

#############################################################################

# The physical coordinates of the low end of the domain.  

geometry.prob_lo  = 0. 0. 0.

#############################################################################

# The physical coordinates of the high end of the domain.  

geometry.prob_hi  = 1. 1. 2.

#############################################################################

# The dynamic viscosity, assumed constant.   If this coefficient is positive,
# the algorithm uses a Crank-Nicholson discretization of the viscous terms
# in the momentum equation.  If this coefficient is zero or negative,
# the equations are assumed to be inviscid.

grid.visc_coef  = 0.0

#############################################################################

# The diffusion coefficient for each scalar, assumed constant.
# If this coefficient is positive, the algorithm uses a Crank-Nicholson
# discretization of the diffusive terms in the scalar update equation.
# If this coefficient is zero or negative, it is assumed there is no diffusion.
# There is one flag for each scalar variable.  Note: the code will object
# if you try to diffuse density.
# This is read by the Grid class.

grid.diff_coef = 0.0 0.01

#############################################################################

# The flag which determines how to difference the edge states of the
# advected scalars.  If is_conserv = 1, the edge states are multiplied
# by edge velocities and the fluxes are differenced; if is_conserv = 0
# the edge velocities are averaged and multiplied by the difference of
# the edge states.    There is one flag for each scalar variable.
# This is read by the Grid class.

grid.is_conserv = 1 0      

#############################################################################

# The order of the slope calculation.  If slope_order = 0, the slopes
# are set to zero; if slope_order = 2 a second-order accurate slope
# calculation is done; if slope_order = 4 a fourth-order accurate slope
# calculation is done.  In all cases the higher-order slopes are then
# monotonicity-limited, reducing the order in regions of strong gradients. 
# This is read by the Grid class.

grid.slope_order= 4

#############################################################################

# The number of iterations taken before the first time step in order
# to compute the initial pressure.
# This is read by the Grid class.

grid.init_iter  = 2

#############################################################################

# The tolerance to determine convergence of the nodal projection.
# This is read by the hg_projector class.

hg.tol          =  1.e-12

#############################################################################

# The tolerance to determine convergence of the MAC projection.
# This is read by the mac_projector class.

mac.tol         =  1.e-12

#############################################################################

# The tolerance to determine convergence of the diffusive solves.
# This is read by the diffuser class.

diff.tol        =  1.e-12

#############################################################################

# The number of smoothing steps as you coarsen and as you refine during
# the nodal projection

hg.numSmoothCoarsen = 2
hg.numSmoothRefine = 2

#############################################################################

# The number of smoothing steps as you coarsen and as you refine during
# the MAC projection

mac.numSmoothCoarsen = 2
mac.numSmoothRefine = 2

#############################################################################

# The number of smoothing steps as you coarsen and as you refine during
# the diffusive solves.

diff.numSmoothCoarsen = 2
diff.numSmoothRefine = 2

#############################################################################

# Flag which determines the level of verbosity of the multigrid class.
# This is read by the multigrid class.  The value should be 0 for
# no verbosity, 1 for some verbosity, 2 for maximum verbosity.

multigrid.verbose =  1

#############################################################################

# Flag which determines whether the max norm of the residual should be
# printed at every level of the multigrid V-cycle.  This is used only
# for debugging purposes.  This flag should be either 0 or 1.

multigrid.debug   =  0
