CFD Online Discussion Forums

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

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 11: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 14: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 17:19

This link is dead.
 
This link is dead.

hjasak March 17, 2007 18: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 08: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 12: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 05: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

imano August 19, 2008 07:45

Hi Fabian, Thank you for at
 
Hi Fabian,

Thank you for attaching your code again.

As a matter of fact I have made fixed heat flux B.C. library like you have made,
but I intentionally remove heat flux B.C from the airConditionedRoom tutorial case
in order to decrease installation process like compiling addtional custom library.

However the fixed flux B.C. is more general and elegant in this tutorial indeed,
so I wrote a Wiki page of my fixed heat flux B.C. library and added an
option to use heat flux B.C. into airConditionedRoom tutorial case.

http://openfoamwiki.net/index.php/Contrib_wallHeatFlux
http://openfoamwiki.net/index.php/Ma...onditionedRoom

Please have a look at Wiki pages and source code for detail.

The Last question about the wall function:
The separate treatment for temperature might be needed indeed,
but currently I have no plan to implement them soon...
So I wish someone get started on them... http://www.cfd-online.com/OpenFOAM_D...part/happy.gif

Masashi

braennstroem August 19, 2008 13:24

Nice :-) Do you have a hint, a
 
Nice :-) Do you have a hint, about implementing it?

braennstroem August 19, 2008 13:24

... I mean the wall treatment.
 
... I mean the wall treatment.

christian November 4, 2008 06:12

In the code by Masashi, the wa
 
In the code by Masashi, the wall heat transfer is calculated as:
temperature gradient = q/(alpha_eff*Cp0*rho0)

Cp will not vary much with temperature, but density will change more than negligable for my case. What do you think, wouldn't it be better to express rho in terms of rho0, beta, g, T and T0 (Boussinesq approximation)?

Hope to have someones opinion.

Regards,
Christian Lindbäck

emilianyassenov November 17, 2008 03:56

Hi to all What is beta here
 
Hi to all

What is beta here?

can anyone tell me?

Emo

jeong November 17, 2008 04:35

Beta is the thermal expansion
 
Beta is the thermal expansion coefficient.

http://web.njit.edu/topics/Prog_Lang_Docs/html/FLUENT/fluent/fluent5/ug/html/nod e296.htm

emilianyassenov November 17, 2008 05:11

Hi Jeong Thanks for the qui
 
Hi Jeong

Thanks for the quick answer...
but i could not open your site...is it without dimension or?

thanks in advance!!

jeong November 17, 2008 07:26

Dear Emilian, The dimensio
 
Dear Emilian,

The dimension is [1/K].

You can check its dimension and value in the "/constant/transportProperties" file of the example directory.

http://www.engineeringtoolbox.com/ai...ies-d_156.html
http://en.wikipedia.org/wiki/Coeffic...rmal_expansion

Jeong

scurtu November 28, 2008 03:59

Dear Hrvoje, is the Boussin
 
Dear Hrvoje,

is the Boussinesq approximation solver
/OpenFOAM-1.4.1-dev/applications/solvers/heatTransfer/boussinesqBuoyantFoam/
compatible with OpenFOAM-1.5?
If not what modifications it request?

Nicoleta

hjasak November 28, 2008 05:38

I think it will work with no c
 
I think it will work with no changes - try to compile and see what happens.

There sound le no problems.

Enjoy.

Hrv

bintoro May 13, 2009 05:20

boussinesq approximation
 
Hi,
I am new to OpenFoam. I'd like to solve the problem of natural convection heat transfer in rod bundle that generating 200 kW of power. Is the boussinesq approximation solver enough for this case, since there will be two phase flow when boiling happen?

bintoro

prabhu July 15, 2009 03:54

hello Masashi,

I am trying to solve solidification problem and have written a code. Im using the wallHeatFlux BC for cooling the walls of the mould provided by you on the wiki page.

When the liquid starts to solidify, i see that the temperature at the walls become lower and goes negative. could u give any suggestions about how to overcome this problem.


All times are GMT -4. The time now is 01:36.