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

buoyancy augmented k-eps model

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By mabinty

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   May 26, 2009, 06:59
Default buoyancy augmented k-eps model
  #1
Senior Member
 
Aram Amouzandeh
Join Date: Mar 2009
Location: Vienna, Vienna, Austria
Posts: 190
Rep Power: 17
mabinty is on a distinguished road
Dear all!

As I m interested in buoyancy driven flow I tried to adapt the standard k-eps model in order to account for buoyancy effects in the k and eps equation. I added the following source terms (see e.g. [1,2]):

_k-eqn: P

_eps-eqn: eps/k*C_4*max[P,0]

where P is calculated as follwos (y is the vertical direction; d partial derivative; g gravity):

P=g*(mu_eff/(sigma_h*rho))*drho/dy

My implementation in OF looks like this:

dimensionedScalar gMAG
(
"gMAG",
dimensionSet(0, 1, -2, 0, 0),
9.81
);
volVectorField gradRho = fvc::grad(rho_);
volScalarField P = (1/rho_)*gMAG*alphah_*mut_*gradRho.component(1);

additional source term in k-eqn:

fvm::SuSp(P/k_, k_)

additional source term in eps-eqn:

C4_*posFunct(P)*epsilon_/k_


posFunct() is defined as shown below:

volScalarField posFunct(volScalarField& P)
{
volScalarField P_pos = P;
for(volScalarField::iterator iter = P_pos.begin(); iter != P_pos.end(); ++iter)
{
if(*iter < 0)
*iter = 0;
}

return P_pos;
}

