
[Sponsors] 
November 26, 2009, 05:35 
HeatFlux in buoyantBoussinesq

#1 
Member
Join Date: Nov 2009
Posts: 36
Rep Power: 16 
Hello everybody,
I would like to use the buoyantboussinesq solver with a turbulentHeatFluxTemperature patch. The turbulentHeatFluxTemperature patch seems to need a name for the alphaEfffield (an Cp). But this solver doesn't seem to estimate alphaEff. What have I do to use this patch? Have I to adapt the solver to estimate alphaEff there or is there a easier way? Thank you very much for your help. Stawrogin 

November 30, 2009, 12:00 

#2 
Senior Member
Join Date: Apr 2009
Location: Karlsruhe, Germany
Posts: 103
Rep Power: 17 
Hello,
kappaEff at the buoyantBoussinesqSimpleFoam solver and alphaEff in the turbulentHeatFluxTemperature patch are the same variable. So rename one of them, recompile it and that's it. The easiest way is to copy the solver, rename it to your own and change in the Teqn.H kappaEff to alphaEff. Regards Thomas 

December 1, 2009, 05:48 

#3 
Member
Join Date: Nov 2009
Posts: 36
Rep Power: 16 
Hello Thomas,
thanks a lot for your reply. I looked a little bit in more detail into the Buoyant Boussinesqsolvers. But I think I have do multiply kappaEff with the real density as well. I think alpha should be in [kg/m/s] while kappaEff has the same Units than nu [m²/s]. But rhoK doesn't seem to be a "real" density but a relative density change due to the thermal expansion. So I have ro read a reference density somewhere to work with this patch. Do you agree? Or can I use e.g. alphaEff = kappaEff *rhoK, to consider the density effect in the heat transfer and keep in mind that this not a real "alpha" but alpha/(reference density) same as "kinematic pressure"? Thanks once more for your help. Best regards stawrogin Last edited by stawrogin; December 1, 2009 at 06:07. 

December 1, 2009, 08:32 

#4 
Senior Member
Join Date: Apr 2009
Location: Karlsruhe, Germany
Posts: 103
Rep Power: 17 
Hello stawrogin,
I think alphaEff and kappaEff is the same, look: For the wallheatflux: gradient = heatflux / (alphaEff * cp0 *rho0) with heatflux = J/(s*m^2) cp0 = J/(kg*K) rho0 = kg/m^3 the gradient of the temperaure has the units: gradient = K/m so alphaEff has the units m^2/s. Looking in the solver we see: kappaEff = turbulence>nu()/Pr + turbulence>nut()/Prt Prt has no units> kappaEff = m^2/s So alphaEff and kappaEff have both the same units. Regards Thomas Last edited by Thomas Baumann; December 2, 2009 at 02:09. 

December 2, 2009, 02:50 

#5 
Member
Join Date: Nov 2009
Posts: 36
Rep Power: 16 
Hi Thomas,
thanks once more for your reply. But where did you find the formula for the wallheatflux? >For the wallheatflux: >gradient = heatflux / (alphaEff * cp0 *rho0) If I look at the this patch for the incompressible case, it seems the wallheat heat flux is not divided through rho. In the compressible case it is (as you said). Incompressible case: const scalarField& alphaEffp = patch().lookupPatchField<volScalarField, scalar>(alphaEffName_); const scalarField& Cpp = patch().lookupPatchField<volScalarField, scalar>(CpName_); gradient() = q_/(Cpp*alphaEffp); So maybe it makes sense to define a non mass related Cp, something like Cpp = Cp * reference density. Also I wonder how this patch considers density changes in the near wall region caused by thermal expansion (e.g. a rhoK )? But probably they are assumed to be small due to the Boussinesq approach is only valid for small density changes. What is your estimation? These incompressible solvers look a little bit confusing for me... Thanks once more Best regards Stawrogin 

December 2, 2009, 05:41 

#6 
Senior Member
Join Date: Apr 2009
Location: Karlsruhe, Germany
Posts: 103
Rep Power: 17 
Hi Stawrogin,
I'm using OpenFOAM1.6. For the wallheatflux I implemented a boundary condition downloaded from the wikipage of OpenFOAM. http://openfoamwiki.net/index.php/Contrib_wallHeatFlux The last version is for OF1.5, but it works in OF1.6, too. You are only using the Boussinesqapproximation if density changes can be neglected in every term, but buoyancyeffects mustn't be neglected, (changes of the material properties are neglected, too) It should make no difference if you solve with rho0 or with the local rho, because the difference should be very small. If there's a change, you are not allowed to use the boussinesqapproximation. Regards Thomas 

February 9, 2010, 03:01 

