Hello,
I was able to setup PyFR with OpenMP on my HPC and run one of the test cases. I’m now trying to simulate a simple axisymmetric subsonic nozzle meshed with hexahedra (degree Q3). I’m having difficulty getting the case to run for more than ~3e-6 seconds, even when running with a very small time step of 1e-9 seconds. I believe the mesh is fine, it has run well in a similar high-order Flux Reconstruction solver. As this is the first case I’ve run with PyFR other than the provided test cases, it’s likely I’m overlooking something simple.
I tried to simplify my original approach for initialization based on recommendations I found here in the forum; such as order=1 rather than 3, scheme=euler rather than rk45, and testing out different approaches for initializing the flowfield, but have not had any success. I have not found any clues from looking at the flowfield prior to crash, just a pressure wave coming from the nozzle inflow.
When running with the euler scheme, it runs for ~3e-6 seconds and crashes with NaNs. When running with rk45, I get an error: “minimum sized time step rejected”.
Does anyone have any ideas for initializing this case?
# Set Point 3
# NPR = 1.197, NTR = 1.0[backend]
precision = single
rank-allocator = linear[constants]
gamma = 1.4
mu = 0.0000185
Pr = 0.71
# Custom
NPR = 1.197
NTR = 1.0
Ps = 101325
Ts = 288
Rhos = 1.225
Cp = 1006[solver]
system = navier-stokes
order = 1
#order = 3
#viscosity-correction = sutherland
viscosity-correction = none
#shock-capturing = entropy-filter[solver-time-integrator]
formulation = std
scheme = euler
controller = none
#controller = pi
#atol = 1e-5
#rtol= 1e-5
tstart = 0
tend = 1.00
dt = 1e-09#[solver-entropy-filter]
#d-min = 1e-6
#p-min = 1e-6
#e-tol = 1e-6[solver-interfaces]
riemann-solver = rusanov
ldg-beta = 0.5
ldg-tau = 0.1[solver-interfaces-quad]
flux-pts = gauss-legendre-lobatto
quad-deg = 10
quad-pts = gauss-legendre-lobatto[solver-elements-hex]
flux-pts = gauss-legendre-lobatto
soln-pts = gauss-legendre-lobatto
quad-deg = 10[soln-ics]
rho = Rhos
u = 3.0
v = 0.0
w = 0.0
p = Ps[soln-bcs-extinflow]
type = char-riem-inv
rho = Rhos
u = 3.0
v = 0.0
w = 0.0
p = Ps[soln-bcs-farfield]
type = char-riem-inv
rho = Rhos
u = 3.0
v = 0.0
w = 0.0
p = Ps[soln-bcs-nozzleextwall]
type = no-slp-adia-wall
#type = slp-adia-wall[soln-bcs-nozzleinflow]
type = sub-in-ftpttang
pt = NPR*Ps
cpTt = NTR*Ts*Cp
theta = 0.0
phi = 0.0[soln-bcs-nozzleintwall]
type = no-slp-adia-wall
#type = slp-adia-wall[soln-bcs-nozzlelipwall]
type = no-slp-adia-wall
#type = slp-adia-wall[soln-bcs-outflow]
type = sub-out-fp
p = Ps[soln-plugin-writer]
dt-out = 0.0001
basedir = .
basename = soln-{t:.4f}[soln-plugin-nancheck]
nsteps = 10[soln-plugin-residual]
nsteps = 10
file = residual.csv
header = true