CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM (
-   -   turbulent simulation pressure control valve (

SimonH. September 8, 2009 09:33

turbulent simulation pressure control valve
5 Attachment(s)
hi guys
right now im working on my diploma thesis and for that i simulated a pressure control valve with different pressure/lift combinations and analyzed the massflow and forces on the moving body. at first i made laminar calculations. by big lifts (300m) and high pressure differences (10 bar) the recieved values are out of expectation. because the Reynoldsnumber is quite high i tried to run a turbulent simulation which stoped after a rather short time. After that i tried different solver (turbFoam, simpleFoam, rasCavitatingFoam) with different schemes and initial values for k and epsilon. im adding a picture of my geometry and the last version of my boundary and the other setting.

has anybody met a similar problem or/and have some tipps for me?

mfg Simon
Attachment 1021

Attachment 1022

Attachment 1023

Attachment 1024

Attachment 1025

SimonH. September 8, 2009 09:35

5 Attachment(s)
here are the other files

Attachment 1026

Attachment 1028

Attachment 1029

Attachment 1030

Zowie September 8, 2009 10:03

We'll try to help, but... what is your problem? That the calculation stops?We need a better description of the problem!

SimonH. September 8, 2009 10:46

hi guys

sorry zowie for the bad description of the problem i might be too much into it right now.

i have following problems: the results of my laminar case dont match my expectations so i wanted to start a turbulent calculation. when i do so i have two possible outcomes. first, the one which appears more often, after ca. 6e-05 seconds with a timestep of 1e-06 seconds the calculation stopps after the courant number went infinite high although until then the risiduals looked very good. the other outcome is that the calculation runs to the point that my residuals are about 1e-03 - 1e-04 and when i make py postprocessing the velocity field looks fine but the value is out of range.

i hope i covered it all, if i left out something please ask.

mfg simon

philippose September 8, 2009 14:12

Hello Simon,

A Good Evening to you :-)!

I was looking through your p, U, and turbulence properties files, and I have the following suggestions:

1. When you specify a pressure at the inlet and the outlet, usually its easier for the solver, if you specify your pressure internalField to be equal to the lower outlet pressure rather than the inlet pressure.

2. Again, when the boundary conditions are fixed pressure at the inlet and the outlet, the boundary condition you need to use for U at the inlet is pressureInletVelocity, and not zeroGradient.

Now for some more questions....

1. Do you need to perform a transient simulation, or are you only interested in the steady-state results (ofcourse, steady state... with turbulence).
- If you need only the steady state results, I think it would be better if you use the simpleFoam solver because the SIMPLE algorithm is much more friendly than the PISO algorithm, and since it is a steady state simulation, you can make your deltaT = 1

- However, if you do need transient simulation results, even then, I would suggest that you start with the transientSimpleFoam solver, because the SIMPLE algorithm works well even with courant numbers as high as 50 (i.e., if you need time-accurate results... if not, the courant number is not important for this algorithm)

2. Do you need to use the LaunderSharma turbulence model? I have always got very good results with the k-Epsilon, and the k-OmegaSST should also give you good results..... personally, I stick with k-Epsilon for my hydraulic valve simulations.

3. Finally, it might make sense for you to think about using adaptive time-stepping if your simulation refuses to converge with any of the above suggestions.
- Not all solvers support adaptive time-stepping... I dont remember off the top of my head which transient incompressible solvers currently support it (am currently in Windows)..... but adding it to the top level solver is trivial...

- See if you can find icoFoamVarDt or simpleFoamVarDt by searching on this forum.... they might still be around.... or look into one of the solvers such as "rhoPimpleFoam" and try to modify transientSimpleFoam or turbFoam to make use of adaptive time-stepping

One more thing.....

Of course, all of the above will only work, if your mesh is good, and if checkMesh does not throw out any errors such as high skew, or too much non-orthogonality, etc...etc...etc....

Hope this helps.

Have a nice day!


Zowie September 9, 2009 04:49

Hi Simon,

well, it looks like the boundary conditions of your simulations could be improved. You can try the suggestions of philippose, although I use zeroGradient for U when using fixedValue for P and I have no problems with that.
I have also seen that you use inletOutlet boundary conditions at the outlet for k and epsilon, which doesn't make much sense for me. I think inletOutlet is mainly a velocity boundary condition to avoid inflows in your outlet...

Regarding your other problem, what do you exactly mean when you say that the velocity field is right but the values are "out of range"? Is it the same for the pressure field?


SimonH. September 16, 2009 03:34

hi guys sorry for not responding, i was a little bit frustrated so i let this projekt rest for now and was working on something else. nevertheless i want to thank zowie and philippose for their help. hopefully next week i can go back to this topic. until then thank you guys once more.

mfg simon

SimonH. September 21, 2009 06:07

hi guys im back on this topic now and i tried the suggestions philippose made earlier but im still having trouble. the calculation still stopps after a very short time. has anybody some other hints for me.

@philippose: what specifications do you make at the pressureInletVelocity boundary conditions

mfg Simon

Zowie September 22, 2009 04:39

Well, I used to have a similar problem of a simulation which would run in laminar mode but then in turbulent mode would show strange results for the velocity, even if convergence and pressure field were good.

My problem were the y+ values, as I told you in some other post. My advise is to check if your y+ values are allright. And if you are importing the mesh with some utility (fluentToFoam, starToFoam...) check that you defined right the boundary conditions in the file constant/polyMesh/boundary. If you don't define the walls as "wall", the y+ values won't be computed and the turbulence model won't yield any plausibe results (User Guide Page 126) (same happens with the symmetryPlanes).

Check that out, maybe it helps.

SimonH. September 23, 2009 09:41

hi guys,

i tried what zowie suggested and it looks like the problem really was just that i didnt define the walls as "wall" in my boundary file. Now everything works quite nice. thanks to everybody for your help.

mfg simon

All times are GMT -4. The time now is 17:32.