user_inputs.jl
Every user-defined problem has its own namelist/input file called user_inputs.jl
. A sample userinputs.jl file with all possible entries (notice that not all entries are necessary). Use #
to comment a line. When a line is commented or not explicitaly give, default values will be used. The entries (with default values) are defined in `src/io/modinputs.jl`.
function user_inputs()
inputs = Dict(
#---------------------------------------------------------------------------
# User define your inputs below: the order doesn't matter
#---------------------------------------------------------------------------
:ode_solver => SSPRK54(), #From the suite of solvers of DifferentialEquations.jl
:Δt => 0.4,
:tinit => 0.0,
:tend => 1000.0,
#:tinit => 100.0,
#:tend => 1000.0,
#:lrestart => true,
#:restart_input_file_path => "./output/CompEuler/theta/",
:diagnostics_at_times => (0:100:1000),
:lsource => true,
#:backend => MetalBackend(),
#:SOL_VARS_TYPE => PERT(), #TOTAL() is default
#---------------------------------------------------------------------------
#Integration and quadrature properties
#---------------------------------------------------------------------------
:interpolation_nodes =>"lgl",
:nop => 4, # Polynomial order
#---------------------------------------------------------------------------
# Physical parameters/constants:
#---------------------------------------------------------------------------
:lvisc => true, #false by default
:ivisc_equations => [1, 2, 3, 4], # use [], not ()!
:μ => [0.0, 20.0, 20.0, 60.0], # use [], not ()!
#---------------------------------------------------------------------------
# Filter parameters
#---------------------------------------------------------------------------
#:lfilter => true,
#:mu_x => 0.01,
#:mu_y => 0.01,
#:filter_type => "erf",
#---------------------------------------------------------------------------
# Mesh paramters and files:
#---------------------------------------------------------------------------
:lread_gmsh => true, #If false, a 1D problem will be enforced
:gmsh_filename => "./meshes/gmsh_grids/hexa_TFI_RTB20x20.msh",
#---------------------------------------------------------------------------
# init_refinement
#---------------------------------------------------------------------------
# When true this takes the input mesh (which can be as coarse as you'd like)
# and statically refine it as many times as the value of :init_refine_lvl
# E.g. Given a grid of 20x10x3 elements,
# :init_refine_lvl => 1 will generate a 40x20x6 grid (octree)
#---------------------------------------------------------------------------
:linitial_refine => false,
:init_refine_lvl => 1,
#---------------------------------------------------------------------------
# AMR: Adaptive Mesh Refinement (different from initial_refinement)
#---------------------------------------------------------------------------
:ladapt => false,
:amr_freq => 200, #AMR is triggered every :amr_freq steps
:amr_max_level => 2, #levels of oct/quadtree subdivisions
#---------------------------------------------------------------------------
# Plotting parameters
#---------------------------------------------------------------------------
:outformat => "vtk",
:loverwrite_output => true,
:lwrite_initial => false,
:output_dir => "./output",
:loutput_pert => true, #this is only implemented for VTK for now
#---------------------------------------------------------------------------
) #Dict
#---------------------------------------------------------------------------
# END User define your inputs below: the order doesn't matter
#---------------------------------------------------------------------------
return inputs
end