CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   Pressure units in incompressible solvers (

Per March 7, 2012 05:17

Pressure units in incompressible solvers

I am quite new to OpenFOAM, and have some basic questions about units. From the tutorial cases I see that the units for pressure in incompressible solvers (e.g. simpleFoam) are m^2/s^2. Which make sense since pressure is constant. I guess I then have to scale (divide) my pressure initial and boundary conditions with rho in order to get a correct solution? My real question is: can I define my pressure units to be kg/ms^2 and define density rho in the transportProperties file and get the same result? I want to be able to do this in order to avoid having to scale my pressure.

Thanks in advance for replies.

FelixL March 7, 2012 07:42

Hello, Per,

if you take a look at the Navier-Stokes equations for incompressible flows, you can see, that only the pressure gradient is relevant for such flows. Hence the absolute value of pressure is absolutely unimportant (it can even be negative!) as long as the gradients are correct.

This makes many things simple for you as a user: first, you can set your reference pressure (for example the pressure at your far field or outlet boundaries) to zero. When you have negative pressure values in your solution, this means, that these areas have a lower pressure than your reference pressure. And vice versa! If you really need the absolute pressure values (which is very rarely the case for incompressible flows), you can simply multiply the whole field with your density (e.g. 1.225 kg/m) and add your absolute reference pressure to it (e.g. 101325 Pa). But like I said, the relative values are important, not the absolute values!

The other convenient thing about this approach is that you can easily calculate engineering quantities like the pressure coefficient. If you set your reference pressure to zero and your pressure field is already divided by density, the equation to calculate Cp is simply:

Cp = 2*p/(V_ref)^2

Feel free to ask, if you have anymore questions.


Per March 7, 2012 08:46

Thanks for the reply Felix :)

Especially the fact that a set pressure just is a reference is useful to know. And I should have figured that out from the NS equation.

Regarding the pressure gradient. Forgive me if this is a stupid question. If one wants a pressure gradient at for instance the outlet of a pipe section (due to a propeller), is it correct that this must be scaled with the density? Since (just an example) the incompressible NS equation for 2D pressure driven flow between two plates is reduced to nu*(ddu/du^2) = (1/rho)*(dp/dx) where (1/rho)*(dp/dx) = d(p/rho)/dx = dp'/dx since rho = const. (p' = p/rho). Is it correct to assume that p' is the pressure OpenFoam Calculates, and thus one must scale the gradient when setting the boundary condition? Or am I missing something?


FelixL March 8, 2012 12:40

Hello, Per,

short answer: you are correct. ;)


All times are GMT -4. The time now is 01:55.