CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Multiphase Turbulence Models

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 11, 2015, 19:05
Default Multiphase Turbulence Models
  #1
New Member
 
Leonard Cassady
Join Date: Aug 2015
Posts: 14
Rep Power: 11
im_lenny is on a distinguished road
I am modeling a gas jet (air) flowing into a liquid volume. The jet is at the bottom of the water volume flowing up against gravity. I have been able to get stable solutions of a high speed air jet (Mach 0.4) flowing into the water using compressibleMultiphaseInterFoam. I used the oneEQEddy LES model for turbulence. I do not think that this is the best turbulence model for simulating the interaction of the jet and the water as the jet is not slowing down and expanding as quickly as it should - according to experimental data. From what I have read at: http://www.openfoam.org/version2.3.0/multiphase.php , the multiphase turbulence models used with the twoPhaseEulerFoam should better model the turbulence between the air and water.

My questions are: How do I know which turbulence model applies to the interface between the 2 phases? Are the twoPhaseEulerFoam turbulence models applicable to immiscible fluids? Is there a better LES model for this type of flow?

Thanks.
im_lenny is offline   Reply With Quote

Old   August 11, 2015, 23:49
Default
  #2
Senior Member
 
kmooney's Avatar
 
Kyle Mooney
Join Date: Jul 2009
Location: San Francisco, CA USA
Posts: 323
Rep Power: 18
kmooney is on a distinguished road
There are a couple of multiphase compatible turbulence models within this directory:

/src/TurbulenceModels/
(note the capitol 'T')

