Questions about the lift monitor (and lift) in a compressible-flow simulation

I have some questions about the lift monitor in a compressible-flow simulation.

1) I have an incompressible-flow simulation that I used to just get my simulation up and running. I have to use a compressible-flow simulation, however, because some local air velocities reach Mach 0.8 - 0.9. That said, the incompressible flow simulation runs well, so I started working with a compressible-flow version.

In compressible-mode, the otherwise same simulation gives pressure mapping results that appear decreased (versus the incompressible simulation), and the lift monitor readings are markedly disparate. For example, the airfoil elements’ pressure mapping shows them generating low pressure on their upper surfaces, yet the lift monitor shows them as producing negative lift. (The simulation does not include their lower surfaces as there aren’t any to include; imagine the curved roof of a car generating lift without having an underside (of the roof) in contact with the fluid flow. What would be the “underside of the car” in my simulation is an inlet, from which air is flowing into the rest of the flow volume. I have left the interior of the “wing” out of the simulation altogether, for simplicity.

Of a number of airfoil elements, the lift monitor shows the “weaker” ones as generating the most lift, and the “stronger” ones as generating very little lift. The lift monitor also shows essentially non-lifting surfaces as generating quite a bit of lift. This is not at all the case when I run the same simulation in incompressible mode, unless I change the substance (air) pressure from zero to atmospheric pressure (2216.2 Lbs/sq foot is what I am using), in which case the same thing happens.

Any ideas what might be causing these findings? I am happy to share both incompressible-flow and compressible-flow versions of my files via Dropbox.

2) Also, to get more experience with a compressible flow simulation, I ran the “Transonic Flow Over the NACA 0012 Airfoil” simulation with a range of velocities from 50fps-1100fps (in 50 fps increments) in both compressible and incompressible mode. I understand that the incompressible flow simulations are inaccurate above ~ Mach 0.3, but I was curious.
I got lift readings roughly three times higher for the incompressible simulations, across the whole range of velocities. Clearly, I am doing something wrong, though having the above problems with compressible-flow, I am at a loss of where t start my troubleshooting.

Many thanks in advance for any help!

Lift of a non-closed body

The first thing to check is whether your simulations are converged?
What value are your residuals? You want to see them below 1e-3.
Is you lift monitor converged?

If not converged then the following comments are irrelevant.

If you change the ambient (reference) pressure of a compressible simulation you are indirectly changing the density which means you are changing the Reynolds Number, so you should expect to see different results.

The lift of a non-closed body (as in your case) for an incompressible simulation requires that you add the ambient pressure to the relative pressure (integrate this combined pressure to give your forces) produced by the simulation assuming your reference pressure is zero - which it should be for numerical robustness. When you did run the incompressible simulation with an ambient pressure (i.e., not zero) it may have converged - it which case it is likely the more correct answer for your non-closed body lift. A converged compressible simulation uses ambient pressure directly (not relative) so the lift is likely correct for the conditions you have specified.

The incompressible simulation

The incompressible simulation has converged, while the compressible simulation has partially converged. I have to refine the mesh.

I do not understand what you are saying regarding the lift of a non-closed body. Specifically, I don’t understand about adding the absolute and relative pressures. Are you saying that I should run the incompressible simulation with the reference pressure set at zero, then see what relative (lifting) pressure I get, then run the simulation again with the reference pressure set to what the maximum relative pressure is?

Connected with this, I was wondering if it is simplest/best for non-closed bodies to just run the solver in compressible mode from the start, so I can set the reference pressure to atmospheric and thereafter know exactly what the lift is without further manipulation.

After nearly a year of using Caedium, I remain amazed by its capabilities and appreciative of your support. Thank you for both.

Gauge vs absolute pressure

Upon review I'm not sure using absolute pressure is useful for assessing your design.


For a closed body flow simulation the absolute atmospheric pressure acts equally on all surfaces and therefore cancels out leaving the same lift/drag results whatever the reference pressure. For an open body the atmospheric pressure is important and will likely dominate the overall forces. All incompressible simulations should use a reference pressure of zero for numerical stability.

If you want to see the effect of atmospheric pressure in your integrated forces for an imcompressible simulations you need to create a new result for (p + pAtmospheric), where pAtmospheric is a constant. Then use that to create a new force result. This converts the gauge pressure to absolute pressure.

As you said it is easier to just use the exact atmospheric pressure in a compressible flow simulation if you can get it to converge adequately.


I guess another way to look at this would be to assume that the opening in your body is acted upon by a pseudo reference pressure is which case the incompressible force result stands as is (using gauge pressure) and you need to convert the compressible pressure from absolute to gauge, by creating a new results (p - pAtmoshperic) and then using it to create a new force result - this likely will be more meaningful relative to your design parameters. You should then find the compressible and incompressible forces in better agreement.

I was thinking that I can

I was thinking that I can convert the non-closed body into a closed body by turning the inlet and outlets into walls and then ascribing a force to those walls based on [only] the dynamic pressure that would be associated with them. For example, an inlet with a specific fluid flow is generating vectored thrust "away from" the part of the flow volume adjacent to it, while an outlet does the opposite. As my inlet and outlets have fixed velocities, this seems possible.

Is this what you are suggesting?

Also, does one of the Caedium tutorials show how to create a new result (in terms of p-pAtmospheric)?

Gauge pressure to calculate force for a compressible flow

You can not assign pressure to walls. Instead create the new result (Frelative) and use it as a force monitor on your existing walls, ignoring your inlets and outlets. This assumes the gauge pressure on the inlets and outlets is zero.

For an example of new result creation see the tutorial "Fluid Flow Around a Sphere: Theory Comparison".

Note this only applies to compressible simulations which use absolute or atmospheric pressure.

Specifically you need to create:
pGauge = p - pAtmospheric, where pAtmospheric is a constant. To get the units right you need to first create a scalar with units Force and then another scalar with units Area. Then use the binary operator Divide to create the final scalar with the correct units, i.e., N.m-2. Rename this final constant to pAtmospheric and in its properties enter your atmospheric pressure you used as your reference pressure for your compressible simulation.

Frelative = Sum(((pGauge*n) + tau) * A), where n and tau are both vectors

I will try this. Thank you

I will try this. Thank you for your time and help.

I did this and have a few

I did this and have a few questions:

1) Should I set the substance reference air pressure to zero, like for an incompressible flow simulation? When I did that, the solver won't run, but with a reference pressure of 0.001 or anything else, it does.

2) As I created it, Frelative is a vector field that seems to be plottable for one point in time. Can I make it be a vector variable that changes in real time, like the lift/drag monitors?

3) What about the choices between scalar/vector in the process of creating Relative? I know that n and tau are vectors. What about the other operands for which I am given choices between scalar and vector? I chose vector for all of them, is this correct?

Thanks in advance for your help.

Absolute pressure for compressible reference pressure

In answer to your questions:

1) For the compressible solver you have to use absolute pressure as your reference pressure in your Substance. This means setting the correct pressure for the conditions you want to simulate. If your simulation is in free air then your reference pressure should be 101000 N/m2. If you use a lower pressure then you are changing the state conditions. This is not CFD, this is fluid mechanics using the ideal gas law. The special case for CFD is incompressible flow where we use the gauge pressure as the reference pressure usually set to zero.

2) Frelative should be a vector variable. Make sure you created the final Unary operator Sum using the vector field.

3) If you create a result with a vector then all derived results will also be vectors. In this instance just keep using the vector for each operand, as you did.