You must either move the
g
You must either move the
g*alpha*(TTRef) term into the UEqn construction statement fvVectorMatrix UEqn ... or also include the term in the flux prediction by including it in U = UEqn.H()/A; and remove it from the momentum correction statement U = fvc::grad(p)/A + (g*alpha*(TTRef))/A; 
Christian, have you had any lu
Christian, have you had any luck? I have been thinking about a boussinesq solver, but haven't had enough time to write it. Does yours work and if so, what tricks did you use to get it up and running. Thanks

Hi,
we also want to build a
Hi,
we also want to build a boussinesqapproximation. You wrote your solver in the version 1.2. Am I right? We changed your idea, so it could work in 1.3. But we had a problem with the line: g*alpha*(TTRef) what type is TRef and T and where you definded it? Thanks Martin 
Hi,
also trying to get an i
Hi,
also trying to get an incompressible boussinesqapprox. solver running ... I got something working, basically what Christian has posted, with the corrections by Henry. Works mostly, but sometimes I get problems at boundaries (using a zeroGradient B.C. for pressure) I thought I needed a pressure boundary condition, and implemented one similar to the existing wallBuoyantPressure  just computing the pressure gradient as g*beta*(TTRef) Also at first glance seemed to work, gives a smooth looking pressure field, but then I realized strange vectors and pressures at the pressure reference cell, finally calculations diverge. Fixing pressure at some boundary, instead of using pEqn.setReference(pRefCell, pRefValue), works. Not setting a pressure reference the pressure solver (AMG or ICCG) diverges. almost forgot  using OpenFOAM 1.3 Any hint would be greatly appreciated... Thank you ! Thomas 
For the lazy ones out there, I
For the lazy ones out there, I have written a Boussinesq approximation incompressible buoyant flow solver with constant material properties. You can get it from the link below, including a tutorial case:
boussinesqBuoyantFoam Currently, it is laminar and quite easy to understand, it will swallow the wall bouyant pressure b.c. and I think it's a pretty decent example. Extensions to turbulent, real material properties etc are straightforward but uninteresting (for me!). Enjoy, Hrv 
This link is dead.
This link is dead.

Stupid, sorry: boussinesqBuoya

Hrvoje,
From one of the laz
Hrvoje,
From one of the lazy ones: Your implementation suffers the same problems (mass conservation fluxes at walls not parallel to gravity and not at reference temperature). You can see it if you make your cavity hot at bottom, cold on top, and adiabatic sidewalls. A pressure B.C. computing pressure gradient as g*beta*(TTRef), but without contribution to mass fluxes, works. There is also no need to have an extra density field  which for me is the main point of the Boussinesq approximation. regards, Thomas 
Hrvoje,
we tried to get your
Hrvoje,
we tried to get your Boussinesq approximation incompressible buoyant flow solver, but we get the following message The page cannot be found We wait your help... Sonia 
Sorry, probably got deleted: t
Sorry, probably got deleted: try it from SVN:
http://openfoamextend.svn.sourceforge.net/viewvc/openfoamextend/trunk/Core/Ope nFOAM1.4.1dev/applications/solvers/heatTransfer/boussinesqBuoyantFoam/ Hrv 
Hi,Hrvoje
Thank you for your
Hi,Hrvoje
Thank you for your help, We can download your files. We start working on this case. Sonia 
Hi,
somebody created a bous
Hi,
somebody created a boussinesq approximation solver with turbulent already and can share it with me? Thanks a lot. Bye 
Yes: have a look at:
http:/

Hi Hrvoje,
this solver is f
Hi Hrvoje,
this solver is for buoyancydriven laminar flow. I like to try the boussinesq approximation with turbulent flow. thanks 
Hi Thomas,
I just wrote Wik
Hi Thomas,
I just wrote Wiki page of BoussinesqApproximation solver for turbulent flow. http://openfoamwiki.net/index.php/Co...yantSimpleFoam Also I wrote Wiki page of tutorial case using this solver. http://openfoamwiki.net/index.php/Ma...onditionedRoom Bye! Masashi 
Hi Masashi,
thanks a lot! A
Hi Masashi,
thanks a lot! Arigato Bye 
Hi Masashi,
nice work! I like
Hi Masashi,
nice work! I like your tutorial with the makefile and the python meshing :) Fabian 
Hi Masashi,
I have a quest
Hi Masashi,
I have a question about your implementation of the temperature equation. As I get it, you add a defined heat flux to the equation, which is activated by the internal field of Q!? I tried a more general approach by defining a heat flux b.c. using: const boussinesq::RASModel& RAS = db().lookupObject<boussinesq::rasmodel>("RASProper ties"); scalarField nuEffWall = RAS.nuEff()().boundaryField()[patch().patch().index()]; scalarField alphaEffWall = nuEffWall /Prt; gradient()=(heatFlux_/(Cp0*rho0*alphaEffWall)); Based on your added b.c. one could use: wall { type fixedHeatFlux; heatFlux 5.0; gradient uniform 200; } Though I am not sure yet, how to validate this b.c. with a really simple setup!? And right now, it is a static Prt, Cp0 and rho implementation. Does anyone know, how to get those value by a dictionary? I got one more question about the wall function. Is it correct, that as long as one uses a constant Pr model is used, the wall effects are all included in the turbulence model and no separate treatment for the temperature nearwall behavior is needed? Fabian 
Hi Fabian,
It seems that f
Hi Fabian,
It seems that fixedHeatFluxFvPatchScalarField.[C,H] are not attached properly in your previous post. So please attach them again! Masashi 
oh
http://www.cfdonline.c

All times are GMT 4. The time now is 19:35. 