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

Adding Boussinesq Approximation to multiphaseEulerFoam?

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

Like Tree1Likes
  • 1 Post By dschmidt

LinkBack Thread Tools Display Modes
Old   March 18, 2014, 10:38
Default Adding Boussinesq Approximation to multiphaseEulerFoam?
New Member
Dominik Schmidt
Join Date: Mar 2014
Posts: 11
Rep Power: 5
dschmidt is on a distinguished road

I'm quite new to openFoam, but I'm trying to implement the Boussinesq approximation into the multiphaseEulerFoam Solver (OF 2.2.x).

My first step was to add a simple temperature-equation for the hole system, including the calculation of rhok, as in other Boussinesq solvers.

       fvScalarMatrix TEqn
                + fvm::div(phi, T)
                - fvm::laplacian(DT, T)
        rhok = 1.0 - beta*(T - TRef);
As far as I could see, the gravity term is dealt within the pressure-equation, though I only modified two lines of code:

pEqn.H - lines 85-89
phiHbyAs[phasei] +=
       + /*(g & mesh.Sf())*/      fvc::interpolate(rhok)*(g & mesh.Sf())/phase.rho()                   

pEqn.H - lines 235-241
phase.U() =
   + fvc::reconstruct
       rAlphaAUfs[phasei]*/*(g & mesh.Sf())*/ fvc::interpolate(rhok)*(g & mesh.Sf())/phase.rho()
      + rAlphaAUfs[phasei]*mSfGradp/phase.rho()  
Finally, in multiphaseEulerFoam.C I placed the "#include TEqn.H" right after the UEqn.

So my first question is, if this implementation makes sense or am I missing something important?

I also made some modifications to TEqn based on
volScalarField rhoCp = fluid.rho()*fluid.Cp();

surfaceScalarField kByCpf = fvc::interpolate(fluid.kappa()/rhoCp + sgsModel->nut()/fluid.Prt());      

 fvScalarMatrix TEqn 
 + fvm::div(phi, T)
 - fvm::laplacian(kByCpf, T) 



rhok = 1.0 - beta*(T - TRef);
And tried to validate the modified multiphsaeEulerFoam against buoyantBoussinesqPimpleFoam, but as you can see in the picture, the temperature evolution is different (looks like lower Rayleigh Nr. with mod.MultiphaseSolver?), and so the velocities are different, too.

left: buoyantBoussinesqPimpleFoam | right: multiphaseEulerFoam-Boussinesq
Fluid: Air (rho: 1.205; beta: 3.43e-03; Pr/Prt 0.71, nu: 15.11e-6; Cp: 1.005, kappa(multiphase): 0.0257)
T_left: 303 K
T_right: 283 K
TRef: 293 K

I believe/hope the reason can be found in the different TEqn-implementations, rather then in the PEqn, but would be glad if someone could support this assumption, and suggests an easy way to validate the multiphaseBoussinesq-version.

My first idea would be to edit the TEqn of PimpleBoussinesq Solver so it matches the TEqn with fixed diffusion coeff. (DT) and compare the results with the modified multiphaseSolver.

After implementing the same TEqn in both solvers I couldn't see much difference. Then I remembered that multiphaseEulerFoam
always has a residual phase fraction for overcoming the problems with non-phase intensive handling of the momentum equations.
So I edited the transport properties for the second phase (alpha uniform 0) to match the ones of the "alpha uniform 1" phase (air).
After that the temperature distribution looks more like the one with buoyantBoussinesqPimpleFoam, but the velocities are still lower
with the modified multiphaseSolver.
So the differences seem to be related to the fact, that multiphaseEulerFoam is not designed for dealing with a single phase system ?

Thanks !
tom_flint2012 likes this.

Last edited by dschmidt; March 19, 2014 at 05:36.
dschmidt is offline   Reply With Quote

Old   January 16, 2017, 17:40
Default Why no change to UEqns.h
New Member
Thomas Flint
Join Date: Jan 2016
Posts: 19
Rep Power: 3
tom_flint2012 is on a distinguished road
I have implemented your approach for the boussinsq approximation in multiphaseeulerfoam.

Please may you explain to me why you don't add a term in the UEqns.h file. Your advice would be greatly appreciated.

Best regards,



My sincere apologies, I've just seen the peqn.h file again where the ueqns are modified. Apologies for any inconvenience.

Best regards,


Last edited by tom_flint2012; January 17, 2017 at 04:10.
tom_flint2012 is offline   Reply With Quote


Thread Tools
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 On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
InterFoam with boussinesq approximation sinusmontis OpenFOAM Running, Solving & CFD 1 November 24, 2016 21:07
Boussinesq approximation, help please! engahmed FLUENT 0 May 20, 2010 11:25
Question on boussinesq approximation panos_metal FLUENT 1 January 11, 2010 12:18
boussinesq approximation jamal FLUENT 2 March 25, 2008 09:57
Boussinesq approximation again Gabriel Main CFD Forum 3 May 11, 2000 09:24

All times are GMT -4. The time now is 09:18.