SimScale CAE Forum

Trans-Super Sonic Compressible Flow projects


Hi everyone,
@roozbehmousavi , @sjoshi
I created this topic for an open and collaborative discussion on projects relating to Compressible Trans-Super sonic flow cases.

The first collaborative test case will be a simpler version of “isentropic supersonic flow in a De laval Nozzle” (maybe Trans-sonic at first) with reference to the post below.

The project called ‘Compressible Flow: de Laval Nozzle’ by @sjoshi will provide a good reference and starting point.

//*********** Reference Post ************//
I am trying to simulate an isentropic supersonic flow in a De Laval Nozzle, but it seems that it is not that easy to get a stable solution. It would be a very kind of you taking a look at the following project and giving me some guidelines:
Thanks in advance, Roozbeh
P.S.: Although the compressible flow formulations are available, but I simply used the following web-based calculator to determine the flow conditions:

So, everyone feel free to jump in !

'Lockheed SR-71' simulation project by roozbehmousavi
Compressible Flow Simulation - Retro Propulsion

So based on the project at hand, I start with some brief details about the Compressible flow solvers available on the platform and how to figure out the right solver and settings.

As the Compressible flow can be divided into 3 main regimes, high Sub-sonic ( 0.3 < M < 0.7 ) , Trans-sonic ( 0.8 < M < 1.0) and super-sonic ( 1.0 < M ) that have significant differences between each other , the mathematical formulation and thus the Numerical approach (solvers) to solve them require different methods too.

Currently, on the platform there are 2 types of compressible solvers available.

1- Pressure based solvers :
These use a formulation using pressure changes to determine changes in density. Pressure-based solver for steady/unsteady , laminar and turbulent flows are the rhoSimpleFoam/rhoPimpleFoam type OpenFoam solvers.

2- Density based solvers :
These use a density based approach to calculate the flow variables. A density-based approach with central schemes for only unsteady , laminar/turbulent flows is rhoCentralFoam type OpenFoam solver.

So, the choice of solver depends upon the flow regime we have:
- For low Mach number M < 0.7 : a pressure-based approach is used.
- For High Mach number M > 0.7 : a density-based approach is preferred.

There is also a third solver, “sonicFoam” which is transient, laminar/turbulent for trans-sonic/supersonic compressible flows, but is currently Not available in the analysis types and is in the implementation phase. It can however be used as a ‘Case Upload’ on the platform.

For starters, I would do some test cases with the “density-based transient solver” (rhoCentralFoam) on the platform and get back soon.



Hi Everyone,

So, I have done some test runs for “Supersonic flow through the de laval nozzle” case. For now the case was tested locally with ‘rhoCentralFoam’ Transient solver ( density based ) assuming Laminar flow ( for the sake of simplicity ). I was able to run the simulation in a few tries and was a quite stable run.

This can be done on the SimScale Platform following the next release update this week.

The geometry and flow conditions for Supersonic flow are taken same as The project called ‘Compressible Flow: de Laval Nozzle’ , documented Here. (In the referred project the simulation at that time was done via ‘Case Upload’ using ‘SonicFoam’ solver )

The values input were in a non-dimensionalised form and simulation was run for 2 sec of runtime.

The native OpenFoam parser for residual plots has some issues, so no plots. But the residuals reached below 1e-4 for velocity and energy.

smoothSolver: Solving for Ux, Initial residual = 3.20857947784e-05, Final residual = 7.19483530794e-08,
smoothSolver: Solving for Uy, Initial residual = 0.000105640825437, Final residual = 1.2390516215e-07,
smoothSolver: Solving for Uz, Initial residual = 5.79024530306e-05, Final residual = 1.19750637467e-07,
smoothSolver: Solving for e, Initial residual = 3.85544922399e-05, Final residual = 1.58951554028e-07,


…and here are some Results !

Snapshot of velocity, pressure and temperature (non-dimensional form)


and the flow development for the Transient run :


I will later share a project for this case.



Hi quick question on the Nozzle guide, what does using a different fluid in the supersonic case represent?
And additionally, since I realize this article is older, are sonicfoam and a turbulent compressible density solver additions that we can look forward to in the near future. I’m particularly interested in supersonic flow and wouldn’t mind taking advantage of those features.


Hi @JacksonEmpey!

Different fluids for the supersonic case have been used due to the courant number restriction. I will ask about your question and if we have anything planned for the future. To make sure that your query gets tracked and we get to see the feedback of other users, please share your ideas and thoughts in this section: Vote For Features.




much appreciated, I’ll try the different fluid trick in my next supersonic sim