CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   BoussinesqApproximation for incompressible flow (https://www.cfd-online.com/Forums/openfoam-solving/58272-boussinesqapproximation-incompressible-flow.html)

 henry July 12, 2005 10:30

You must either move the g

You must either move the

g*alpha*(T-TRef)

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

 ccless June 9, 2006 16:21

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

 mkk August 2, 2006 09:36

Hi, we also want to build a

Hi,

we also want to build a boussinesq-approximation.
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*(T-TRef)
what type is TRef and T and where you definded it?

Thanks Martin

 tehache February 16, 2007 12:34

Hi, also trying to get an i

Hi,

also trying to get an incompressible boussinesq-approx. 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*(T-TRef)
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

 hjasak March 17, 2007 15:23

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

 rafal March 17, 2007 18:19

 hjasak March 17, 2007 19:26

Stupid, sorry: boussinesqBuoya

Stupid, sorry: boussinesqBuoyantFoam

Apologies,

Hrv

 tehache May 16, 2007 09:19

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*(T-TRef), 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

 gmc_salta March 7, 2008 09:01

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

Sonia

 hjasak March 7, 2008 13:36

Sorry, probably got deleted: t

Sorry, probably got deleted: try it from SVN:

http://openfoam-extend.svn.sourceforge.net/viewvc/openfoam-extend/trunk/Core/Ope nFOAM-1.4.1-dev/applications/solvers/heatTransfer/boussinesqBuoyantFoam/

Hrv

 gmc_salta March 10, 2008 06:47

Hi,Hrvoje Thank you for your

Hi,Hrvoje
We start working on this case.
Sonia

 tian August 13, 2008 09:41

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

 hjasak August 14, 2008 16:53

Yes: have a look at: http:/

 tian August 15, 2008 03:23

Hi Hrvoje, this solver is f

Hi Hrvoje,

this solver is for buoyancy-driven laminar flow. I like to try the boussinesq approximation with turbulent flow.

thanks

 imano August 15, 2008 05:14

Hi Thomas, I just wrote Wik

Hi Thomas,

I just wrote Wiki page of Boussinesq-Approximation 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

 tian August 15, 2008 05:46

Hi Masashi, thanks a lot! A

Hi Masashi,

thanks a lot! Arigato

Bye

 braennstroem August 15, 2008 08:02

Hi Masashi, nice work! I like

Hi Masashi,
nice work! I like your tutorial with the makefile and the python meshing :-)

Fabian

 braennstroem August 18, 2008 10:04

Hi Masashi, I have a quest

Hi Masashi,

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;

wall
{
type fixedHeatFlux;
heatFlux 5.0;
}

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 near-wall behavior is needed?

Fabian

 imano August 18, 2008 11:42

Hi Fabian, It seems that f

Hi Fabian,

It seems that fixedHeatFluxFvPatchScalarField.[C,H] are not attached