
[Sponsors] 
May 26, 2009, 05:59 
buoyancy augmented keps model

#1 
Senior Member
Aram Amouzandeh
Join Date: Mar 2009
Location: Vienna, Vienna, Austria
Posts: 190
Rep Power: 16 
Dear all!
As I m interested in buoyancy driven flow I tried to adapt the standard keps 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]): _keqn: P _epseqn: 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 keqn: fvm::SuSp(P/k_, k_) additional source term in epseqn: 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 keps model mentioned above and the standard keps model (used in chtMultiRegionFoam; setup see http://www.cfdonline.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 keps 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" 

June 15, 2009, 05:23 

#2 
Senior Member
Aram Amouzandeh
Join Date: Mar 2009
Location: Vienna, Vienna, Austria
Posts: 190
Rep Power: 16 
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 keps model greatly. Hence, they propose a buoyancy modification based on the General Gradient Diffusion Hypothesis: Add the following source terms: _keqn: P _epseqn: C1*epsilon_/(1C4)*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 keqn: + fvm::SuSp(P/k_, k_) additional source term in epseqn: + fvm::SuSp(C1_*(1C4_)*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 keps turbulence models to different types of buoyant plumes" 

June 15, 2009, 12:31 

#3 
Senior Member
Aram Amouzandeh
Join Date: Mar 2009
Location: Vienna, Vienna, Austria
Posts: 190
Rep Power: 16 
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_*(1C4_)*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 

June 25, 2009, 10:55 

#4 
Senior Member
Aram Amouzandeh
Join Date: Mar 2009
Location: Vienna, Vienna, Austria
Posts: 190
Rep Power: 16 
Dear all!!
I played around with different ways of formulating and implementing the source terms for my buoyancy modified keps model and was able to set up a noncrashing simulation. In the new implementation I first substituted mu_t in the source term P with its definition for the keps 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*(1C4)*(epsilon_/k_)*(k/epsilon)*P = C1*(1C4)*P I tried out two ways + fvm::SuSp(C1*(1C4)*P/epsilon_, epsilon_) and + C1*(1C4)*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.9e5 (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 keps turbulence models to different types of buoyant plumes" 

July 3, 2009, 13:24 

#5 
Senior Member
Aram Amouzandeh
Join Date: Mar 2009
Location: Vienna, Vienna, Austria
Posts: 190
Rep Power: 16 
Hi!!
I m still struggling with the buoyancy modification of the standard keps 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.0C4_)*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 

May 25, 2018, 01:02 

#6 
Senior Member
Nima Samkhaniani
Join Date: Sep 2009
Location: Tehran, Iran
Posts: 1,265
Blog Entries: 1
Rep Power: 23 
1could you finally solve the problem ?
2could you share the code?
__________________
Telegram channel (https://telegram.me/openfoam4Iranian) My Weblog in Persian(http://openfoam.blogfa.com/) My Personal Website (http://nimasamkhaniani.ir/) 

June 4, 2018, 15:02 

#7  
Senior Member
Aram Amouzandeh
Join Date: Mar 2009
Location: Vienna, Vienna, Austria
Posts: 190
Rep Power: 16 
Quote:
Please see attached files for the code which I used with OF1.7.1. Cheers, Aram 

April 19, 2019, 07:51 

#8 
Senior Member
Jianrui Zeng
Join Date: May 2018
Location: China
Posts: 157
Rep Power: 7 

Thread Tools  Search this Thread 
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
air bubble is disappear increasing time using vof  xujjun  CFX  9  June 9, 2009 07:59 
buoyancy source term in ke model  Catherine Meissner  Phoenics  4  June 26, 2008 07:33 
Problem: buoyancy source term for KEEP model  Andrey V.Ivanov  Phoenics  0  May 23, 2003 03:50 
How to set the buoyancy model?  may song  Phoenics  0  November 10, 2002 21:27 
How to choose the buoyancy model?  ben  Phoenics  2  April 8, 2002 04:04 