I’m having issues getting a Mach = 6.0 flow around the IXV reentry vehicle case going. I’m using the tvd-rk3 explicit time integration scheme with the entropy-filter shock-capturing. I’ve backed off the solution to first-order to get the bow shock set up and stable before transitioning to a dual time-step integration scheme at p3, but I’m having difficulty even getting this initial solution started.
My mesh consists of extruded prisms for the near-wall mesh and tetrahedra for the off-body elements that have been elevated to q4 and exported as a Gmsh formatted file. (It will be nice once non-affine pyramid quadrature is finally implemented into the code). My *.ini configuration file is provided below. I can send along the mesh file if anyone has a link where I can upload/transfer the file. The flow solution runs until about t = 5.0e-7 before I encounter NaNs. I’ve tried lowering the time step further, switching to artificial-viscosity, non-dimensionalizing the fluid state, and so forth, but I can’t seem to get the solution started and was hoping for some additional suggestions that I might try.
[backend]
precision = double
;memory-model = large
[backend-cuda]
device-id = local-rank
mpi-type = standard
[constants]
; =====================================================================
; ORIGINAL DIMENSIONAL REFERENCE VALUES (SI units) — kept for traceability
; These are the exact freestream conditions. Use them for post-processing,
; re-dimensionalization of results, or to recreate a dimensional run.
rho_dim = 0.01666817757218692 ; [kg/m³]
alpha = 20.99057 ; [°]
U_dim = 840.08067332608 ; [m/s]
Ux_dim = 784.3324121663127 ; [m/s]
Uz_dim = 300.92890343297614 ; [m/s]
p_dim = 233.3993107404711 ; [Pa]
mu_dim = 3.1255834459735388e-6 ; [Pa-s]
L_dim = 5.04 ; [m] (IXV reference length)
Tref = 273.15 ; [K]
Ts = 110.4 ; [K]
Tw = 300.0 ; [K]
rgas = 287.058 ; [J kg⁻¹ K⁻¹]
; =====================================================================
; Reference scales chosen for non-dimensionalization
rho_ref = rho_dim
U_ref = U_dim
L_ref = L_dim
p_ref = rho_ref * U_ref**2 ; dynamic-pressure scaling
; =====================================================================
; NON-DIMENSIONAL QUANTITIES USED BY THE SOLVER
gamma = 1.4
Pr = 0.72
cp = 1004.703 ; gamma * rgas / (gamma - 1.0)
mu = 4.428854875283447e-8 ; mu_dim / (rho_ref * U_ref * L_ref)
rho_inf = 1.0 ; rho_dim / rho_ref
U_inf = 1.0 ; U_dim / U_ref
p_inf = 0.01984126984126984 ; p_dim / p_ref
Ux = 0.9336393956796474 ; Ux_dim / U_ref (cos α)
Uz = 0.3582142917792963 ; Uz_dim / U_ref (sin α)
cpTref = 0.38886326363263635 ; cp * Tref / (U_ref**2)
cpTs = 0.1571682383490502 ; cp * Ts / (U_ref**2)
cpTw = 0.4270876042093755 ; cp * Tw / (U_ref**2)
; =====================================================================
[solver]
system = navier-stokes
order = 1
viscosity-correction = sutherland
shock-capturing = entropy-filter
anti-alias = none
[solver-artificial-viscosity]
max-artvisc = 2.0 ; up to 1.0 for very strong shocks
s0 = 0.01
kappa = 30.0
[solver-entropy-filter] ; (cannot be simultaneously active)
d-min = 1e-8
p-min = 1e-8
e-tol = 1e-4
niters = 20
formulation = nonlinear
[soln-filter]
nsteps = 1 ; 1 for aggressive startup control
cutoff = 0
order = 16 ; safe for p = 1; higher values are harmless
alpha = 48.0
[solver-time-integrator] ; phase 1 / robust startup explicit TVD-RK3
formulation = std
scheme = tvd-rk3
tstart = 0.0
tend = 2.0e-5
dt = 2.0e-9 ; conservative acoustic CFL ≈ 0.1-0.2 in small cells
controller = none
[solver-interfaces]
riemann-solver = rusanov
ldg-beta = 0.5
ldg-tau = 0.1
[solver-elements-tet]
soln-pts = shunn-ham
quad-deg = 9
quad-pts = shunn-ham
[solver-elements-pri]
soln-pts = williams-shunn~gauss-legendre
quad-deg = 10
quad-pts = williams-shunn~gauss-legendre
[solver-interfaces-tri]
flux-pts = williams-shunn
quad-deg = 9
quad-pts = williams-shunn
[solver-interfaces-quad]
flux-pts = gauss-legendre
quad-deg = 9
quad-pts = gauss-legendre
[soln-ics]
rho = rho_inf
u = Ux
v = 0.0
w = Uz
p = p_inf
[soln-bcs-farfield]
type = char-riem-inv
rho = rho_inf
u = Ux
v = 0.0
w = Uz
p = p_inf
[soln-bcs-y-symmetry]
type = slp-adia-wall
[soln-bcs-forebody]
type = no-slp-isot-wall
u = 0.0
v = 0.0
w = 0.0
cpTw = cpTw
[soln-bcs-elevator]
type = no-slp-isot-wall
u = 0.0
v = 0.0
w = 0.0
cpTw = cpTw
[soln-plugin-fluidforce-forebody]
nsteps = 100
file = forces-forebody.csv
file-format = csv
file-header = true
morigin = (0.506349, 0, 0)
quad-deg = 8
[soln-plugin-fluidforce-elevator]
nsteps = 100
file = forces-elevator.csv
file-format = csv
file-header = true
morigin = (0.506349, 0, 0)
quad-deg = 8
[soln-plugin-residual]
nsteps = 1
file = residuals.csv
file-header = true
norm = 2
[soln-plugin-writer]
dt-out = 2.0e-6
basedir = .
basename = ixv-soln-{t:.6f}
write-gradients = true
async-timeout = 0
[soln-plugin-nancheck]
nsteps = 50
Thanks!