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.