|
[Sponsors] |
May 26, 2009, 06:59 |
buoyancy augmented k-eps model
|
#1 |
Senior Member
Aram Amouzandeh
Join Date: Mar 2009
Location: Vienna, Vienna, Austria
Posts: 190
Rep Power: 17 |
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" |
|
June 15, 2009, 06:23 |
|
#2 |
Senior Member
Aram Amouzandeh
Join Date: Mar 2009
Location: Vienna, Vienna, Austria
Posts: 190
Rep Power: 17 |
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" |
|
June 15, 2009, 13:31 |
|
#3 |
Senior Member
Aram Amouzandeh
Join Date: Mar 2009
Location: Vienna, Vienna, Austria
Posts: 190
Rep Power: 17 |
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 |
|
June 25, 2009, 11:55 |
|
#4 |
Senior Member
Aram Amouzandeh
Join Date: Mar 2009
Location: Vienna, Vienna, Austria
Posts: 190
Rep Power: 17 |
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" |
|
July 3, 2009, 14:24 |
|
#5 |
Senior Member
Aram Amouzandeh
Join Date: Mar 2009
Location: Vienna, Vienna, Austria
Posts: 190
Rep Power: 17 |
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 |
|
May 25, 2018, 02:02 |
|
#6 |
Senior Member
Nima Samkhaniani
Join Date: Sep 2009
Location: Tehran, Iran
Posts: 1,267
Blog Entries: 1
Rep Power: 25 |
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) |
|
June 4, 2018, 16:02 |
|
#7 | |
Senior Member
Aram Amouzandeh
Join Date: Mar 2009
Location: Vienna, Vienna, Austria
Posts: 190
Rep Power: 17 |
Quote:
Please see attached files for the code which I used with OF-1.7.1. Cheers, Aram |
||
April 19, 2019, 08:51 |
|
#8 |
Senior Member
Jianrui Zeng
Join Date: May 2018
Location: China
Posts: 157
Rep Power: 8 |
||
|
|
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 |