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

The density cross the interface is incorrect in the KEpsilon model in interFoam?

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 14, 2015, 12:40
Default The density cross the interface is incorrect in the KEpsilon model in interFoam?
  #1
New Member
 
duan
Join Date: Apr 2014
Posts: 6
Rep Power: 12
duan is on a distinguished road
Recently I have found a paper (OMAE2015-41812) discussed about the KEpsilon model in the interFoam (2.3.0), which claimed that "The existing formulations treat the density as a constant without considering its variations crossing the air and water free surface which is not correct. "

See the attached pic for more details.

I then checked KEpsilon.C, for the Dissipation equation
Code:
 
    tmp<fvScalarMatrix> epsEqn
    (
        fvm::ddt(epsilon_)
      + fvm::div(phi_, epsilon_)
      - fvm::laplacian(DepsilonEff(), epsilon_)
     ==
        C1_*G*epsilon_/k_
      - fvm::Sp(C2_*epsilon_/k_, epsilon_)
    );
and the turbulent kinetic energy equation
Code:
    tmp<fvScalarMatrix> kEqn
    (
        fvm::ddt(k_)
      + fvm::div(phi_, k_)
      - fvm::laplacian(DkEff(), k_)
     ==
        G
      - fvm::Sp(epsilon_/k_, k_)
    );
and G , G = $P_k$
Code:
volScalarField G(GName(), nut_*2*magSqr(symm(fvc::grad(U_))));
It seems the equation described in this paper is correct. However assuming the fluid is incompressible, for each phase (water or air), the density could be treated as a constant and remove from the Dissipation equation and energy equation. It does not sounds like a mistake. But of course we need to check the different density of water and air is accounted in the momentum equation.

Then I checked the UEqn in interFoam (2.3.0), which reads,
Code:
fvVectorMatrix UEqn
    (
        fvm::ddt(rho, U)
      + fvm::div(rhoPhi, U)
      + turbulence->divDevRhoReff(rho, U)
    );
and the divDevRhoReff(rho,U) also in KEpsilon.C,
Code:
tmp<fvVectorMatrix> kEpsilon::divDevRhoReff
(
    const volScalarField& rho,
    volVectorField& U
) const
{
    volScalarField muEff("muEff", rho*nuEff());

    return
    (
      - fvm::laplacian(muEff, U)
      - fvc::div(muEff*dev(T(fvc::grad(U))))
    );
}
It seems in the UEqn, the same rho is passed to the turbulence model.

Now I have the questions, which is this "const volScalarField& rho"?
It is rho_water, rho_air, or rho = alpha.water*rho_water + alpha.air*rho_air, with alpha.air = 1 - alpha.water?

Do you guys think the treatment in interFoam is correct or not?

The paper is linked here:
https://www.dropbox.com/s/53nvxo79m8...41812.pdf?dl=0
Attached Images
File Type: jpg KEpsilonOF.jpg (55.0 KB, 29 views)
File Type: png KEpsilonCorrect.PNG (48.8 KB, 23 views)
duan 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
Current density visualisation (PEM fuel cell add-on module) pchoopanya FLUENT 10 August 21, 2023 15:33
How to change turbulence model in InterFoam Gildeh OpenFOAM Running, Solving & CFD 4 March 28, 2012 13:04
Concentric tube heat exchanger (Air-Water) Young CFX 5 October 7, 2008 00:17
Convective Heat Transfer - Heat Exchanger Mark CFX 6 November 15, 2004 16:55
Replace periodic by inlet-outlet pair lego CFX 3 November 5, 2002 21:09


All times are GMT -4. The time now is 16:44.