#7 
Member
David
Join Date: Dec 2009
Location: Spain
Posts: 62
Rep Power: 16 
Hi Thomas
I'm using buoyantBoussinesqSimpleFoam for solve laminar flow (laminar RASmodel) in an annular duct with constan heat flux in the outer wall. My question is: Why does exist a boundary condition based on the heat transfer coefficient? To apply the heat flux I'm using the expression q=k·fixedGradient(T) because the relation q=k·(Temperature gradient) must be met near the wall (due to the continuity of the heat transfer), so I don't understand the necessity of the other equation. May be the fixedGradient b.c doesn't work as I think. Could you explain me where I'm wrong? Thankyou very much in advance for your attention. 

February 9, 2010, 03:19 

#8 
Senior Member
Join Date: Apr 2009
Location: Karlsruhe, Germany
Posts: 103
Rep Power: 17 
Hi David,
if you solve a turbulent flow you have to use k=alpha_eff=alpha_laminar+alpha_turbulent p.e. for RANS. So because you don't know alpha_turbulent pre the simulation if you're using a highreynoldsturbulencemodel. But you're right, you don't need this all if you're solving a laminar flow. Regards Thomas 

February 9, 2010, 03:35 

#9  
Senior Member
Jiang
Join Date: Oct 2009
Location: Japan
Posts: 186
Rep Power: 16 
Quote:
Could you explain us how buoyantBoussinesqSimpleFlam or buoyantBoussinesqPisoFoam works ? Because I don't know how this solver deal with temperature in the wall. If I use standard kEpsolon model, that means need wall functions in the wall. I don't know how it works .Because k,epsilon and nut all have there own wall function, but temperature doesn't have wall function. If I should deal with teperature by myself ? 

February 9, 2010, 04:28 

#10 
Senior Member
Join Date: Apr 2009
Location: Karlsruhe, Germany
Posts: 103
Rep Power: 17 
Hi panda60,
you need to understand how the temperaturefield is determined with the basic turbulence models (like kepsilon). Normally you set a turbulent Prandtlnumber as a constant (e.d. 0.9) and give a relation for the Reynoldsstresses and the turbulent heat fluxes. I think everything is explained in the wiki http://openfoamwiki.net/index.php/Bu...sinesqPisoFoam So you calculate the temperaturefield by using the RS. That means, if you use a wallfunction in the k, elsilonequation you are using this, because of the coupling, in your alphaEfffield and so in the temperaturefield, too. But sometimes you're not allowed to set the turbulent Prandtlnumber as constant, so you have to modify it to a function or even use a reynoldsfluxturbulencemodel. But if you solve with a wallfunction and a turbulent Prandtlnumber you have to be careful how to get walltemperaturegradients or the temperature at the wall, because you determine these values with the aid of your "cell nexttowall". But here are the values getting by linear interpolation wrong, because here is the wallfunction used (the same problem as getting the wallvelocitygradient or the wallfriction). Regards Thomas Last edited by Thomas Baumann; February 9, 2010 at 04:54. 

July 12, 2010, 03:46 

#11 
New Member
Robert
Join Date: Mar 2010
Posts: 16
Rep Power: 16 
Dear Thomas,
I have a few questions that need to be clarified if you don't mind. I am using porousSimpleFoam + bousinessq to solve very low flow (laminar RAS) with three modes of heat transfer (conduction, convection, and radiation). So, I have set a heat source (radiation) for a specific value under transportProperties and I am wondering is there any need for me to set the convective coefficient using wallHeatFlux utility for the convection part? and how do I obtain the convective coefficient since I only know the Twater not the Tsolid? And I used this http://openfoamwiki.net/index.php/Bu...sinesqPisoFoam energy equation plus the added heat source (radiation) by changing kappaEff to alphaEff, so I think the conduction term is already covered in here? Thanks very much for your time and attention. Really appreciate if you can give me a feedback. Kind Regards, Robert. 

July 13, 2010, 03:18 

#12 
Senior Member
Join Date: Apr 2009
Location: Karlsruhe, Germany
Posts: 103
Rep Power: 17 
Hi Robert,
you have normally two kinds of boundary conditions: set a fixed value, for example the temperature or set a gradient for example wallheatflux. You mkust know more details of yoyur experiment or flowproblem to set the right boundary condition... Changing kappaEff to alphaEff you should be able to use the wallheatfluxutility. Regards Thomas 

July 24, 2010, 09:08 

#13  
Member
Join Date: Dec 2009
Posts: 39
Rep Power: 16 
Quote:
Do you know how to implement it on OF1.6.x? Following the instructions didn't work too well. Regards Marco 

July 28, 2010, 16:33 

#14 
Senior Member
Join Date: Apr 2009
Location: Karlsruhe, Germany
Posts: 103
Rep Power: 17 
Hi,
I have never used OpenFOAM1.6.x. But it works using OpenFOAM1.6 and the same data works with OpenFOAM1.7. Regards Thomas 

