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

RNG k-epsilon model implementation

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

Like Tree1Likes
  • 1 Post By vkrastev

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   July 27, 2011, 08:52
Default RNG k-epsilon model implementation
  #1
Senior Member
 
romant's Avatar
 
Roman Thiele
Join Date: Aug 2009
Location: Eindhoven, NL
Posts: 374
Rep Power: 20
romant is on a distinguished road
Hej,

I was wondering why the implementation of the RNG k-epsilon model in OpenFOAM looks so much different from the implementation of the standard k-epsilon model? Even the k-equation looks different, even though that one should be the same.

k-equation standard k-eps:
Code:
    tmp<fvScalarMatrix> kEqn
    (
        fvm::ddt(k_)
      + fvm::div(phi_, k_)
      - fvm::Sp(fvc::div(phi_), k_) // missing from the k-equation of RNG
      - fvm::laplacian(DkEff(), k_)
     ==
        G
      - fvm::Sp(epsilon_/k_, k_)
    );
k-equation RNG k-eps
Code:
    tmp<fvScalarMatrix> kEqn
    (
        fvm::ddt(k_)
      + fvm::div(phi_, k_)
      - fvm::laplacian(DkEff(), k_)
     ==
        G 
      - fvm::Sp(epsilon_/k_, k_)
    );
The - fvm::Sp(fvc::div(phi_), k_) term is missing. The same is true in the epsilon equation, where instead of the C_eps2 constant the C_eps1 constant is changed, but also not according to literature

eps-equation RNG
Code:
    // Dissipation equation
    tmp<fvScalarMatrix> epsEqn
    (
        fvm::ddt(epsilon_)
      + fvm::div(phi_, epsilon_)
      - fvm::laplacian(DepsilonEff(), epsilon_)
    // I expect another term here
     ==
        (C1_ - R)*G*epsilon_/k_  // why is the term R, which is part of the changed C_eps2 constant subtracted from C_eps1
    //- fvm::SuSp(R*G/k_, epsilon_)
      - fvm::Sp(C2_*epsilon_/k_, epsilon_)  // C2 is a constant here, even though it should be a function of the strain-rate tensor
    );
__________________
~roman
romant is offline   Reply With Quote

Old   November 23, 2011, 09:19
Default
  #2
Senior Member
 
Vesselin Krastev
Join Date: Jan 2010
Location: University of Tor Vergata, Rome
Posts: 368
Rep Power: 20
vkrastev is on a distinguished road
Quote:
Originally Posted by romant View Post
Hej,

I was wondering why the implementation of the RNG k-epsilon model in OpenFOAM looks so much different from the implementation of the standard k-epsilon model? Even the k-equation looks different, even though that one should be the same.

k-equation standard k-eps:
Code:
    tmp<fvScalarMatrix> kEqn
    (
        fvm::ddt(k_)
      + fvm::div(phi_, k_)
      - fvm::Sp(fvc::div(phi_), k_) // missing from the k-equation of RNG
      - fvm::laplacian(DkEff(), k_)
     ==
        G
      - fvm::Sp(epsilon_/k_, k_)
    );
k-equation RNG k-eps
Code:
    tmp<fvScalarMatrix> kEqn
    (
        fvm::ddt(k_)
      + fvm::div(phi_, k_)
      - fvm::laplacian(DkEff(), k_)
     ==
        G 
      - fvm::Sp(epsilon_/k_, k_)
    );
The - fvm::Sp(fvc::div(phi_), k_) term is missing. The same is true in the epsilon equation, where instead of the C_eps2 constant the C_eps1 constant is changed, but also not according to literature

