# Adding Boussinesq Approximation to multiphaseEulerFoam?

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

 March 18, 2014, 10:38 Adding Boussinesq Approximation to multiphaseEulerFoam? #1 New Member   Dominik Schmidt Join Date: Mar 2014 Posts: 9 Rep Power: 3 Hello, 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. TEqn.H: Code: ``` fvScalarMatrix TEqn ( fvm::ddt(T) + fvm::div(phi, T) - fvm::laplacian(DT, T) ); TEqn.relax(); TEqn.solve(); 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 Code: ```phiHbyAs[phasei] += rAlphaAUfs[phasei] *( fluid.surfaceTension(phase)*mesh.magSf()/phase.rho() + /*(g & mesh.Sf())*/ fvc::interpolate(rhok)*(g & mesh.Sf())/phase.rho() );``` ... pEqn.H - lines 235-241 Code: ```phase.U() = HbyAs[phasei] + 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 Cryogenics, compressible multiphase and heat transfer solver Code: ```{ volScalarField rhoCp = fluid.rho()*fluid.Cp(); surfaceScalarField kByCpf = fvc::interpolate(fluid.kappa()/rhoCp + sgsModel->nut()/fluid.Prt()); fvScalarMatrix TEqn ( fvm::ddt(T) + fvm::div(phi, T) - fvm::laplacian(kByCpf, T) ); TEqn.relax(); TEqn.solve(); 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 boussinesqSmall.jpg Setup: 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. \\EDIT: 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 ! Last edited by dschmidt; March 19, 2014 at 05:36.