CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Questions about buoyantPimpleFoam and rhoPimpleFoam (http://www.cfd-online.com/Forums/openfoam-solving/105364-questions-about-buoyantpimplefoam-rhopimplefoam.html)

Mojtaba.a July 28, 2012 15:09

Questions about buoyantPimpleFoam and rhoPimpleFoam
 
Hi Foamers.
I'm new to openFOAM. I have some problems understanding the descriptions of two solvers which is mentioned in user's guide. as you can see in this link:

http://www.openfoam.com/features/standard-solvers.php

The descriptions for buoyantPimpleFoam and rhoPimpleFoam are as follows:

-buoyantPimpleFoam: Transient solver for buoyant, turbulent flow of compressible fluids for ventilation and heat-transfer.

-rhoPimpleFoam: Transient solver for laminar or turbulent flow of compressible fluids for HVAC and similar applications.

1) My first question is that isn't it wrong to say "Compressible Fluids"? as i know we do not have any term as compressible fluids, instead we have "Compressible Flow". so what does it mean? does it mean that these solvers are developed for solving flows which their Mach number is above 0.3? and so we can not solve incompressible flows?

2) My next question follows the first. We do know that must of the HVAC applications take place in low velocities and so in low Mach numbers. Mostly below 0.3. So we can treat them as incompressible flows. If buoyantPimpleFoam and rhoPimpleFoam are designed for compressible flows, so how is it possible for them to be a good choice for HVAC applications?

owayz July 28, 2012 21:20

Quote:

1) My first question is that isn't it wrong to say "Compressible Fluids"? as i know we do not have any term as compressible fluids, instead we have "Compressible Flow". so what does it mean? does it mean that these solvers are developed for solving flows which their Mach number is above 0.3? and so we can not solve incompressible flows?
Well, it is just a matter of understanding. If you are dealing with low velocities (Ma < 0.3) but considering no change of temperature in the flow, you can consider your flow to be in-compressible. But actually the Ma < 0.3 condition comes from the fact that density changes are less than 5 % (I hope I am not wrong about it). In a temperature driven flow, density can change significantly with change in temperature and we might not have an in-compressible flow. I think for the same reason all the in-compressible flow solvers doesn't solve energy equation (by Default) in solution process, but all the compressible solvers solve the energy equation, because its important for in-compressible flows. Precisely these solvers can be used to solve for low speed flows, if we have some heated wall, or some other kind of heat transfer in the flow.
Quote:

2) My next question follows the first. We do know that must of the HVAC applications take place in low velocities and so in low Mach numbers. Mostly below 0.3. So we can treat them as incompressible flows. If buoyantPimpleFoam and rhoPimpleFoam are designed for compressible flows, so how is it possible for them to be a good choice for HVAC applications?
bouyantPimpeFoam is a solver for temperature gradient driven flow. rhoPimpleFoam is a general unsteady compressible solver with pimple (piso + simple) algorithm. Pimple actually gives you more flexibility with the time step (compared to piso algorithm). I have also seen somewhere someone calling pimple as sudo transient algorithm. But it doesn't negate the fact that rhoPimpleFoam is a good solver for compressible un-steady flow simulations.
I hope this explanation will help you.
Regards,
Awais

Mojtaba.a July 29, 2012 04:25

Thank you very much for your answer Awais. it helps alot ~
Quote:

Originally Posted by owayz (Post 374144)
Well, it is just a matter of understanding. If you are dealing with low velocities (Ma < 0.3) but considering no change of temperature in the flow, you can consider your flow to be in-compressible. But actually the Ma < 0.3 condition comes from the fact that density changes are less than 5 % (I hope I am not wrong about it). In a temperature driven flow, density can change significantly with change in temperature and we might not have an in-compressible flow. I think for the same reason all the in-compressible flow solvers doesn't solve energy equation (by Default) in solution process, but all the compressible solvers solve the energy equation, because its important for in-compressible flows. Precisely these solvers can be used to solve for low speed flows, if we have some heated wall, or some other kind of heat transfer in the flow.

1) Well my case is an HVAC application which we have heat transfer in it and so energy equation must be solved for it. Mach number is so low at about the rate of 5e-3. Because of my low Mach number, flow must be treated as incompressible. A question arises that now i must use incompressible solvers and implement energy equation in them or is it better to use buoyantPimpleFoam or rhoPimpleFoam?

