
[Sponsors] 
September 18, 2006, 15:52 
We have a need to run a pressu

#1 
New Member
Daniel Mills
Join Date: Mar 2009
Posts: 13
Rep Power: 8 
We have a need to run a pressure\density based compressible steady state solver. I have been fighting with rhoSimpleFoam for a few weeks now.
We would like to be able to specify: 2 inlets with TotalPressure using a fixed pressure. 2 outlets with possibilty of reverse flow and fixed static pressure. I am currently using totalPressure with fixed values for the inlets and outletInlet for the outlets in the p file. I am using pressureInletVelocity for the inlets and inletOutlet for the outlets with the values set to 0 for the U file. The flow field will develop a swirl as this runs. The geometry checks fine using checkMesh. This also runs fine in simpleFoam developing a fully converged solution. For some reason when we run it with the pressure\density solver like rhoSimpleFoam we get an instability in pressure\density after a few hundred steps. I have been able to change the instability by playing with the "phi = pEqn.flux()" statement in the the code, but never actually get rid of it. I think the problem may reside pressure\density equation for the SIMPLE solvers. Is OpenFoam capable of solving this type of problem? HAS ANYONE BEEN ABLE TO SOLVE A PROBLEM SIMILAR TO WHAT I HAVE DESCRIBED WITH A STEADY STATE SOLVER? 

September 19, 2006, 15:03 
I have noticed when someone as

#2 
New Member
Daniel Mills
Join Date: Mar 2009
Posts: 13
Rep Power: 8 
I have noticed when someone asks a question about stability problems in rhoSimpleFoam or density correctors in steady state solvers they are never answered. Here are two other posts posing similar questions from other users that never got further response. If there is a problem with rhoSimpleFoam thats alright, but it would be nice to get some sort of response?
Just tell me there is a problem and no one currently has a solution. http://www.cfdonline.com/OpenFOAM_D...es/1/2068.html http://www.cfdonline.com/OpenFOAM_D...es/1/2718.html 

September 19, 2006, 15:57 
There's no problem in the solv

#3 
Senior Member
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,763
Rep Power: 21 
There's no problem in the solver. What you are seeing is that compressible flows are much more sensitive to solver setting, initial field, timestep and boundary conditions. Unless you get all the components right together, the solver will blow up in your case.
All in all, this just requires lots of care. Hrv
__________________
Hrvoje Jasak Providing commercial FOAM/OpenFOAM and CFD Consulting: http://wikki.co.uk 

September 20, 2006, 09:48 
Alright I can easily believe t

