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

Source terms in epsilon equation (kEpsilon RANS)

Register Blogs Community New Posts Updated Threads Search

Like Tree4Likes
  • 4 Post By GerhardHolzinger

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   April 16, 2015, 13:08
Default Source terms in epsilon equation (kEpsilon RANS)
  #1
Member
 
Join Date: Apr 2015
Location: EU
Posts: 38
Rep Power: 11
roadRunner is on a distinguished road
Dear all,

I'm somewhat experienced in using openFoam, but mostly I've been using already existing stuff so far. Now I'm looking into implementing other things, in this case turbulence model.
But before I do that, I have a question about the existing implementation of kEpsilon model.

Why are source terms treated differently? Equation:
Code:
    // Dissipation equation                                                     
    tmp<fvScalarMatrix> epsEqn
    (
         fvm::ddt(epsilon_)
      + fvm::div(phi_, epsilon_)
      - fvm::laplacian(DepsilonEff(), epsilon_)
     ==
        C1_*G*epsilon_/k_
      - fvm::Sp(C2_*epsilon_/k_, epsilon_)
    );
So, is first term treated explicitly and the second one implicitly (if I understand correctly)? Is it because of velocity gradient? If so, why? Pressure-velocity coupling?

This is maybe a silly question, but I would like to understand it.

Thanks for reading!
roadRunner is offline   Reply With Quote

Old   April 20, 2015, 05:10
Default
  #2
Member
 
Join Date: Apr 2015
Location: EU
Posts: 38
Rep Power: 11
roadRunner is on a distinguished road
OK, what I know so far is that G is evaluated explicitly due to the fvc::grad:
nut_*2*magSqr(symm(fvc::grad(U_))

But the epsilon_ could still be treated implicitly? Or?

Thank you (and please help)
roadRunner is offline   Reply With Quote

Old   April 20, 2015, 14:09
Default
  #3
Senior Member
 
anonymous
Join Date: Aug 2014
Posts: 205
Rep Power: 12
ssss is on a distinguished road
All the therms that have fvm:: are treated as implicit. What I'm not sure about is the term:

Code:
C1_*G*epsilon_/k_
My intuition says that this term is treated as explicit. You could try to change the code to:

Code:
fvm::Sp(C1_*G/k_,epsilon_)
And see if it makes any difference
ssss is offline   Reply With Quote

Old   April 20, 2015, 14:49
Default
  #4
Member
 
ali alkebsi
Join Date: Jan 2012
Location: Strasbourg, France
Posts: 82
Rep Power: 14
kebsiali is on a distinguished road
Total agree with your reasoning here. Why explicit?
Maybe the epsilon generation term is taken as a function of the last epsilon
Like saying the amount of epsilon that we had is the cause of the generation.
but then why is the destruction term implicit?
maybe both were chosen like this for stability reasons?
kebsiali is offline   Reply With Quote

Old   April 21, 2015, 03:54
Default
  #5
Member
 
Join Date: Apr 2015
Location: EU
Posts: 38
Rep Power: 11
roadRunner is on a distinguished road
Quote:
Originally Posted by ssss View Post
All the therms that have fvm:: are treated as implicit. What I'm not sure about is the term:

Code:
C1_*G*epsilon_/k_
My intuition says that this term is treated as explicit. You could try to change the code to:

Code:
fvm::Sp(C1_*G/k_,epsilon_)
And see if it makes any difference
Ok, but for what do I check? And how? On which case?

Quote:
Originally Posted by kebsiali View Post
Total agree with your reasoning here. Why explicit?
Maybe the epsilon generation term is taken as a function of the last epsilon
Like saying the amount of epsilon that we had is the cause of the generation.
but then why is the destruction term implicit?
maybe both were chosen like this for stability reasons?
I think stability reasons are most likely in this case, I would like to know what they are
Thanks for your answers!
__________________
beep-beep
roadRunner is offline   Reply With Quote

Old   April 21, 2015, 04:01
Default
  #6
Senior Member
 
Gerhard Holzinger
Join Date: Feb 2012
Location: Austria
Posts: 339
Rep Power: 28
GerhardHolzinger will become famous soon enoughGerhardHolzinger will become famous soon enough
Quote:
Originally Posted by roadRunner View Post
Dear all,

I'm somewhat experienced in using openFoam, but mostly I've been using already existing stuff so far. Now I'm looking into implementing other things, in this case turbulence model.
But before I do that, I have a question about the existing implementation of kEpsilon model.

Why are source terms treated differently? Equation:
Code:
    // Dissipation equation                                                     
    tmp<fvScalarMatrix> epsEqn
    (
         fvm::ddt(epsilon_)
      + fvm::div(phi_, epsilon_)
      - fvm::laplacian(DepsilonEff(), epsilon_)
     ==
        C1_*G*epsilon_/k_
      - fvm::Sp(C2_*epsilon_/k_, epsilon_)
    );
So, is first term treated explicitly and the second one implicitly (if I understand correctly)? Is it because of velocity gradient? If so, why? Pressure-velocity coupling?

This is maybe a silly question, but I would like to understand it.

Thanks for reading!

The difference between the two source terms is the sign. Both depend on epsilon, so you could in theory handle them both implicitely. However, the sign determines whether the implicit handling improves numerical behaviour or degrades it.
A negative term on the RHS is a positive term if brought to the LHS. Further, implicit terms go into the main diagonal of the system matrix of the discretized equation system. So, by treating negative source terms (on the RHS) implicitely, we add to the main diagonal of the system matrix. Thus we increase the so called diagonal dominance of the matrix which in turn helps numerical iterative solution procedures.
GerhardHolzinger is offline   Reply With Quote

Old   April 21, 2015, 10:09
Default
  #7
Member
 
Join Date: Apr 2015
Location: EU
Posts: 38
Rep Power: 11
roadRunner is on a distinguished road
Thank you.
__________________
beep-beep
roadRunner 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
[swak4Foam] difficulties installing swak4foam newbie29 OpenFOAM Community Contributions 120 October 21, 2022 04:01
[swak4Foam] swak4foam building problem GGerber OpenFOAM Community Contributions 54 April 24, 2015 16:02
centOS 5.6 : paraFoam not working yossi OpenFOAM Installation 2 October 9, 2013 01:41
DxFoam reader update hjasak OpenFOAM Post-Processing 69 April 24, 2008 01:24
K-Epsilon model? Brindaban Ghosh Main CFD Forum 2 June 24, 2000 04:22


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