CFD Online Logo CFD Online URL
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Programming & Development

How to manually add Boussinesq Approximation to the momentum equation of a solver?

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree2Likes
  • 1 Post By chymalaia
  • 1 Post By Fabio1893

LinkBack Thread Tools Search this Thread Display Modes
Old   November 17, 2020, 16:58
Post How to manually add Boussinesq Approximation to the momentum equation of a solver?
New Member
Join Date: Nov 2019
Location: Brazil
Posts: 6
Rep Power: 5
chymalaia is on a distinguished road
Hello everyone,

Since there are no predefined solvers with those charcteristics, I'm trying to construct one wich uses VOF (it's a 2 liquid phases problem), solves for temperature and also considers buoyancy through the Boussinesq approximation (wich causes less processing effort than considering a compressible flow). For that I decided to modify the interFoam solver, having already added (to a copy of it) the energy equation by following some tutorials and threads in this forum.

My problem now is with the Boussinesq aproximation. For those who don't know it, the approximation basically uses one constant property of the liquid (Beta), gravity (g) the temperature (T) and one reference temperature (T0), as follows:

[...other terms of momentum equation] + (1 - Beta*(T - T0))*g

So if I'm correct I'll have to add that to the momentum equation, at UEqn.H. The problem is I don't know how to do that, mainly how to to define Beta to use it in that file and the notation to write that in the momentum equation.

Does anyone know where I could find information that would help me comprehend that? Until now, I have not found anything that suited...

Thanks in advance for any help.

CharIie likes this.

Last edited by chymalaia; November 17, 2020 at 20:02.
chymalaia is offline   Reply With Quote

Old   January 23, 2021, 05:37
New Member
Join Date: Jan 2021
Posts: 10
Rep Power: 4
Fabio1893 is on a distinguished road
Hello Rosivaldo,

if you need beta as a constant, you can simply define it in your UEqn.H file. It might be not the best way to do that, since you will have to change the value in your source code and recompile, if you want to use a new fluid, but it works. It is also possible to interpolate beta from a table, dependent on the temperature.

chymalaia likes this.
Fabio1893 is offline   Reply With Quote

Old   February 5, 2021, 09:07
Andrea Di Ronco
Join Date: Nov 2016
Location: Milano, Italy
Posts: 55
Rep Power: 8
Diro7 is on a distinguished road

assuming you are talking about the Foundation OpenFOAM versions, Boussinesq-based solvers where removed starting from version 7.
However you can still use version 6, or at least browse the source code.
Look for the buoyantBoussinesqPimpleFoam solver.

From UEqn.H
    if (pimple.momentumPredictor())
                  - ghf*fvc::snGrad(rhok)
                  - fvc::snGrad(p_rgh)

The red line is the one you are looking for. The rhok field stands for the relative linearised density variation. It is updated in TEqn.H:
rhok = 1.0 - beta*(T - TRef);
Beta and TRef are simply read from the transportProperties file.
I'm not familiar with VOF solvers, but this should be a good starting point.
To understand the implementation, I suggest this nice blog entry:

Hope it helps!

Diro7 is offline   Reply With Quote


boussinesq approximation, boussinesq assumption, buoyancy, buoyancy driven flow, momentum equation

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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

Similar Threads
Thread Thread Starter Forum Replies Last Post
add a pressure drop term in the momentum equation a.lone FLUENT 0 July 3, 2019 06:48
How to add a wall momentum source to a solver boeleman OpenFOAM Programming & Development 1 February 6, 2013 19:32
error message cuteapathy CFX 14 March 20, 2012 06:45
Derivation of Momentum Equation in Integral Form Demonwolf Main CFD Forum 2 October 29, 2009 19:53
What is the Boussinesq Term in Momentum Equation CFDtoy Main CFD Forum 0 August 11, 2008 09:56

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