API
Public
Dante.setInitRiemann — FunctionsetInitRiemann(RiemannProblemType, Verbose)Set the initial conditions of Riemann problems. Note that currently tEnd and CFL number can only be set in PARAM.toml, and cannot be changed afterwards.
Dante.solve — Functionsolve(paramFile)Run the model given input parameter file paramFile.
Private
Dante.Param3D — TypeModel input parameters
Dante.advance! — MethodExplicit time advance.
Dante.calc_face_value! — Methodcalc_face_value!(param, state_GV, faceState, faceGradient)Type instability for the return type is introduced, but it seems ok. I don't know how to modify faceState for views in 1st order.
Dante.divergence! — Methoddivergence!(param, vec, div)
Calculate the divergence of vectors specialized to my grid size. Always assume starting with i -> j -> k for 1/2/3D! Right now do nothing for the ghost cells. Maybe needed later! Take central differences on interior points.
Dante.divergence_ndgrid! — Methoddivergence_ndgrid!(hx, hy, hz, vec, div)Generic divergence div of vector vec with step lengths hx, hy, hz.
Dante.getEulerExactSol — MethodgetEulerExactSol(ρ1, u1, p1, ρ4, u4, p4, tEnd, n)Classical Gas Exact Riemann Solver for shock tube problems. This programs is based on the code of Principles Of Computational Fluid Dynamics by P. Wesseling.
A Cavitation Check is incorporated in the code. It further prevents plotting for possible but physically unlikely case of expansion shocks.
Arguments
ρ1::Float64: left density at t=0.u1::Float64: left velocity at t=0.p1::Float64: left pressure at t=0.ρ4::Float64: right density at t=0.u4::Float64: right velocity at t=0.p4::Float64: right pressure at t=0.tEnd::Float64: final solution time.n::Integer64: the gas Degree of freedom.
Coded by Manuel Diaz, IAM, NTU 03/09/2011. Migrated by Hongyang Zhou from MATLAB to Julia, 11/05/2019
Dante.get_speed_max! — MethodCalculate the maximum speed in each direction.
Dante.minmod — Methodminmod(a, b, c)For three inputs, use Harten's generalized definition. Return zero if opposite sign, otherwise the one of smaller magnitude.
Dante.minmod — Methodminmod(a, b)Return zero if opposite sign, otherwise the one of smaller magnitude.
Dante.plot_Riemann_exact — MethodPlot the analytical solution of shock tube problem.
Dante.plotvar — MethodPlot 1D variables along a line.
Dante.setParameters — MethodsetParameters(filename)Read parameters from PARAM.toml and construct the parameter list.
Dante.update_state! — MethodTime-accurate state update.
Dante.update_state! — MethodLocal timestepping state update.