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 
        :Δ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",
        #:output_dir          => "./test/CI-run",
        :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