Default Numerics vs Turbulent Pipe Flow Validation Numerics

So I have run into an interesting problem with the default numerics. My project is related to the “Turbulent Pipe Flow” validation project (@dzivkovic). I have a different pipe diameter and length with two back to back 45 bends. When I use the default numerics, the simulation does not converge as well or as quickly. However, when I use the numerics in the Turbulent Pipe Flow validation, it converges much better and faster plus the results are different (pressure loss). I don’t remember seeing anything documented about the changes to the numerics in that write up. Quite a few of the numerics are different from the default. Can someone please explain the changes from the default and why they are behaving as they are?

Thanks

Hi @mas985, nice to see you back at it again :wink:

Tagging the professional @cfd_squad here to see if they can find things in your setup that can be optimized.

Best,

Jousef

Thanks!

So I noticed this message in the simulation log for the “Default” numerics case:

→ FOAM Warning :
From function gaussConvectionScheme
in file finiteVolume/convectionSchemes/gaussConvectionScheme/gaussConvectionScheme.H at line 123
Reading “system/fvSchemes.divSchemes.div(phi,U)” at line 17
Unbounded ‘Gauss’ div scheme used in steady-state solver, use ‘bounded Gauss’ to ensure boundedness.
To remove this warning switch off ‘warnUnboundedGauss’ in "

If I set the div(phi,U) to “Bounded Gauss Upwind”, the simulation converges. Albeit 4x longer than the TPFV numerics. Any explanation?

One more discovery. If I also set the relaxation type to manual, the simulation converges very quickly and same as TPFV. So it looks like the real difference is the relaxation type and the div(phi,U) setting.

Hey,

Bounded gauss upwind is a first order accurate scheme. It tends to be much more stable, however it’s a little diffusive and won’t be as precise as 2nd order schemes. It’s a trade off between stability <> precision.

The default relaxation method was changed from manual to automatic for incompressible analysis not long ago. About the time to converge, it varies from simulation to simulation. Personally, automatic relaxation feels awesome to more complex problems. For more simple geometries, I like using manual relaxation.

1 Like

Thanks for the reply. I have read about the trade off of stability and accuracy but not much about how much accuracy is lost with the first order formulas. I would assume that poor stability can also lead to poor accuracy. Where as good stability may lead to good convergence so while the final accuracy may not be as good, it could still be better than the poor stability case.

In general and not specific to the project posted, if I use “Bounded Gauss Upwind” and the simulation converges and the inlet and outlet pressures are stable and constant, does the solution have enough accuracy to be useful? Certainly it has to be more useful than an oscillating residual with a varying face pressures.

Also, I believe much of the instability is coming from vortex shedding at the bend. I think I read somewhere that it might actually be better to have a coarser grid under these conditions. Is there any documentation that would help in this area to make the proper choice in numerical schemes? I have read the OpenFoam documentation but there aren’t many details about the trade offs of using one scheme over another.