
[Sponsors] 
May 14, 2010, 10:34 
No convergence with buoyantBoussinesqPisoFoam

#1 
Senior Member
jeff osborne
Join Date: Mar 2010
Posts: 108
Rep Power: 8 
Hello everyone,
I am having a ton of trouble trying to figure out how to use buoyantBoussinesqPisoFoam. For whatever reason I cannot get any convergence, my courant number skyrockets after a few intervals and my timestep is really low so I know that's not the problem. I was able to simulate my problem (simple heated plate in air) with buoyantPisoFoam without any problems but I can't figure out buoyantBoussinesqPisoFoam. I've read around other threads and they say the problem may be related to my 0/p file in that the program has a hard time compensating for hydrostatic conditions if I may all my initial conditions constant. My 0/p file looks like this: dimensions[0 2 2 0 0 0 0]; internalField uniform 0; boundaryField { heatedPlate { type buoyantPressure; rho rhok; value uniform 0; } atmosphere { type buoyantPressure; rho rhok; value uniform 0; } frontAndBack { type empty; } } Any help would be really appreciated! 

May 15, 2010, 22:35 

#2 
Senior Member
jeff osborne
Join Date: Mar 2010
Posts: 108
Rep Power: 8 
Does anyone have any suggestions for this? I've been dealing with this problem for a while and would love to find a solution to it.
Thanks in advance! 

May 15, 2010, 23:08 

#3 
Senior Member
Jiang
Join Date: Oct 2009
Location: Japan
Posts: 186
Rep Power: 9 
Dear jeff osborne,
You must describe your problem in detail, otherwise nobody can understand you. You'd better give some picture about your problem, domain or boundary . If your problem have an inlet and outlet, then in outlet you must give an distribution for pressure like this : p0g*z. in OpenFOAM's buoyant solver, the pressure have been stratifacated. 

May 16, 2010, 14:51 

#4 
Senior Member
jeff osborne
Join Date: Mar 2010
Posts: 108
Rep Power: 8 
Hi Jiang,
Sorry about that. I am trying to simulate a heated plate in atmosphere. The bottom of my CV is the heated plate at 400K and the sides and top are all an atmosphere patch. In that sense they are all outlet patches except for the heated plate. What is the boundary condition format for specifing a pressure distribution? This is what my 0/p file looks like at the moment : dimensions [0 2 2 0 0 0 0]; internalField uniform 0; boundaryField { heatedPlate { type buoyantPressure; rho rhok; value uniform 0; } topatmosphere { type buoyantPressure; rho rhok; value uniform 0; } sideatmosphere { type buoyantPressure; rho rhok; value uniform 0; } frontAndBack { type empty; } } Also, the fluid I am trying to simulate is air at 300K, so does that mean for the pressure BCs instead of putting "0" as the value I would put 87274 (101325kPa/1.161kg/m^3, Patmos/density). Also, I read elsewhere that I would need to initialize the pressure field, how do I do that? Thanks for the help and sorry for the stupid questions, I'm really new to OF and to CFD in general. Thanks! 

May 17, 2010, 03:12 

#5 
Senior Member
Jiang
Join Date: Oct 2009
Location: Japan
Posts: 186
Rep Power: 9 
Dear jeff osborne,
"for the pressure BCs instead of putting "0" as the value I would put 87274 (101325kPa/1.161kg/m^3, Patmos/density). ", This is not right. In the 0/p file, the pressure is a relative pressure, which is (pp0)/density. so the defalt 0 is OK ,don't need to change to 87274. Second , buoyantPressure is mostly used for wall , whick will apropriately set pressure gradient in the wall. I think for outlet buoyantPressure is not good. http://www.cfdonline.com/Forums/ope...implefoam.html eugene Senior Member Eugene de Villiers Join Date: Mar 2009 Posts: 604 Rep Power: 6 Hi Andrea, I suggest you not use fixedValue for pressure as outlet unless it is perpendicular to the direction of gravity. In the new solvers, p = P  pRef, so p will be stratified. Using a fixed value outlet will give rather odd results. There is a new boundary called uniformDensityHydrostaticPressure that will do a better job. Eugene said "I suggest you not use fixedValue for pressure as outlet unless it is perpendicular to the direction of gravity. In the new solvers, p = P  pRef, so p will be stratified. Using a fixed value outlet will give rather odd results. There is a new boundary called uniformDensityHydrostaticPressure that will do a better job. " So you can try this boundary condition. in my simylation, I have a inlet and outlet, I just set a distribution p0g*z for outlet to make the pressure stratified. This is my pressure picture. 

May 17, 2010, 11:47 

#6 
Senior Member
jeff osborne
Join Date: Mar 2010
Posts: 108
Rep Power: 8 
Hello Jiang,
Thanks for the help. I've tried changing my BCs in my p file to what you suggested, not 100% sure on the format though. Perhaps you could take a look: dimensions [0 2 2 0 0 0 0]; internalField uniform 0; boundaryField { heatedPlate { type buoyantPressure; rho rhok; value uniform 0; } topatmosphere { type buoyantPressure; rho rhok; value uniform 1.138941; //rho*g*h } leftsideatmosphere { type uniformDensityHydrostaticPressure; rho 1.161; pRefValue 101325; pRefPoint (0 0 0); value $internalField; } rightsideatmosphere { type uniformDensityHydrostaticPressure; rho 1.161; pRefValue 101325; pRefPoint (0.1 0 0); value $internalField; } frontAndBack { type empty; } } When I do this I still don't get the nice pressure stratification like you do for my initial condition. Attached is also a picture of my initial pressure field, do I need to initialize my pressure field/how do I do that? Thanks a lot for the help. J 

May 18, 2010, 21:28 

#7 
Senior Member
Jiang
Join Date: Oct 2009
Location: Japan
Posts: 186
Rep Power: 9 
Dear jeff osborne,
Acoording to my experience , initial value is so important, but boundary condition is very is important. In my case, I juse give an 0 initial value in the whole field for pressure, and it will ajust very quickly. If you want to initial your field using a good evaluated, there is a utility called "funkySetFields" in the form, you can search it. This utility can set an good value for any field variable using an function. Good luck! 

May 28, 2010, 07:18 

#8 
Member
Sabin Ceuca
Join Date: Mar 2010
Location: Munich
Posts: 42
Rep Power: 8 
Hi there,
i have a question for "panda" how do you initialize a pressure field in order to have pressure layers? Greatings 

Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Convergence of CFX field in FSI analysis  nasdak  CFX  2  June 29, 2009 01:17 
Problems with convergence with an easy system  franzdrs  Main CFD Forum  0  June 15, 2009 18:17 
increasing mesh quality is leading to poor convergence  tippo  CFX  2  May 5, 2009 10:55 
Defect correction and convergence  ganesh  Main CFD Forum  4  June 30, 2006 14:20 
Convergence problems  Chetan  FLUENT  3  April 15, 2004 19:13 