2) As i said my case is incompressible and so density remains constant. As you know these two solvers, also solve for "rho" while running, but in some cases like in this case when i use these solvers there is no iterations for "rho" and its always 0. Like this:

diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0

Does it mean that solver has detected that my case is incompressible and so it doesn't solve for "rho"? if there is a condition like this, where is it checked in source of the program? of course while running there is an output for rhoPimpleFoam in terminal which shows rho max/min, like this:

rho max/min : 1.186703471 0.9931701431

But there is nothing like this in buoyantPimpleFoam.
Quote:

bouyantPimpeFoam is a solver for temperature gradient driven flow. rhoPimpleFoam is a general unsteady compressible solver with pimple (piso + simple) algorithm. Pimple actually gives you more flexibility with the time step (compared to piso algorithm). I have also seen somewhere someone calling pimple as sudo transient algorithm. But it doesn't negate the fact that rhoPimpleFoam is a good solver for compressible un-steady flow simulations.
Awais
So both buoyantPimpleFoam and rhoPimpleFoam use PIMPLE algorithm. I use buoyant PimpleFoam mostly because my governing equations include buoyancy terms too.

Regards,
Mojtaba

owayz July 30, 2012 08:31

Answer to your first question: If I remember there is some tutorial about icoFoam which actually goes step by step about the implementation of energy equation in icoFoam. It is up to you, how you want to approach the problem. If in-compressible solution suits you go for it.
Answer to you second question: If you look into the fvSolution in system directory you will find actually rho is not solved (or calculated) using an iterative method. I think diag suggests that row is computed directly from a diagonal Matrix (but that is just a guess), I am not sure about the implementation.
Also I see that difference between your rhomin and rhomax is significant (greater that 5% relative to rhomax). If that's what your case is reporting (after significant convergence) than may be you should check your settings again, you really might need a compressible flow solution to your problem.
Regards,
Awais

Mojtaba.a July 30, 2012 14:59

Quote:

Originally Posted by owayz (Post 374344)
Answer to your first question: If I remember there is some tutorial about icoFoam which actually goes step by step about the implementation of energy equation in icoFoam. It is up to you, how you want to approach the problem. If in-compressible solution suits you go for it.

Yea i have checked out that tutorial. I used it and I could implement energy equation into pisoFoam. it works fine ~
Quote:

Answer to you second question: If you look into the fvSolution in system directory you will find actually rho is not solved (or calculated) using an iterative method. I think diag suggests that row is computed directly from a diagonal Matrix (but that is just a guess), I am not sure about the implementation.
Also I see that difference between your rhomin and rhomax is significant (greater that 5% relative to rhomax). If that's what your case is reporting (after significant convergence) than may be you should check your settings again, you really might need a compressible flow solution to your problem.
well in fvSolution setting for rho is as follows:

"rho.*"
{
solver PCG;
preconditioner DIC;
tolerance 0;
relTol 0;
}

can you explain more about diagonal matrix? I have now idea about it.

owayz July 31, 2012 15:08

Quote:

Originally Posted by Mojtaba.a (Post 374404)

well in fvSolution setting for rho is as follows:

"rho.*"
{
solver PCG;
preconditioner DIC;
tolerance 0;
relTol 0;
}

can you explain more about diagonal matrix? I have now idea about it.

Well my understanding is that no extra equation is being solved for rho and rho gets specified because of the ideal gas equation (P=rho*R*T). What you have shown above means that rho will be solved using (PCG) pre-conditioned Conjugate Gradient Method and DIC will be used as a preconditioner. Unfortunately I don't know enough about fvSchemes and fvSolution. May be someone else could answer your question properly.

Regards,
Awais

Mojtaba.a August 1, 2012 04:50

Quote:

Originally Posted by owayz (Post 374649)
Well my understanding is that no extra equation is being solved for rho and rho gets specified because of the ideal gas equation (P=rho*R*T). What you have shown above means that rho will be solved using (PCG) pre-conditioned Conjugate Gradient Method and DIC will be used as a preconditioner. Unfortunately I don't know enough about fvSchemes and fvSolution. May be someone else could answer your question properly.

Regards,
Awais

That makes sense.
Thanks again for your answers.


All times are GMT -4. The time now is 06:18.