As a newcomer to pyFR, I am currently trying to compute a Laminar flow over a sphere case to learn and understand pyFR.
In this case, the hemisphere is set with a no-slp-adia-wall boundary condition, the hemispherical symmetry surface is set with a slp-adia-wall boundary condition, the outlet is set as sup-out-fn, and the far field is set as sup-in-fa. The initial conditions for rho, u, v, w, and p are the same as the far field conditions.
The Riemann solver is set as Rusanov, and the solution points and flux points are properly set.
The simulation starts off well, but later on, I keep encountering “Minimum sized time step rejected.”
My time integrator is initially set as follows.
[solver-time-integrator] formulation = std scheme = rk34 controller = pi tstart = 0.0 tend = 0.04 dt = 1E-3 atol = 1E-5 rtol = 1E-3 errest-norm = l2 safety-fact = 0.9 min-fact = 0.3 max-fact = 2.5
The simulation always terminates around 0.02~0.04 seconds.
I modified dt from 1E-3 to 1E-4, atol from 1E-5 to 1E-7, and rtol from 1E-3 to 1E-7. They are all small enough, but the simulation still reports errors.
When observing the last few rows of dtstats.csv, I noticed that during stable running, the step size was around 6.7e-8. However, without any warning, the step size suddenly drops to around 3e-10, and then “Minimum sized time step rejected,” causing the simulation to terminate.
Could you provide some suggestions on why my simulation is terminating midway? Where can I find more information?
I checked residual.csv, and it seems to show a steady decrease without any issues.
VTU files also seem to have no major problems (BUT I’m not an expert in this field).
Perhaps I should adjust the options with the “-fact” suffix in the time-integrator? But I have no experience with it.
I would be greatly appreciative of any advice you could offer.