November 15, 2010, 09:58 
Ambiguity kappaEff

#15 
New Member
Nadeem
Join Date: Mar 2009
Location: MÃ¼nchen, Bavarian, Deutschland
Posts: 24
Rep Power: 17 
Hallo Everybody,
I have a small question and wondering over few things like kappaEff in buoyantBoussinesqSimpleFoam. Temperature equation for both piso and simple solvers is same. I have read the docu of buoBPISOFoam under the following link. http://openfoamwiki.net/index.php/Bu...sinesqPisoFoam In this link, the author say that kappaEff = heat transfer coefficient (Eq 17). I am wondering how it is so. kappaEff = nu / Pr + turb part. Pr = Cp * mu / lambda lambda = conductance if i put back Pr in above kappEff eq then i get following. kappaEff = (nu * lambda ) / (Cp * mu) = (nu * lambda )/(Cp * rho * nu) kappaEff = lambda / (Cp * rho) above equation shows that this lambda is diffusivity? Actually I am looking to get conductivity to calculate heatflux near the boundary wall region by following formula. q= lambda (Gradient (T)) if I use q = kappaEff * Grad(T) then i get better results BUT if i use q = Cp * rho * kappaEff * Grad(T) then i get really bad results. I am not sure what is kappaEff... but i think its conductance. I want to prove it that this kappaEff = conductance. Can anyone please help me out in clearing what is kappaEff? Thanks a lot for attention. looking forward to replies. Best Regards, 

November 15, 2010, 17:29 

#16 
Member
David
Join Date: Dec 2009
Location: Spain
Posts: 62
Rep Power: 16 
Hi ubaid,
I am workig with that solver for laminar regime. kappaEff is the thermal diffusivity, wich in an exclusive laminar solver is called DT. In fact, it is calculated as nu/Pr, which gives k/rho*cp, the thermal diffusivity. I also have employed an existen wallHeatFlux b.c to do grad(T)=heatFlux/k, where k is the thermal conductivity (which in my case is temperature dependent) to impose a uniform heat flux. I hope this helps you. Regards, David 

November 15, 2010, 17:57 

#17 
New Member
Nadeem
Join Date: Mar 2009
Location: MÃ¼nchen, Bavarian, Deutschland
Posts: 24
Rep Power: 17 
Hello David,
Thanks for reply. one thing is now little bit sure that kappaEff = alphaEff = thermal diffusivity. Can you please let me know why the author say in the following link that it is heat transfer coefficient? http://openfoamwiki.net/index.php/Bu...sinesqPisoFoam Eq no 17. it confuses me. My case is an incompressible one. What can you sugguest me? that do i have to use q = k Grad(T), and i give conductivity from outside.. or do i calculate conductivity from kappaEff (thermal diffusivity) by using Cp and rho. Thanks for your help Regards 

November 15, 2010, 19:21 

#18 
Member
David
Join Date: Dec 2009
Location: Spain
Posts: 62
Rep Power: 16 
Hi ubaid
Take a look to this thread: http://www.cfdonline.com/Forums/ope...oussinesq.html I think it will be useful for you. I don´t know why the author calls kappaEff the heat transfer coefficient. As I understand heat transfer coefficient comes from h=q/DT, where DT in this case is the temperature difference, and q is the heat flux (in W/m^2), so h must be W/m^2·K. Then, the boundary condition would be gradient = heatflux / (kappaEff * cp0 *rho0) But look to the existen wallHeatFlux b.c. Regards David 

November 16, 2010, 09:33 

#19 
New Member
Nadeem
Join Date: Mar 2009
Location: MÃ¼nchen, Bavarian, Deutschland
Posts: 24
Rep Power: 17 
Hi David,
If you dont mind, can I ask you? whats the difference between snGrad and simple grad in OpenFOAM? Actually, am asking it because generally we say. q =  k grad(T) is it equivalent to openfoam like q = k snGrad(T)... Thanks in advance. Best Regards, Ubaid 

November 16, 2010, 14:22 

#20 
Member
David
Join Date: Dec 2009
Location: Spain
Posts: 62
Rep Power: 16 
Hi ubaid
snGrad is the gradient normal to a surface. The gradient term can be evaluated in different manners, and in the case of the temperature gradient at the wall, the heat flux expression q=k(DT/DX) employs the gradient normal to that wall, so snGrad is the correct way. I suggest you to take a look to the Programmers Guide, I think it explains this better than me. Hope it helps, regards David 

Thread Tools  Search this Thread 
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Wall with fixed heatFlux boundary condition  Martin Lorenz (Lorenz)  OpenFOAM Running, Solving & CFD  33  December 21, 2020 05:59 
wallHeatFlux BC not constant after restart  eelcovv  OpenFOAM Running, Solving & CFD  26  May 24, 2011 23:11 