#4 
New Member
Daniel Mills
Join Date: Mar 2009
Posts: 13
Rep Power: 8 
Alright I can easily believe that the problem is in my setup somewhere. Maybe someone would be so kind as to spot where my potential problems are. I will post my checkMesh, fvSolution, fvSchemes, and my 0 files. Please anyone with any ideas let me know what else I should try. No matter what I try I seem to get what looks very much like a low wave mode pressure instability after about 500600 steps.
Remember this mesh converges in simpleFoam. I also get much more stability by decreasing the pressure drop or increasing viscosity. checkMesh: Number of points: 124105 edges: 649440 faces: 979095 internal faces: 920158 cells: 453762 boundary patches: 19 point zones: 0 face zones: 0 cell zones: 0 Checking topology and geometry ... Point usage check OK. Upper triangular ordering OK. Topological cell zipup check OK. Face vertices OK. Faceface connectivity OK. Basic topo ok ... Checking patch topology for multiply connected surfaces ... Patch Faces Points Surface PeriodicCenter 816 875 ok (not multiply connected) PeriodicCombustor 16178 10957 ok (not multiply connected) PeriodicHoles 328 204 ok (not multiply connected) PeriodicPlenum2 2792 1522 ok (not multiply connected) PeriodicPlenum1 2046 1095 ok (not multiply connected) SmallTubes2 2538 1324 ok (not multiply connected) LargeTubes2 3107 1707 ok (not multiply connected) SmallTubes1 2078 1092 ok (not multiply connected) LargeTubes1 6047 3191 ok (not multiply connected) Wall6 1032 687 ok (not multiply connected) WallSet5 7102 3751 ok (not multiply connected) WallSet4 3742 2016 ok (not multiply connected) WallSet2 4455 2328 ok (not multiply connected) Wall3 860 957 ok (not multiply connected) Wall1 742 409 ok (not multiply connected) BCPressOutcenter 95 113 ok (not multiply connected) BCPressOut1 3088 2180 ok (not multiply connected) BCPressInlet2 1048 568 ok (not multiply connected) BCPressInlet1 843 461 ok (not multiply connected) Patch topo ok ... Topology check done. Domain bounding box: min = (1.42109e17 2.75474e51 0) max = (0.0757305 0.0245345 0.0245345) meters. Checking geometry... Boundary openness in xdirection = 4.32336e18 Boundary openness in ydirection = 8.77453e18 Boundary openness in zdirection = 3.35318e18 Boundary closed (OK). Max cell openness = 4.27239e22 Max aspect ratio = 2.58574. All cells OK. Minumum face area = 1.86851e09. Maximum face area = 1.79996e06. Face area magnitudes OK. Min volume = 3.02777e14. Max volume = 1.42021e09. Total volume = 1.34424e05. Cell volumes OK. Mesh nonorthogonality Max: 65.6633 average: 17.5979 Nonorthogonality check OK. Face pyramids OK. Max skewness = 119.41 percent. Face skewness OK. Minumum edge length = 5.08262e05. Maximum edge length = 0.00214438. All angles in faces are convex or less than 10 degrees concave. Face flatness (1 = flat, 0 = butterfly) : average = 0.999994 min = 0.999846 All faces are flat in that the ratio between projected and actual area is > 0.8 Geometry check done. Number of cells by type: hexahedra: 19560 prisms: 44800 wedges: 0 pyramids: 285 tet wedges: 0 tetrahedra: 389117 polyhedra: 0 Number of regions: 1 (OK). Mesh OK. fvSolution: (note I update the relaxation values to .2 on p and .6 on everything else after about 150 steps. It continues to run fine for another 400 steps) solvers { p AMG 1e06 0 100; U BICCG 1e06 0; h BICCG 1e06 0; k BICCG 1e08 0; epsilon BICCG 1e08 0; } SIMPLE { nNonOrthogonalCorrectors 0; pRefCell 0; pRefValue 0; } relaxationFactors { p 0.05; rho 0.05; U 0.3; h 0.1; k 0.05; epsilon 0.05; } fvSchemes: ddtSchemes { default steadyState; } gradSchemes { default Gauss linear; } divSchemes { default none; div(phi,U) Gauss limitedLinearV 1; div(phi,k) Gauss upwind; div(phi,epsilon) Gauss upwind; div(phi,h) Gauss limitedLinear 1; div((muEff*dev2(grad(U).T()))) Gauss linear; } laplacianSchemes { default none; laplacian(muEff,U) Gauss linear limited 0.5; laplacian((rhoA(U)),p) Gauss linear limited 0.5; laplacian(alphaEff,h) Gauss linear limited 0.5; laplacian(DkEff,k) Gauss linear limited 0.5; laplacian(DepsilonEff,epsilon) Gauss linear limited 0.5; laplacian(mut,U) Gauss linear limited 0.5; } interpolationSchemes { default linear; interpolate(U) linear; } snGradSchemes { default corrected; } fluxRequired { default no; p; } Epsilon: (note I crash almost immediately when I run laminar. I also get increased stability by fiddling with viscosity.) dimensions [0 2 3 0 0 0 0]; internalField uniform 1.5; boundaryField { PeriodicCenter { type cyclic; } PeriodicCombustor { type cyclic; } PeriodicHoles { type cyclic; } PeriodicPlenum2 { type cyclic; } PeriodicPlenum1 { type cyclic; } SmallTubes2 { type zeroGradient; } LargeTubes2 { type zeroGradient; } SmallTubes1 { type zeroGradient; } LargeTubes1 { type zeroGradient; } Wall6 { type zeroGradient; } WallSet5 { type zeroGradient; } WallSet4 { type zeroGradient; } WallSet2 { type zeroGradient; } Wall3 { type zeroGradient; } Wall1 { type zeroGradient; } BCPressOutcenter { type inletOutlet; inletValue uniform 1.5; } BCPressOut1 { type inletOutlet; inletValue uniform 1.5; } BCPressInlet2 { type fixedValue; value uniform 1.5; } BCPressInlet1 { type fixedValue; value uniform 1.5; } k: dimensions [0 2 2 0 0 0 0]; internalField uniform 0.055; boundaryField { PeriodicCenter { type cyclic; } PeriodicCombustor { type cyclic; } PeriodicHoles { type cyclic; } PeriodicPlenum2 { type cyclic; } PeriodicPlenum1 { type cyclic; } SmallTubes2 { type zeroGradient; } LargeTubes2 { type zeroGradient; } SmallTubes1 } type zeroGradient; } LargeTubes1 { type zeroGradient; } Wall6 { type zeroGradient; } WallSet5 { type zeroGradient; } WallSet4 { type zeroGradient; } WallSet2 { type zeroGradient; } Wall3 { type zeroGradient; } Wall1 { type zeroGradient; } BCPressOutcenter { type inletOutlet; inletValue uniform .055; } BCPressOut1 } type inletOutlet; inletValue uniform .055; } BCPressInlet2 { type fixedValue; value uniform .055; } BCPressInlet1 { type fixedValue; value uniform .055; } p: (note I have also tried totalPressure and fixed value for the outlet) dimensions [1 1 2 0 0 0 0]; internalField uniform 102928; boundaryField { PeriodicCenter { type cyclic; } PeriodicCombustor { type cyclic; } PeriodicHoles { type cyclic; } PeriodicPlenum2 { type cyclic; } PeriodicPlenum1 { type cyclic; } SmallTubes2 { type zeroGradient; } LargeTubes2 { type zeroGradient; } SmallTubes1 { type zeroGradient; } LargeTubes1 { type zeroGradient; } Wall6 { type zeroGradient; } WallSet5 { type zeroGradient; } WallSet4 { type zeroGradient; } WallSet2 { type zeroGradient; } Wall3 { type zeroGradient; } Wall1 { type zeroGradient; } BCPressOutcenter { type fixedValue; value uniform 101325; } BCPressOut1 { type fixedValue; value uniform 101325; } BCPressInlet2 { type totalPressure; p0 uniform 104531; value uniform 104531; } BCPressInlet1 { type totalPressure; p0 uniform 104531; value uniform 104531; } T: dimensions [0 0 0 1 0 0 0]; internalField uniform 300; boundaryField { PeriodicCenter { type cyclic; } PeriodicCombustor { type cyclic; } PeriodicHoles { type cyclic; } PeriodicPlenum2 { type cyclic; } PeriodicPlenum1 { type cyclic; } SmallTubes2 { type zeroGradient; } LargeTubes2 { type zeroGradient; } SmallTubes1 { type zeroGradient; } LargeTubes1 { type zeroGradient; } Wall6 { type zeroGradient; } WallSet5 { type zeroGradient; } WallSet4 { type zeroGradient; } WallSet2 { type zeroGradient; } Wall3 { type zeroGradient; } Wall1 { type zeroGradient; } BCPressOutcenter { type inletOutlet; inletValue uniform 300; } BCPressOut1 { type inletOutlet; inletValue uniform 300; } BCPressInlet2 { type fixedValue; value uniform 300; } BCPressInlet1 { type fixedValue; value uniform 300; } U: (note I have also tried pressureInletOutletVelocity for the outlet) dimensions [0 1 1 0 0 0 0]; internalField uniform (1 0.1 0.1); boundaryField { PeriodicCenter { type cyclic; } PeriodicCombustor { type cyclic; } PeriodicHoles { type cyclic; } PeriodicPlenum2 { type cyclic; } PeriodicPlenum1 { type cyclic; } SmallTubes2 { type fixedValue; value uniform (0 0 0); } LargeTubes2 { type fixedValue; value uniform (0 0 0); } SmallTubes1 { type fixedValue; value uniform (0 0 0); } LargeTubes1 { type fixedValue; value uniform (0 0 0); } Wall6 { type fixedValue; value uniform (0 0 0); } WallSet5 { type fixedValue; value uniform (0 0 0); } WallSet4 { type fixedValue; value uniform (0 0 0); } WallSet2 { type fixedValue; value uniform (0 0 0); } Wall3 { type fixedValue; value uniform (0 0 0); } Wall1 { type fixedValue; value uniform (0 0 0); } BCPressOutcenter { type inletOutlet; inletValue uniform (0 0 0); } BCPressOut1 { type inletOutlet; inletValue uniform (0 0 0); } BCPressInlet2 { type pressureInletVelocity; phi phi; rho rho; value uniform (0 0 0); } BCPressInlet1 { type pressureInletVelocity; phi phi; rho rho; value uniform (0 0 0); } 

September 21, 2006, 12:35 
Even though this should be a l

#5 
New Member
Daniel Mills
Join Date: Mar 2009
Posts: 13
Rep Power: 8 
Even though this should be a low mach number(<0.3) would it still make sense to experiment with the pressureTransmissive outlet BC since it seems to be a growing oscillating pressure wave in a cylinder that seems to be causing the problems???


September 22, 2006, 06:28 
Hi Daniel,
Your setup seem

#6 
Member
Pierre Le Fur
Join Date: Mar 2009
Location: UK
Posts: 60
Rep Power: 8 
Hi Daniel,
Your setup seems fine. Apart from that "low wave instabiltiy" what happens to the other fields, do they converge towards reasonable values, do they oscillate consequently too? You can always try to take the immoral and cowardly step of using upwind for all your variables. Maybe you might also try to tighten your pressure solver tolerance. Take it easy Pierre 

September 22, 2006, 06:33 
probably try one of the transi

#7 
Senior Member
Markus Hartinger
Join Date: Mar 2009
Posts: 102
Rep Power: 8 
probably try one of the transient codes like rhoSonicFoam and rhopSonicFoam. Using different codes helps spotting errors in the setup.
The total pressure boundary condition should be alright. markus 

September 22, 2006, 08:02 
Thank you very much for your r

#8 
New Member
Daniel Mills
Join Date: Mar 2009
Posts: 13
Rep Power: 8 
Thank you very much for your replies,
We get the same thing when upwinding all values and I have tried playing with the tolerances of pressure, it still develops a unstable pressure wave. The problem with pressure is usually preluded by a sharp drop in the minimum Ux. A drop from around 33 to around 60. After a couple steps velocity is back to normal, but pressure develops a growing oscillating wave. Rho of course ocsillates with pressure. Temperature and velocity look pretty good for a few steps until variance in pressure begins driving them. We have played with rhoTurbFoam a little but haven't spent much time with the transient codes yet. 

September 22, 2006, 08:14 
As Markus suggested maybe rhop

#9 
Member
Pierre Le Fur
Join Date: Mar 2009
Location: UK
Posts: 60
Rep Power: 8 
As Markus suggested maybe rhopSonicFoam might help, as it uses a slightly different way of biulding fluxes. Quite a stable code I hear.
Pierre 

September 26, 2006, 15:59 
Does anyone have anything else

#10 
New Member
Daniel Mills
Join Date: Mar 2009
Posts: 13
Rep Power: 8 
Does anyone have anything else we can try on this? We get the low wave pressure mode on both rhoTurbFoam and rhoSimpleFoam. It always develops in the channel(cylinder). It always develops after the swirling flow field begins to setup. We have tried more generic cases and the problem persists. The swirl develops then pressure oscillates and becomes unstable.
We have began trying rhopSonicFoam, but have not gotten very far. Any other suggestions would be a great help. Thanks 

December 5, 2010, 07:59 

#11  
Senior Member
Guilherme da Silva
Join Date: Aug 2010
Location: Sao Paulo  Brazil
Posts: 105
Rep Power: 7 
Quote:
Did you solve your issue? If not, I will post my issue here. If affirmatively, I will try your solution. Regards, Guilherme 

December 5, 2010, 18:05 

#12 
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,894
Rep Power: 26 
Hi, the last comment before yours is from 2006. It is probably more convenient if you open a new thread, and maybe provide a sample case that reproduces the problem.
Best, 

December 5, 2010, 21:52 

#13 
Senior Member
Guilherme da Silva
Join Date: Aug 2010
Location: Sao Paulo  Brazil
Posts: 105
Rep Power: 7 
Hi Alberto,
The last post is from 2006 but the user joined in 2009! Certainly I will open a new thread. Thanks. Regards, Guilherme 

December 6, 2010, 00:03 

#14 
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,894
Rep Power: 26 
Oh, I guess this is due to the forum migration.


December 27, 2010, 04:42 
solver for steady compressible flow in OpenFOAM 1.7.1

#15 
New Member
senthilkumar.R
Join Date: Sep 2010
Location: Ranchi, India
Posts: 20
Rep Power: 6 
Hai all,
I am new to OpenFoam.With my experience in Fluent ( simulated supersonic flow at Mach number 2.2 over Gemini Reentry capsule) thought to try OF. Simulation condition of my Fluent work is steady, Density based, M=2.2, inviscid both inviscid and turbulent flow. So far , I converted my fluent mesh file (.msh) as OpenFOAM mesh file. For steady , compressible flow rhoSimpleFoam seems to be a equivalent solver, but in OpenFOAM 1.7.1 (which is the one I installed in my machine) only rhoPorousSimpleFoam solver is available. Kindly explain what does this porous in rhoPorousSimpleFoam means for, and suggest me with correct solver.. Thanks in advance.
__________________
Senthil Kumar. R Department of space Engineering and Rocketry, Birla Institute of Technology,Mesra. rock.senthilkumar@gmail.com 

December 27, 2010, 04:50 

#16 
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,894
Rep Power: 26 
rhoSimpleFoam is part of OpenFOAM 1.7.1


December 27, 2010, 12:23 

#17 
New Member
senthilkumar.R
Join Date: Sep 2010
Location: Ranchi, India
Posts: 20
Rep Power: 6 
Dear Alberto,
I would like to thank you for your reply . And I feel very Sorry for my mistake., can you please suggest me any other solver other than rhoSimpleFoam for my case..
__________________
Senthil Kumar. R Department of space Engineering and Rocketry, Birla Institute of Technology,Mesra. rock.senthilkumar@gmail.com 

December 27, 2010, 14:04 

#18 
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,894
Rep Power: 26 
rhoSimpleFoam is the only compressible steady solver available.
There is rhoCentralFoam, which is suitable for viscid/inviscid flows with high Mach number, but it is unsteady. Similarly, sonicFoam is fine for transonic/supersonic turbulent unsteady flows. Best, 

December 27, 2010, 14:30 

#19 
New Member
senthilkumar.R
Join Date: Sep 2010
Location: Ranchi, India
Posts: 20
Rep Power: 6 
Dear Alberto,
Thanks a lot for your reply.Now I decided the rhoSimpleFoam solver for my work. Sorry for bothering you again, Kindly send any test case for rhoSimpleFoam to my mail id rock.senthilkumar@gmail.com ., so that I can do any case study also.
__________________
Senthil Kumar. R Department of space Engineering and Rocketry, Birla Institute of Technology,Mesra. rock.senthilkumar@gmail.com 

December 27, 2010, 14:34 

#20 
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,894
Rep Power: 26 
Take a look at the tutorials :)


Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
BC for rhoSimpleFoam  uli_u  OpenFOAM Running, Solving & CFD  77  April 4, 2013 11:28 
RhoSimpleFoam  maritozzo  OpenFOAM Running, Solving & CFD  1  April 30, 2010 18:18 
RhoSimpleFoam  jphandrigan  OpenFOAM Running, Solving & CFD  18  March 29, 2009 11:05 
RhoSimpleFoam negative pressure  gzink  OpenFOAM Running, Solving & CFD  10  June 4, 2007 05:35 
RhoSimpleFoam  luca  OpenFOAM Running, Solving & CFD  0  August 22, 2005 12:26 