When I compare the results obtained with the modified k-eps model mentioned above and the standard k-eps model (used in chtMultiRegionFoam; set-up see http://www.cfd-online.com/Forums/ope...egionfaom.html), the differences in k, epsilon as well as in T and U are minor.

Has somebody already made experience with the implementation of a buoyancy augmented k-eps model?? What am I doing wrong here?? I greatly appreciate your comments!!

Thanks in advance,
Aram

[1] Novozhilov: "CFD Modeling of Compartment Fires"
[2] S. Nam and G. Bill: "Numerical Simulation of Thermal Plumes"
mabinty is offline   Reply With Quote

Old   June 15, 2009, 06:23
Default
  #2
Senior Member
 
Aram Amouzandeh
Join Date: Mar 2009
Location: Vienna, Vienna, Austria
Posts: 190
Rep Power: 17
mabinty is on a distinguished road
Hi all!!

In reference [1] it can be read that the buoyancy modification mentioned in the previous post do not improve the behavior of the standard k-eps model greatly. Hence, they propose a buoyancy modification based on the General Gradient Diffusion Hypothesis:

Add the following source terms:

_k-eqn: P

_eps-eqn: C1*epsilon_/(1-C4)*P/k_

where P is calculated as follwos (d partial derivative; g gravity, rhoRef reference density):

P=3*rhoRef*mu_t*g*(u'v'*drho/dx + v'v'*drho/dy + v'w'*drho/dz)/(k*rho^2*sigma_h)

I tried to implement it in the following way:

volVectorField gradRho = fvc::grad(rho_);
volVectorField diffGrad = R() & fvc::grad(rho_);
volScalarField P = (3.0/2.0)*rhoRef_*gMAG_*alphah_*mut_*diffGrad.component (1)/(k_*sqr(rho_));

additional source term in k-eqn:

+ fvm::SuSp(P/k_, k_)

additional source term in eps-eqn:

+ fvm::SuSp(C1_*(1-C4_)*P/k_, epsilon_)

The code compiles without a problem but when running a case I get bounding k and epsilon and after a while the calculation crashes. I assume a problem with the linearisation of the source terms. That s what I m currently investigating but could not figure out any solution. At the same time I m experimenting with the descretisation schemes.

I would greatly appreciate any comments!! Thx in advance,
Aram

[1] Van Maele and Merci: "Application of two buoyancy modified k-eps turbulence models to different types of buoyant plumes"
mabinty is offline   Reply With Quote

Old   June 15, 2009, 13:31
Default
  #3
Senior Member
 
Aram Amouzandeh
Join Date: Mar 2009
Location: Vienna, Vienna, Austria
Posts: 190
Rep Power: 17
mabinty is on a distinguished road
Hi!!

I was playing around with the discretisation/linearisation of the source terms and did some changes. The implementation showed below allows the simulation to run longer but crashes at time 6s (instead of 0.2s) due to bounding k (no bounding of epsilon). The so far obtained flow field looks plausible.

volScalarField P = (3.0/2.0)*rhoRef_*gMAG_*alphah_*mut_*diffGrad.component (1)/sqr(rho_);

No inclusion of k for calculating P; this is done in the source terms, so the source term for the dissipation equation is discretised in the following way:

+ fvm::SuSp(C1_*(1-C4_)*P/sqr(k_), epsilon_)

Befor discretising the source for k, I linearised it:

S_k = P/k = 2*P/k - (P/k^2)*k

and hence the source for the k equation is discretised as follows:

+ 2*P/k_ - fvm::Sp(P/sqr(k_), k_)

I would greatly appreciate your comments as I m not sure if this makes sens; at least it allowed my simulation not to blow up imediatly ...

Thx in advance!!
Aram
mabinty is offline   Reply With Quote

Old   June 25, 2009, 11:55
Default
  #4
Senior Member
 
Aram Amouzandeh
Join Date: Mar 2009
Location: Vienna, Vienna, Austria
Posts: 190
Rep Power: 17
mabinty is on a distinguished road
Dear all!!

I played around with different ways of formulating and implementing the source terms for my buoyancy modified k-eps model and was able to set up a non-crashing simulation. In the new implementation I first substituted mu_t in the source term P with its definition for the k-eps model. Then I set v'v' = k (suggested in [1]). So I get:

P = (3/2)*g*(rhoRef/rho)*(Cmu/sigma_h)*(k/epsilon)*(u'v'*drho/dx + k*drho/dy + v'w'*drho/dz)

The implemetation looks as follows:

volSymmTensorField RS = R();
volScalarField diffGrad = RS.component(1)*gradRho.component(0) + k_*gradRho.component(1) + RS.component(4)*gradRho.component(2);
volScalarField P = (3.0/2.0)*gMAG_*(rhoRef_/rho_)*alphah_*Cmu_*diffGrad;

I did not include the quotiont "k/epsilon", so it cancels out for the additional source term in the dissipation eqn.:

S_eps = C1*(1-C4)*(epsilon_/k_)*(k/epsilon)*P = C1*(1-C4)*P

I tried out two ways

+ fvm::SuSp(C1*(1-C4)*P/epsilon_, epsilon_)

and

+ C1*(1-C4)*P

the latter showed better behaviour. The additional source term for the k eqn. is added like:

+ fvm::SuSp(P/epsilon_, k_)

The simulation with the coarsest grid is running but I encounter some serious problems though:

_ a strong sensitivity with respect to the domain size. Simulations crash when domain size gets too small or too big.
_ sensitivity with respect to the initial value of epsilon (varied it by one to two orders of magnitude) where only 2.9e-5 (for my case) reuslts in a stable simulation.
_ when I refine the grid (from a grid spacing of 0.025 m to 0.01 m) the simulation crashes after 3s (my main problem now!).

I greatly appreciate any comment on my problem!! Thx in advance!!

Aram

[1] Van Maele and Merci: "Application of two buoyancy modified k-eps turbulence models to different types of buoyant plumes"
mabinty is offline   Reply With Quote

Old   July 3, 2009, 14:24
Default
  #5
Senior Member
 
Aram Amouzandeh
Join Date: Mar 2009
Location: Vienna, Vienna, Austria
Posts: 190
Rep Power: 17
mabinty is on a distinguished road
Hi!!

I m still struggling with the buoyancy modification of the standard k-eps model, even though I made some improvements. It turned out that the code gets a bit more stable when the density gradients are replaced with temperature gradients by the help of the ideal gas law. In doing that the production term reads:

P = - (3/2)*g*(rhoRef/T)*(Cmu/sigma_h)*(k/epsilon)*(u'v'*dT/dx + k*dT/dy + v'w'*dT/dz)

My implementation looks like:

volScalarField T_ = thermophysicalModel_.T();
volVectorField gradT = fvc::grad(T_);
volSymmTensorField RS = R();
volScalarField diffGrad = RS.component(1)*gradT.component(0) + k_*gradT.component(1) + RS.component(4)*gradT.component(2);

volScalarField P = (3.0/2.0)*gMAG_*(rhoRef_/T_)*alphah_*Cmu_*diffGrad;

(no inclusion of - (k/epsilon)). Additional source for the dissipation eqn.:

S_eps = - fvm::SuSp(C1_*(1.0-C4_)*P/epsilon_, epsilon_)

Additional source for the k eqn.:

S_k = - fvm::SuSp(P/epsilon_, k_)

Again my main problem is stability (bounding eps and k, than crash), specially when I refine the grid. The coarse grid runs (better now), wherease the fine crashs after a few seconds. My impression is that the source term in the dissipation eqn. plays a crucial role ....

Any comments are of great help for me!! Thx in advance and all the best,
Aram
nimasam likes this.
mabinty is offline   Reply With Quote

Old   May 25, 2018, 02:02
Default
  #6
Senior Member
 
Nima Samkhaniani
Join Date: Sep 2009
Location: Tehran, Iran
Posts: 1,267
Blog Entries: 1
Rep Power: 25
nimasam is on a distinguished road
1-could you finally solve the problem ?

2-could you share the code?
__________________
My Personal Website (http://nimasamkhaniani.ir/)
Telegram channel (https://t.me/cfd_foam)
nimasam is offline   Reply With Quote

Old   June 4, 2018, 16:02
Default
  #7
Senior Member
 
Aram Amouzandeh
Join Date: Mar 2009
Location: Vienna, Vienna, Austria
Posts: 190
Rep Power: 17
mabinty is on a distinguished road
Quote:
Originally Posted by nimasam View Post
1-could you finally solve the problem ?

2-could you share the code?

Please see attached files for the code which I used with OF-1.7.1.



Cheers,
Aram
Attached Files
File Type: c kEpsilonBuoyancyGGDH.C (9.2 KB, 19 views)
File Type: h kEpsilonBuoyancyGGDH.H (5.6 KB, 14 views)
mabinty is offline   Reply With Quote

Old   April 19, 2019, 08:51
Default
  #8
Senior Member
 
Jianrui Zeng
Join Date: May 2018
Location: China
Posts: 157
Rep Power: 8
calf.Z is on a distinguished road
Quote:
Originally Posted by mabinty View Post
Please see attached files for the code which I used with OF-1.7.1.



Cheers,
Aram
Thank you for sharing. Have you update your code for later Openfoam version?
And how is the effect of adding buoyancy term?
calf.Z 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
air bubble is disappear increasing time using vof xujjun CFX 9 June 9, 2009 08:59
buoyancy source term in k-e model Catherine Meissner Phoenics 4 June 26, 2008 08:33
Problem: buoyancy source term for KE-EP model Andrey V.Ivanov Phoenics 0 May 23, 2003 04:50
How to set the buoyancy model? may song Phoenics 0 November 10, 2002 22:27
How to choose the buoyancy model? ben Phoenics 2 April 8, 2002 05:04


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