CFD Online Logo CFD Online URL
Home > Forums > OpenFOAM Running, Solving & CFD

Fully explanation of BuoyantBoussinesq***Foam and Buoyant***Foam solvers

Register Blogs Members List Search Today's Posts Mark Forums Read

LinkBack Thread Tools Display Modes
Old   September 18, 2013, 12:28
Default Fully explanation of BuoyantBoussinesq***Foam and Buoyant***Foam solvers
New Member
Karol Kamiński
Join Date: Dec 2012
Posts: 9
Rep Power: 4
palazi88 is on a distinguished road
Hi everyone!
In this thread I would like to finally clarify how BuoyantBoussinesq(Simple/Pimple)Foam and Buoyant(Simple/Pimple)Foam work (in 2.1.x version). Of course I've read carefully this pages:
but it didn't clear everything for me. So below you can find some questions:

1. Why in source code everywhere before "ghf" is "-", althought from [1]st page, in the final equation "g*rhok" is with "+" (not minus)?

2. What does "fvc::ddtPhiCorr(rAU,U,phi) do? (you can find it in i.e. pEqn.H in buoyantBoussinesqSimpleFoam)
I know, that in [2]nd page, there is small explanation:
"// adjusts the inlet and outlet fluxes to obey continuity, which is necessary for creating a well-posed // problem where a solution for pressure exists." but I totally can't understand it... Can someone explain it in simpler words and say why it is in this equation?

3. Why in pEqn.H there is written:
"U -= rAU*fvc::reconstruct( something/rAUf)"
Why can't we just write "U -= fvc::reconstruct(something) (I mean, without this strange manipulation: rAU*reconstruct(1/rAUf) ?

4. What exactly gives function "p_rghEqn.flux();" ?

5. In BuoyantSimleFoam and BuoyantBoussinesqSimpleFoam, in TEqn.H, what means addition:
and why in Pimple case this part doesn't exist?

6. What does below given function:
-in BuoyantBoussinesqSimpleFoam:

7. Why in energy equation for BuoyantPimpleFoam part "laplacian(kappaEff, T)" and viscous dissipation is neglected? It is neglected in compressible case, but why? I think that conduction still exist here in the same way like it exists in incompressible solver buoyantBoussinesqSimpleFoam.

8. And the final questions about BuoantPimpleFoam and pEqn.H :
-what does "rho=thermo.rho();" do?
If it calculates density from equation: rho=psi*p_rgh, why after that we have to update thermo.rho()? I understand that after recalculation of p_rgh, we have new p_rgh field, and the difference of new and old p_rgh field values and have influence on rho changing, but even if we update thermo.rho() with new p_rgh field values, in source code there is no line where after that we use this new, updated thermo.rho so... why do we calculate it? If pEqn.H loops are higher than 1, in next second loop rho is again calculated in first line with "rho=thermo.rho" command, so why did we need this psi*d(p) update for rho during previous loop?
And next question, why at the end of pEqn.H rho is again calculated from continuity conservation:
" #include "rhoEqn.H" ?
Or maybe first line "rho=thermo.rho();" is not a calculation of rho for new loop, but it just overwrite new "rho" field from "thermo.rho" field which is then updated during running of loop? Then it makes sense and this last question is solved.

Thanks for everyone, who will even try to answer for even one of this questions

Last edited by palazi88; September 18, 2013 at 13:49.
palazi88 is offline   Reply With Quote


boussinesqsimplefoam, buoyantsimplefoam

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

All times are GMT -4. The time now is 15:55.