# diamond-time-start time { steady = false #number of steps = 10000 number of steps = 1500 cfl = 2.5 } # diamond-time-end # diamond-solver_defaults-start solver defaults { explicit {method = ssprk53} } # diamond-solver_defaults-end # diamond-reference_conditions-start reference conditions { pressure = 101327. temperature = 300.0 mach = 1.5 beta = -45 length = 1 } # diamond-reference_conditions-end fluid { species = air_perfect } cartesian { # diamond-navier_stokes-start navier stokes { viscous = false } # diamond-navier_stokes-end # diamond-convective_terms-start convective terms { scheme = hwcns # variant of the Hybrid Weighted Compact Non-linear Scheme, https://arc.aiaa.org/doi/pdf/10.2514/6.2011-3857 flux function = hllec # Robust Harten-Lax-Leer-Einsfeldt-Contact approximate Riemann solver (https://doi.org/10.1007/BF01414629) fluxorder = 4 # formally 3rd or 4th order convective terms via nodal flux blending with face fluxes interporder = 3 # third order left and right state interpolation to the face limiter = weno3op # 3rd order Weighted Essentially Non-Oscillatory interpolation with optimal accuracy, https://epubs.siam.org/doi/pdf/10.1137/19M1260396 upwind blending sensors = [weno] # use WENO-type sensor on density to detect stencils with discontinuities and use upwind there and central otherwise central components = [q] # blend all primitive variables between upwind and central interpolation based on upwind blending sensors } # diamond-convective_terms-end # diamond-output-start output { timeaveraging { start ctu = 0.695 } monitor{ interval = 100 variables = [nt,time, dt,maxcfl,blocks_1*,numcells,mups,memory,elapsed] } volume { interval = 1000 variables = [q,mach,density,mask,wenoshocksensor,errormetric] } surface { variables = [q,mach,density] interval = 1000 } restart { interval = 10000 } # diamond-line_probe-start line probe_1 {start = [-2.0, 4.0];end = [2.0, 4.0];number of points = 100;interval = 100} # diamond-line_probe-end } # diamond-output-end bcs { ibmethod = gcm gcmtype = imagedist bc_1 { type = wall kind = [slip] } } # diamond-grid-start grid { finest dx = 0.01 targetrelativefarfielddistance = [200^3] # diamond-grid_amr-start regrid interval = 100 max box size = 8 tag all geometry = true solution based amr { method = user error metric time method = ins error metric stats interval = 100 error metric threshold finest = 0.025 error metric threshold ratio = 0.5 regridgrowerrormetrictags = 1 errormetric_1 { type = laplacianp weight = 1.0 } } # diamond-grid_amr-end #fine box over entire airfoil and nearby tagboxes_1 { lo = [-0.55, -0.55] hi = [ 0.55, 0.55] dx = 0.0 } } # diamond-grid-end # diamond-geometry-start geometry { surfaces_1 { file name =diamond.fmt; rotatedeg = [45,0] } } # diamond-geometry-end }