CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   No convergence with buoyantBoussinesqPisoFoam (https://www.cfd-online.com/Forums/openfoam-solving/76112-no-convergence-buoyantboussinesqpisofoam.html)

ozzythewise May 14, 2010 11:34

No convergence with buoyantBoussinesqPisoFoam
 
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!

ozzythewise May 15, 2010 23:35

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!

panda60 May 16, 2010 00:08

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 : p0-g*z. in OpenFOAM's buoyant solver, the pressure have been stratifacated.

ozzythewise May 16, 2010 15:51

1 Attachment(s)
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!

panda60 May 17, 2010 04:12

1 Attachment(s)
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
(p-p0)/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.cfd-online.com/Forums/ope...implefoam.html
eugene
Senior Member

Eugene de Villiers
Join Date: Mar 2009
Posts: 604
Rep Power: 6 http://www.cfd-online.com/Forums/ima...tation_pos.gif


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 p0-g*z for outlet to make the pressure stratified.
This is my pressure picture.

ozzythewise May 17, 2010 12:47

1 Attachment(s)
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

panda60 May 18, 2010 22:28

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!

sabin.ceuca May 28, 2010 08:18

Hi there,
i have a question for "panda" how do you initialize a pressure field in order to have pressure layers?
Greatings


All times are GMT -4. The time now is 07:54.