I just spend a few minutes looking through the source code and I honestly have no idea how you would call them (as opposed to the typical turb models. It appears to be identical in structure to the standard turbulence model class LES/RAS structure but with special treatment in things like the kEp model.

The 'documentation' on the OpenFOAM website explaining the implementation as well as pointing you to examples is inconsistent so no luck there:
http://www.openfoam.org/version2.3.0/multiphase.php

From what I can figure out if (in your createFields.H, see multiphaseEulerFoam solver) declare your turbulence model with an additional 'multiphaseSystem' as part of your constructor it will run with the multiphase supported turbulence model code instead of the standard models.

I believe that the kEp implementation does things like stop turbulent diffusion across interface cells (since VOF is an implied DNS/laminar model anyway).
kmooney is offline   Reply With Quote

Old   August 12, 2015, 09:51
Default Adjusting compressibleMultiphaseInterFoam
  #3
New Member
 
Leonard Cassady
Join Date: Aug 2015
Posts: 14
Rep Power: 11
im_lenny is on a distinguished road
Thanks kmooney,

I am new to OpenFoam and have not altered or looked inside the solver applications yet. I think that you are on the right track, but I found a different place in the twoPhaseEulerFoam.C file that might be key. That file has:

#include "PhaseCompressibleTurbulenceModel.H"

where the compressibleMultiphaseInterFoam.C file has:

#include "turbulenceModel.H"

It seems to me that I should change the compressibleMultiphaseInterFoam.C file to include the PhaseCompressibleTurbulenceModel and maybe add the line that you suggest in createFields.H as well.

To anybody that can help: How do I know if the turbulence or viscosity is being applied at the boundary between the phases rather than at the walls?

Last edited by im_lenny; August 12, 2015 at 11:21.
im_lenny is offline   Reply With Quote

Old   August 12, 2015, 12:16
Default
  #4
Senior Member
 
kmooney's Avatar
 
Kyle Mooney
Join Date: Jul 2009
Location: San Francisco, CA USA
Posts: 323
Rep Power: 18
kmooney is on a distinguished road
Good eye! That looks about right. As for the multiphase implementation, I might have been wrong about my previous statement. It looks like (at least for kEp) they multiplied everything by alpha:

Code:
    // Dissipation equation
    tmp<fvScalarMatrix> epsEqn
    (
        fvm::ddt(alpha, rho, epsilon_)
      + fvm::div(alphaRhoPhi, epsilon_)
      - fvm::Sp(fvc::ddt(alpha, rho) + fvc::div(alphaRhoPhi), epsilon_)
      - fvm::laplacian(alpha*rho*DepsilonEff(), epsilon_)
     ==
        C1_*alpha*rho*G*epsilon_/k_
      - fvm::SuSp(((2.0/3.0)*C1_ + C3_)*alpha*rho*divU, epsilon_)
      - fvm::Sp(C2_*alpha*rho*epsilon_/k_, epsilon_)
      + epsilonSource()
    );
Code:
    // Turbulent kinetic energy equation

    tmp<fvScalarMatrix> kEqn
    (
        fvm::ddt(alpha, rho, k_)
      + fvm::div(alphaRhoPhi, k_)
      - fvm::Sp(fvc::ddt(alpha, rho) + fvc::div(alphaRhoPhi), k_)
      - fvm::laplacian(alpha*rho*DkEff(), k_)
     ==
        alpha*rho*G
      - fvm::SuSp((2.0/3.0)*alpha*rho*divU, k_)
      - fvm::Sp(alpha*rho*epsilon_/k_, k_)
      + kSource()
    );
Seems a bit strange...does that mean that where alpha=0, k=epsilon=0 too? that doesn't make much sense at first glance.
kmooney is offline   Reply With Quote

Old   September 4, 2015, 18:14
Default twoPhaseEulerFoam Update
  #5
New Member
 
Leonard Cassady
Join Date: Aug 2015
Posts: 14
Rep Power: 11
im_lenny is on a distinguished road
I have been learning about the EulerFoam solvers. It is an Euler-Euler solver rather than a VOF type of solver. This is why the turbulence models do not transfer over to the InterFoam solvers.

I am trying to get the twoPhaseEulerFoam solver up and running with a 150 m/s gas flowing into stagnant water. The solver crashes if the gas velocity gets much larger than 10 m/s. Has anyone got twoPhaseEulerFoam to run with high gas velocities?
im_lenny is offline   Reply With Quote

Old   December 16, 2016, 22:29
Default
  #6
New Member
 
Shuai Yuan
Join Date: Nov 2016
Posts: 29
Rep Power: 10
sy2516 is on a distinguished road
Quote:
Originally Posted by kmooney View Post
Good eye! That looks about right. As for the multiphase implementation, I might have been wrong about my previous statement. It looks like (at least for kEp) they multiplied everything by alpha:

Code:
    // Dissipation equation
    tmp<fvScalarMatrix> epsEqn
    (
        fvm::ddt(alpha, rho, epsilon_)
      + fvm::div(alphaRhoPhi, epsilon_)
      - fvm::Sp(fvc::ddt(alpha, rho) + fvc::div(alphaRhoPhi), epsilon_)
      - fvm::laplacian(alpha*rho*DepsilonEff(), epsilon_)
     ==
        C1_*alpha*rho*G*epsilon_/k_
      - fvm::SuSp(((2.0/3.0)*C1_ + C3_)*alpha*rho*divU, epsilon_)
      - fvm::Sp(C2_*alpha*rho*epsilon_/k_, epsilon_)
      + epsilonSource()
    );
Code:
    // Turbulent kinetic energy equation

    tmp<fvScalarMatrix> kEqn
    (
        fvm::ddt(alpha, rho, k_)
      + fvm::div(alphaRhoPhi, k_)
      - fvm::Sp(fvc::ddt(alpha, rho) + fvc::div(alphaRhoPhi), k_)
      - fvm::laplacian(alpha*rho*DkEff(), k_)
     ==
        alpha*rho*G
      - fvm::SuSp((2.0/3.0)*alpha*rho*divU, k_)
      - fvm::Sp(alpha*rho*epsilon_/k_, k_)
      + kSource()
    );
Seems a bit strange...does that mean that where alpha=0, k=epsilon=0 too? that doesn't make much sense at first glance.
Have you find out what does the alpha mean in the standard k-epsilon model?
sy2516 is offline   Reply With Quote

Old   October 12, 2018, 00:10
Smile Hellow
  #7
New Member
 
Li Yuanyuan
Join Date: Oct 2018
Posts: 2
Rep Power: 0
Miss Li is on a distinguished road
In a viscoelastic fluid, what does tau* FVC ::grad(u) calculate?
Miss Li is offline   Reply With Quote

Old   January 26, 2019, 13:25
Default
  #8
New Member
 
toboto
Join Date: Jun 2016
Posts: 20
Rep Power: 10
toboto is on a distinguished road
Quote:
Originally Posted by sy2516 View Post
Have you find out what does the alpha mean in the standard k-epsilon model?
I was also puzzled by this problem recently. So, I will answer this for reference and if I am wrong please correct me.

alpha in turbulence models is NOT the phase fraction. In the case of incompressible turbulence models, it is simply = 1.0

See IncompressibleTurbulenceModel.H

Code:
     typedef geometricOneField alphaField;
and

Code:
     typedef geometricOneField alphaField;
In geometricOneField.H

Code:
  
A class representing the concept of a GeometricField of 1 used to avoid
unnecessary manipulations for objects which are known to be one at compile-time.

Used for example as the density argument to a function written for
compressible to be used for incompressible flow.
Regards
toboto is offline   Reply With Quote

Old   January 31, 2019, 11:37
Default
  #9
New Member
 
Join Date: Apr 2017
Posts: 2
Rep Power: 0
lm0x is on a distinguished road
OpenFOAM v 1712 does not parallelize the simulation when I am using the MPPIC solver applied to multi-phase oil in an oil storage tank with lateral impellers.
I'm doing a simulation with "cyclic ACMI".

Thanks for the support.
lm0x is offline   Reply With Quote

Reply


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
different zones, different turbulence models gmwsy FLUENT 5 June 17, 2020 16:42
in k-epsilon wall function approach high Re turbulence models: question of velocity romant OpenFOAM Programming & Development 6 May 26, 2016 10:14
Y plus for various turbulence models taram CFX 8 December 16, 2013 12:44
Zero Equation Turbulence models stefan.gracik OpenFOAM Programming & Development 3 April 17, 2013 15:12
KOmega Turbulence model from wwwopenFOAMWikinet philippose OpenFOAM Running, Solving & CFD 30 August 4, 2010 11:26


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