CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

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

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By palazi88

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   September 18, 2013, 12:28
Default Fully explanation of BuoyantBoussinesq***Foam and Buoyant***Foam solvers
  #1
New Member
 
Karol Kamiński
Join Date: Dec 2012
Posts: 9
Rep Power: 13
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:
[1] http://openfoamwiki.net/index.php/Bu...sinesqPisoFoam
[2] http://openfoamwiki.net/index.php/IcoFoam
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:
"-fvm::Sp(fvc::div(phi),T)",
and why in Pimple case this part doesn't exist?

6. What does below given function:
-in BuoyantBoussinesqSimpleFoam:
"adjustPhi(phi,U,p_rgh)"

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
Naaren likes this.

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

Reply

Tags
boussinesqsimplefoam, buoyantsimplefoam


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 Off
Pingbacks are On
Refbacks are On



All times are GMT -4. The time now is 05:39.