Brief explanation of how Boundary Conditions for convective heat transfer are set up in OpenFOAM. Three kinds of convection BC are explained. How to specify refValue, refGrad and valueFraction (f) for each case is detailed and developed mathematically.

Download file


Complete test case for the tutorial of the same name. Ready to be run!

Download case


Complete test case for the tutorial of the same name. Ready to be run!
It contains an interactive Allrun script that allows you to choose one out of two meshing methods.

Download case


Complete test case for the tutorial of the same name. Ready to be run!

Download case

BONUS CASE: CircuitBoardCooling_radiation.

This is a modified version of the original circuitBoardCooling tutorial case provided with OpenFOAM and solved with buoyantSimpleFoam. I used it during the development of my Final Thesis in order to test some BC’s that had a strange behaviour when radiation was playing the main role. The modifications I did are:

  • an Allrun script that allows switching the geometry dimensions (2D or 3D case) and the baffle type (2D or 3D baffle) has been created
  • pressure has been diminished to 1e-2 and Cp to 1e-5 so that the heat transfer by conduction/convection with the air has no influence
  • the effect of the radiation has been added (modelled with fvDOM)
  • the system has been closed so that no air flows through the patches. All external walls are now of type “externalWallHeatFluxTemperature”

Download case


7 thoughts on “Downloads

  1. Hola,
    me gustaria entender mejor el nultiregion approach y te agradeceri si me mandaras el foam:
    Gracis por los infoemes en tu Blog!

    Liked by 2 people

    1. Hi Tom,

      Now I’m unable to get it over to you and I won’t be able to for some days. I will try to send it to your e-mail this weekend if I can. I hope you can understand. If I haven’t sent it after this weekend, please, contact me again and I will!

      Best regards.


  2. Hi…Foamers….I am working on natural convection with radiationin open foam with buoyant simple solver,i want to implement the boundary condition like flux specified on boundary(q)=conduction(qc)+radiative heat flux(qr)

    i.e k(∇T)=q-∫I.dω +εσT^4 (how to implement this BC in open foam)

    Liked by 1 person

    1. Hi Chanakya,

      First of all, I appologize for my very late response. I don’t usually get feedback via direct reply on the site and I didn’t know that I had to moderate each of the replies I get manually in order to allow them to be visible. I am used to get feedback (but not a lot, I have to say) from the contact form in my “CONTACT” page. I’m sorry for that.

      Having said that, I bet you have already found the solution to your problem. If not, here comes my advice.

      As per your words, you must be working with fvDOM model (or maybe P1) for the radiation, right? If so, then you MUST specify some other variables in the 0/ directory, that is, G and IDefault (in case you use fvDOM, if you use P1 the setup is slightly different). In order to implement the boundary condition you mention you have to use “MarshakRadiation” for G and “greyDiffussiveRadiation” for IDefault (these are the BC’s used ALWAYS in fvDOM, otherwise the calculation -if done- would make no sense). Furthermore, you should use as a BC for temperature (T) something like “externalWallHeatFluxTemperature” with the field “Qr” properly set up to account for radiation into the energy balance of the patch. If you need an example, you can download the test case “CircuitBoardCooling_radiation” from this own page since where I used buoyantSimpleFoam solver and fvDOM for the radiation calculation.

      I hope my words can be handy for you. However, if you managed to solve it on your own (as I guess you did 😉 ), please, feel free to share your experience here.

      Again, I’m sorry for the very late response.

      Liked by 1 person

      1. Hi Alex,

        This post is really helpful. I would really appreciate if you can help me with some questions please:

        1) I have the same doubt you stated in this post ( If air is considered, I think that the absorptivity and emissivity should be 0, but in your case CircuitBoardCooling_radiation and the hotRadiationRoomFvDOM tutorial, the values are 0.5, and E is 0. Are those values constants of the radiation model?
        Also, I understand that E is the Emissive power in W/m^2
        absorptivity absorptivity [ m^-1 ] 0.5;
        emissivity emissivity [ m^-1 ] 0.5;
        E E [ kg m^-1 s^-3 ] 0;

        If I have solar radiation (W/m^2), should I put the value in E or in a specific patch of 0/T? Something like

        type externalWallHeatFluxTemperature;
        q 800;

        2) I am not clear what are G and IDefault, and why use MarshakRadiation. Do you have more information about it?

        3) If I have an inlet and outlet flow as patches, what values of G and IDefault should I have?

        Thanks in advance,


  3. Very informative article, I have always wondered how is it possible that OpenFOAM does not have direct option to apply heat source or convective boundary conditions (I mean why every user has to write its own solver to model a case with heat generation and/or convection). I was wrong 🙂 Thanks for such as nice explanation!

    Liked by 1 person

    1. Hi Amod Kumar,

      I’m glad to know that the information I’m sharing has been useful to you and I really appreciate you spent a few seconds of your time to give me some feedback. 🙂


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s