Heat mapping and temperature gradients

Hi. I’ve been using ladybug and honeybee tools for a while now for different kinds of studies. Now, I am pursuing a new study where I am currently encountering a roadblock.

The study is basically an outdoor study on mapping the heat emitted by the building masses at different heights/levels. If possible, it would be great if the result can be isolated from the effects of solar radiation. Basically, we are only visualizing and mapping the temperature gradient of the heat that is being emitted by the building. I am thinking that this is a function of radiant temperature studies.

Kindly let me know if anyone has any ideas on how to go about this. Thank you!


Honeybee has a component called Read EP Surface Result which contains surface energy data. When you run your simulation, make sure that you use the Generate EP Output component to select surface energy analysis as an output.

If heat is being emitted from the buildings, the energy will be reported as a negative (heat loss).

Forgot to address removing the impact of solar.

For your glass materials, you can subtract the transmitted solar energy from your glass heat transfer, and that should isolate just the conduction contribution of your glass heat transfer. So specifically: glazEnergyFlow - windowTotalSolarEnergy = GlazingConduction.

For the opaque construction, it’s a little trickier since the opaque energy transfer contributed from solar is not isolated and provided in the default results component. There may be a specific output you can call from EnergyPlus for this, but I think you can just ignore the solar contribution completely without huge inaccuracy.

If you have a rainscreen construction, then the energy transfer is occurring from the zone interior to your vented cavity, so that’s already shielded from solar and therefore it doesn’t have any meaningful impact on your heat transfer. If there’s no vented cavity the impact is limited to some thermal lag in the actual opaque construction, but that will be fairly minimal because the insulated assembly will prevent a large temperature deltas to occur.


Thank you for your response, Saeran. This is an interesting take on this concern.

Although what I intend to do is visualize the heat being emitted as a colored mesh (very much like a microclimate map) but for something like heat movement. I intend it to be something like a temperature gradient that represents the heat generated by buildings based on their material properties and heat gains.

The take on heat loss from the Read EP Result component is interesting but I’m not sure how I can use that if I want to map values on multiple points in a 3D space to generate my colored mesh.

Do you have any other insights on how this can be done?


The surface energy in the Read EP Surface Result is the ‘heat movement’. It will represent the change in heat transfer through different levels. If you connect it to the Color Surfaces by EP Result you will have your 3d representation. EnergyPlus is computing the value of the heat transfer at the center point of each surface, so if you want to be more precise, take the center point of each surface, and that collection of points is the computed heat transfer in 3d. If you subdivide the zone exterior surfaces to a greater degree, EnergyPlus will calculate the heat transfer for each of those points and you’ll get a finer gradient to create your mesh. If you do this you will see the gradient you’re looking for, as there’s many changing environmental conditions along that z axis that effect the heat balance: wind, solar, sky view factor etc (although the magnitude of the heat transfer will be minimal through opaque construction).


Thanks again for your response, Saeran. That is very insightful.

I gave it a quick try and I was able to map the heat losses and outdoor surface temperature (using a fine grid so it gave a nice gradient) on the surface itself.

That is very interesting but what I was trying to visualize is the heat that is being emanated from the surface. It’s like visualizing radiant heat in 3d space. I’m not actually sure if there is a ladybug/honeybee tool that does exactly this but it would be great if you have any insights or any leads that could help in developing this study?

Kindly let me know. Thank you so much!

Okay maybe we’re getting somewhere now. There are three heat transfer mechanisms: convection, conduction and radiation. You are asking to see just the radiation portion, correct?

In that case what you want is the following formula:

Qrs = a * e * sb * A * (Tsrf^4 - Tenv^4)

Qrs = Radiant energy exchange of a single surface with a surface in it's environment [Wh]
a = absorptivity of your surface [unitless]
e = emissivity of the environment surface [unitless]
sb = Stefan-Boltzman constant [5.67 * 1e-8 W/m2/K^4]
Tsrf = Temperature of your  surface [Kelvin]
Tenv = Temperature of environment viewed by your surface [Kelvin]
A = Surface area [m2]

For a single surface the total radiant exchange will be the sum of the radiant exchange for all surfaces it can “view” multiplied by that view factor.

Qrt = sum(f * Qrs)
Qrt = Total radiant exchange for surface with entire environment
f = view factor for that surface with the corresponding surface it's calculating it's radiant exchange with.

Pretty much everything in these equations you can retrieve from your existing HB model, except the view factor determination which can get kind of tricky, but there is a view factor method in HB to get those. You can also make a simplifying assumption if you have a simple environment. For example if you have a building in the middle of an empty site, you can assume that half the surface is exposed to the sky, and half the surface is exposed to the ground. So your view factor would be 0.5, 0.5 for each, and temperature of environment would be ground surface temperature, and the long-wave temperature of the sky.

Alternatively, there may be some built in method to retrieve radiation energy from the exterior surface, I just can’t think of one right now.


Thank you so much for that, Saeran!

That is a very interesting lead. I’ll see what I can do with these inputs and let you know of any developments.

Thanks again!