Hello everyone.
I have a question related to initial values and exit boundaries to ask for advice.
I’m trying to calculate a supersonic flat plate flow with squares.
First of all I used the free coming flow values to initialize the whole field, but it quickly reported an error dispersion, I also tried several initial conditions to try to set the initial velocity near the leading and trailing edges of the square a little bit smoother, but it still reported an error, I found that setting the initial velocity u=0.0 can be pushed forward, and got a more stable flow field, I found that the initial velocity u=0.0 can be pushed forward, and get a more stable flow field.
Unfortunately though there is a noticeable numerical perturbation near the right hand side flow exit, and the perturbation remains as time advances. I tried both exit boundaries char-riem-inv and sup-out-fn.
I understand that my problem is due to an unscientific setting of the initial values, but I’m having a hard time trying to determine the finer initial value function.
Here is my full configuration file below:
[backend]
precision = single
[backend-cuda]
device-id = 2
[constants]
; M = 1.38
gamma = 1.4
Pr = 0.72
rhoin = 1.0
uin = 1.0
vin = 0.0
pin = 0.37507126354007264
mu = 1e-6
cpTref = 1.3127494223902545
cpTs = 1.2441967547741082
[solver]
system = navier-stokes ; euler
order = 4
; anti-alias = flux
shock-capturing = entropy-filter ; artificial-viscosity
viscosity-correction = sutherland
[solver-entropy-filter]
d-min = 1e-6
p-min = 1e-6
e-tol = 1e-6
; [solver-artificial-viscosity]
; max-artvisc = 0.01
; s0 = 0.01
; kappa = 10
[solver-time-integrator]
formulation = std
scheme = rk34 ; tvd-rk3
controller = none ; pi,none
tstart = 0.0
tend = 10000
dt = 1.0E-3
atol = 1.0E-5
rtol = 1.0E-5
[solver-interfaces]
riemann-solver = rusanov
ldg-beta = 0.5
ldg-tau = 0.1
[solver-interfaces-line]
flux-pts = gauss-legendre-lobatto
[solver-elements-tri]
soln-pts = alpha-opt
[solver-elements-quad]
soln-pts = gauss-legendre-lobatto
[soln-plugin-nancheck]
nsteps = 10
[soln-plugin-residual]
nsteps = 10
file = residual.csv
header = true
[soln-plugin-dtstats]
flushsteps = 1
file = dtstats.csv
header = true
[soln-bcs-inlet]
type = sup-in-fa
rho = rhoin
u = uin
v = vin
p = pin
[soln-bcs-outlet]
; type = sup-out-fn
type = char-riem-inv
rho = rhoin
u = uin
; u = uin * 0.5 * (1.0 + tanh((1/(2.45*3)*y - 1.001) / 0.0001))
v = vin
p = pin
[soln-bcs-wall]
type = no-slp-adia-wall
[soln-bcs-wall_slip]
type = slp-adia-wall
[soln-bcs-far]
; type = sup-out-fn
type = char-riem-inv
rho = rhoin
u = uin
v = vin
p = pin
[soln-ics]
rho = rhoin
u = 0.0
v = vin
p = pin
[soln-plugin-writer]
dt-out = 1
basedir = .
basename = 2d-{n:03d}
I hope you can offer advice, it’s much appreciated.
Regards, Wgbb.