CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM

HeatFlux in buoyantBoussinesq

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree2Likes

Reply
 
LinkBack Thread Tools Display Modes
Old   November 26, 2009, 06:35
Default HeatFlux in buoyantBoussinesq
  #1
Member
 
Join Date: Nov 2009
Posts: 33
Rep Power: 7
stawrogin is on a distinguished road
Hello everybody,


I would like to use the buoyantboussinesq solver with a turbulentHeatFluxTemperature patch. The turbulentHeatFluxTemperature patch seems to need a name for the alphaEff-field (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
stawrogin is offline   Reply With Quote

Old   November 30, 2009, 13:00
Default
  #2
Member
 
Join Date: Apr 2009
Location: Karlsruhe, Germany
Posts: 96
Rep Power: 8
Thomas Baumann is on a distinguished road
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
Thomas Baumann is offline   Reply With Quote

Old   December 1, 2009, 06:48
Default
  #3
Member
 
Join Date: Nov 2009
Posts: 33
Rep Power: 7
stawrogin is on a distinguished road
Hello Thomas,

thanks a lot for your reply.

I looked a little bit in more detail into the Buoyant Boussinesq-solvers. 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 07:07.
stawrogin is offline   Reply With Quote

Old   December 1, 2009, 09:32
Default
  #4
Member
 
Join Date: Apr 2009
Location: Karlsruhe, Germany
Posts: 96
Rep Power: 8
Thomas Baumann is on a distinguished road
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 03:09.
Thomas Baumann is offline   Reply With Quote

Old   December 2, 2009, 03:50
Default
  #5
Member
 
Join Date: Nov 2009
Posts: 33
Rep Power: 7
stawrogin is on a distinguished road
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
stawrogin is offline   Reply With Quote

Old   December 2, 2009, 06:41
Default
  #6
Member
 
Join Date: Apr 2009
Location: Karlsruhe, Germany
Posts: 96
Rep Power: 8
Thomas Baumann is on a distinguished road
Hi Stawrogin,

I'm using OpenFOAM-1.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 Boussinesq-approximation if density changes can be neglected in every term, but buoyancy-effects 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 boussinesq-approximation.

Regards Thomas
murrdpirate and vitors like this.
Thomas Baumann is offline   Reply With Quote

Old   February 9, 2010, 04:01
Default
  #7
Member
 
David
Join Date: Dec 2009
Location: Spain
Posts: 58
Rep Power: 7
David_010 is on a distinguished road
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.
David_010 is offline   Reply With Quote

Old   February 9, 2010, 04:19
Default
  #8
Member
 
Join Date: Apr 2009
Location: Karlsruhe, Germany
Posts: 96
Rep Power: 8
Thomas Baumann is on a distinguished road
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 high-reynolds-turbulence-model.

But you're right, you don't need this all if you're solving a laminar flow.

Regards Thomas
Thomas Baumann is offline   Reply With Quote

Old   February 9, 2010, 04:35
Default
  #9
Senior Member
 
Jiang
Join Date: Oct 2009
Location: Japan
Posts: 186
Rep Power: 7
panda60 is on a distinguished road
Quote:
Originally Posted by Thomas Baumann View Post
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 high-reynolds-turbulence-model.

But you're right, you don't need this all if you're solving a laminar flow.

Regards Thomas
Dear Thomas Baumann,
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 ?
panda60 is offline   Reply With Quote

Old   February 9, 2010, 05:28
Default
  #10
Member
 
Join Date: Apr 2009
Location: Karlsruhe, Germany
Posts: 96
Rep Power: 8
Thomas Baumann is on a distinguished road
Hi panda60,

you need to understand how the temperature-field 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 Reynolds-stresses and the turbulent heat fluxes. I think everything is explained in the wiki
http://openfoamwiki.net/index.php/Bu...sinesqPisoFoam


So you calculate the temperature-field by using the RS. That means, if you use a wallfunction in the k-, elsilon-equation you are using this, because of the coupling, in your alphaEff-field and so in the temperature-field, too. But sometimes you're not allowed to set the turbulent Prandtl-number as constant, so you have to modify it to a function or even use a reynolds-flux-turbulence-model.

But if you solve with a wallfunction and a turbulent Prandtl-number you have to be careful how to get walltemperature-gradients or the temperature at the wall, because you determine these values with the aid of your "cell next-to-wall". But here are the values getting by linear interpolation wrong, because here is the wallfunction used (the same problem as getting the wall-velocity-gradient or the wall-friction).

Regards Thomas

Last edited by Thomas Baumann; February 9, 2010 at 05:54.
Thomas Baumann is offline   Reply With Quote

Old   July 12, 2010, 03:46
Default
  #11
New Member
 
Robert
Join Date: Mar 2010
Posts: 16
Rep Power: 7
rob3rt is on a distinguished road
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.
rob3rt is offline   Reply With Quote

Old   July 13, 2010, 03:18
Default
  #12
Member
 
Join Date: Apr 2009
Location: Karlsruhe, Germany
Posts: 96
Rep Power: 8
Thomas Baumann is on a distinguished road
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 flow-problem to set the right boundary condition...
Changing kappaEff to alphaEff you should be able to use the wallheatflux-utility.

Regards Thomas
Thomas Baumann is offline   Reply With Quote

Old   July 24, 2010, 09:08
Default
  #13
Member
 
Join Date: Dec 2009
Posts: 39
Rep Power: 7
marval is on a distinguished road
Quote:
Originally Posted by Thomas Baumann View Post
Hi Stawrogin,

I'm using OpenFOAM-1.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 Boussinesq-approximation if density changes can be neglected in every term, but buoyancy-effects 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 boussinesq-approximation.

Regards Thomas
Greetings!

Do you know how to implement it on OF-1.6.x? Following the instructions didn't work too well.

Regards
Marco
marval is offline   Reply With Quote

Old   July 28, 2010, 16:33
Default
  #14
Member
 
Join Date: Apr 2009
Location: Karlsruhe, Germany
Posts: 96
Rep Power: 8
Thomas Baumann is on a distinguished road
Hi,
I have never used OpenFOAM-1.6.x.

But it works using OpenFOAM-1.6 and the same data works with OpenFOAM-1.7.

Regards Thomas
Thomas Baumann is offline   Reply With Quote

Old   November 15, 2010, 10:58
Default Ambiguity kappaEff
  #15
New Member
 
Nadeem
Join Date: Mar 2009
Location: München, Bavarian, Deutschland
Posts: 24
Rep Power: 8
ubaid is on a distinguished road
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,
ubaid is offline   Reply With Quote

Old   November 15, 2010, 18:29
Default
  #16
Member
 
David
Join Date: Dec 2009
Location: Spain
Posts: 58
Rep Power: 7
David_010 is on a distinguished road
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
David_010 is offline   Reply With Quote

Old   November 15, 2010, 18:57
Default
  #17
New Member
 
Nadeem
Join Date: Mar 2009
Location: München, Bavarian, Deutschland
Posts: 24
Rep Power: 8
ubaid is on a distinguished road
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
ubaid is offline   Reply With Quote

Old   November 15, 2010, 20:21
Default
  #18
Member
 
David
Join Date: Dec 2009
Location: Spain
Posts: 58
Rep Power: 7
David_010 is on a distinguished road
Hi ubaid

Take a look to this thread:

HeatFlux in buoyantBoussinesq

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
David_010 is offline   Reply With Quote

Old   November 16, 2010, 10:33
Default
  #19
New Member
 
Nadeem
Join Date: Mar 2009
Location: München, Bavarian, Deutschland
Posts: 24
Rep Power: 8
ubaid is on a distinguished road
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
ubaid is offline   Reply With Quote

Old   November 16, 2010, 15:22
Default
  #20
Member
 
David
Join Date: Dec 2009
Location: Spain
Posts: 58
Rep Power: 7
David_010 is on a distinguished road
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
David_010 is offline   Reply With Quote

Reply

Thread Tools
Display Modes

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 On
Pingbacks are On
Refbacks are On


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


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