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/)
-   -   BoussinesqApproximation for incompressible flow (http://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

U -= fvc::grad(p)/A + (g*alpha*(T-TRef))/A;

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

This link is dead.
 
This link is dead.

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
We wait your help...

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
Thank you for your help, We can download your files.
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:/
 
Yes: have a look at:

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

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,

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 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
properly in your previous post. So please attach them again!

Masashi

braennstroem August 18, 2008 13:21

oh http://www.cfd-online.c
 
oh

http://www.cfd-online.com/OpenFOAM_D...hment_icon.gif fixedHeatFluxFvPatchScalarField.C
http://www.cfd-online.com/OpenFOAM_D...hment_icon.gif fixedHeatFluxFvPatchScalarField.H


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