eps-equation RNG
Code:
    // Dissipation equation
    tmp<fvScalarMatrix> epsEqn
    (
        fvm::ddt(epsilon_)
      + fvm::div(phi_, epsilon_)
      - fvm::laplacian(DepsilonEff(), epsilon_)
    // I expect another term here
     ==
        (C1_ - R)*G*epsilon_/k_  // why is the term R, which is part of the changed C_eps2 constant subtracted from C_eps1
    //- fvm::SuSp(R*G/k_, epsilon_)
      - fvm::Sp(C2_*epsilon_/k_, epsilon_)  // C2 is a constant here, even though it should be a function of the strain-rate tensor
    );
The implementation is perfectly consistent with the literature (see for instance "Analysis of an RNG based turbulence model for separated flows", C. G. Speziale and S. Thangam, Int. J. Engng Sci., Vol 30, no 10, pp 1379-1388, 1992). Concerning the missing terms with respect to, for instance, the standard k-epsilon model, though they should not have a significant relevance in an incompressible flow solution (fvc::div(phi) would be exactly equal to zero if the discretized momentum and pressure-correction equations were solved exactly at the current iteration, while using a finite precision it would be simply very very small), to me is also quite a mystery why they are included in some models and they aren't in others...

Best Regards

V.
vsammartano likes this.
vkrastev is offline   Reply With Quote

Old   June 20, 2018, 08:33
Default
  #3
Member
 
Hosein
Join Date: Nov 2011
Location: Germany
Posts: 93
Rep Power: 14
einstein_zee is on a distinguished road
Quote:
Originally Posted by romant View Post
Hej,

I was wondering why the implementation of the RNG k-epsilon model in OpenFOAM looks so much different from the implementation of the standard k-epsilon model? Even the k-equation looks different, even though that one should be the same.

k-equation standard k-eps:
Code:
    tmp<fvScalarMatrix> kEqn
    (
        fvm::ddt(k_)
      + fvm::div(phi_, k_)
      - fvm::Sp(fvc::div(phi_), k_) // missing from the k-equation of RNG
      - fvm::laplacian(DkEff(), k_)
     ==
        G
      - fvm::Sp(epsilon_/k_, k_)
    );
k-equation RNG k-eps
Code:
    tmp<fvScalarMatrix> kEqn
    (
        fvm::ddt(k_)
      + fvm::div(phi_, k_)
      - fvm::laplacian(DkEff(), k_)
     ==
        G 
      - fvm::Sp(epsilon_/k_, k_)
    );
The - fvm::Sp(fvc::div(phi_), k_) term is missing. The same is true in the epsilon equation, where instead of the C_eps2 constant the C_eps1 constant is changed, but also not according to literature

eps-equation RNG
Code:
    // Dissipation equation
    tmp<fvScalarMatrix> epsEqn
    (
        fvm::ddt(epsilon_)
      + fvm::div(phi_, epsilon_)
      - fvm::laplacian(DepsilonEff(), epsilon_)
    // I expect another term here
     ==
        (C1_ - R)*G*epsilon_/k_  // why is the term R, which is part of the changed C_eps2 constant subtracted from C_eps1
    //- fvm::SuSp(R*G/k_, epsilon_)
      - fvm::Sp(C2_*epsilon_/k_, epsilon_)  // C2 is a constant here, even though it should be a function of the strain-rate tensor
    );
Hi Roman,

Could you find the reason why the OF version of equations are not similar to the ones of Yakhot et al.
einstein_zee is offline   Reply With Quote

Reply

Tags
rngkepsilon, turbulence model

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
Use of k-epsilon and k-omega Models Jade M Main CFD Forum 40 January 27, 2023 07:18
problems with a DES (k-epsilon model) implementation sven82 OpenFOAM Running, Solving & CFD 16 November 28, 2017 06:17
Superlinear speedup in OpenFOAM 13 msrinath80 OpenFOAM Running, Solving & CFD 18 March 3, 2015 05:36
RNG (renormalized group) or RM(realizable model) based on K-e heidar FLUENT 0 April 17, 2010 04:21
How to define Epsilon in RSM model? David FLUENT 0 March 17, 2004 09:39


All times are GMT -4. The time now is 04:58.