Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Why does the zone temperature change when II block all heat exchange with the external world

asked 2021-11-10 00:06:33 -0500

halimgur's avatar

updated 2022-02-19 08:01:45 -0500

I am testing the EnergyPlus python API while building up experience with EnergyPlus. I constructed an IDF file that defines a rectangular box (50 m x 100 m x 10 m). The walls are concrete and the roof is steel. There are no windows. In the weather file I set dni=ghi=0 through the year and made the ambient dry bulb temperature constant at 20 oC for every hour through the year in the weather data file.

The floor is a concrete slab. The monthly ground temperatures are set as:


There are no controls defined in the IDF file and there is no ventilation. There are no People, Lights, Equipment, and Infiltration entries in the IDF file.

The following EWP columns are set to the values shown:

  • Direct Normal Radiation, Wh/m2 = 0.1 (0.1 instead of 0 because I was worried about possible EP data validity checks, unlikely but just in case)
  • Global Horizontal Radiation = 0.1
  • Horizontal Infrared Radiation Intensity, Wh/m2 = 0.1
  • Diffuse Horizontal Radiation, Wh/m2 = 0.1
  • Dry bulb temperature,°C = 20
  • Dew point temperature, °C = 20

I would expect a constant zone air temperature when I run the simulation but the simulated zone air temperatures vary as shown in the following image:

For the first 960 hours of the annual simulation:

image description

and for one day (Hours 2400 to 2424):

image description

The y-axis is what is output to the CSV file by the following IDF line:

  • "Output:Variable, * ,Zone Air Temperature,Hourly;"

All walls are SunExposed and WindExposed. The sun input is set to near zero. I did not set the wind speed to zero because I did not expect significant convection when the outside air and the floor are at the same temperature through the year and there are no internal loads.

The algorithms are set in the IDF file as follows:

  • HeatBalanceAlgorithm,ConductionTransferFunction;
  • SurfaceConvectionAlgorithm:Inside,TARP;
  • SurfaceConvectionAlgorithm:Outside,DOE-2;

Finally, I used the EnergyPlus python API and ran the simulation using the following python script:

api = EnergyPlusAPI()
state = api.state_manager.new_state()
if log:
    global APILOG
    api.runtime.callback_end_zone_timestep_after_zone_reporting(state, time_step_handler), u"Zone Air Temperature", u"ZONE ONE")

The APILOG was to log the zone air temperature during simulation computations. I was exploring what might be happening. The values recorded in the "apilog.csv" file are similar to those shown in the chart shown above.

The following are the links to download the IDF and EPW files:

The EPW file:

The IDF file :

There may be internal routines in EP that take over when the weather data are not reasonable. But I do not think this is likely. Is there anyone who can suggest an explanation?


edit retag flag offensive close merge delete

2 Answers

Sort by » oldest newest most voted

answered 2021-11-11 14:23:47 -0500

updated 2021-11-12 09:34:05 -0500

I'm assuming dni and ghi are normal and global solar (Wh/m2)? What about diffuse solar, is it also zero? Are there any internal loads in the model (People, Lights, Equipment, Infiltration)?

Update: Upon inspection of your weather file, dry-bulb temperature is constant 20C and Normal and Diffuse Solar are constant 0.1, but all other aspects of the weather file are varying throughout the year. Global solar varies between 0.1 and 0.2 throughout the year. These non-zero solar gains are what's causing the temperatures to rise in your space. Also, because you changed the dry-bulb temperature, but did not change the other variables (wet-bulb, pressure, RH, etc.) to represent a realistic psychrometric state, it may cause issues with the simulation because the states don't exist as they're defined in the weather file. The relationship between state variables is tabular, so all variables can be looked up if given two state variables. But if you change one without changing the others, this does not represent a realistic state.

image description

edit flag offensive delete link more


The diffuse solar was not set to zero. I repeated it with setting that one to zero too. The zone temperatures were now lower but still non-sensical. I edited my initial post with better documentation of what I did and with a chart of the calculated zone temperatures.

halimgur's avatar halimgur  ( 2021-11-11 18:56:41 -0500 )edit

can you post the IDF and EPW so we can take a look?

ericmartinpe's avatar ericmartinpe  ( 2021-11-11 19:21:55 -0500 )edit

I added the links to IDF and EPW files to the end of my original post. Thanks.

halimgur's avatar halimgur  ( 2021-11-11 20:00:49 -0500 )edit

I suggest using Elements to view/edit weather files if you're not already.

ericmartinpe's avatar ericmartinpe  ( 2021-11-12 09:37:02 -0500 )edit

You make a good point. I did not change the wet bulb and RH values because I did not think they would affect the outside convection. But you are right. EP may have data validation checks and ways of dealing with inconsistent data. I will try again this time with constant data.

Thank you for the "elements" link. It looks like more than a file viewer. For example, it looks like it is ignoring the dew point entries in my weather data file and computes the wet bulb and dew point using my dry bulb and RH values.

I will post again after recomputation.

halimgur's avatar halimgur  ( 2021-11-13 01:03:55 -0500 )edit

answered 2021-11-21 19:02:23 -0500

halimgur's avatar

updated 2021-11-21 19:15:48 -0500

With ericmartinpe's help as acknowledged above in my comments, I am now able to answer my own question.

The wind speed was the reason the internal temperature varied through the year even when the solar irradiance (all components) were set to zero and ambient temperature and humidity stayed constant through the year.

In my first posting, I had left the wind speed as it was in the original data file because I thought that the convection heat transfer would stop after the internal temperature became equal to the ambient dry bulb temperature. But I had forgottenabout the sky temperature. The sky teperature made the steel roof much colder than the ambient temperature and this caused convection heat transfer at rates varying with the wind speed as expected. When I set the wind speed to zero, then I get the following temperature traces:

image description

The above temperatures (the numbers are temperatures in oC) were generated by EnergyPlus using an artificial EPW file where the following environmental data were made constant through the year and day and night:

  • DNI (Direct Normal Irradiance) = 0
  • GHI (Global horizontal irradiance) = 0
  • Ambient dry bulb temperature = 20 C
  • Ambient relative humidity = 25%
  • Atmospheric pressure = 100 kPa
  • Dew point temperature = as computed for Tdb=20, RH=25% and P=100 kPa.
  • Wind speed = 0 m/s
  • Horizontal Infrared Radiation Intensity = 0
  • Diffuse Horizontal Radiation=0

The floor is "Floor:Adiabatic".

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Training Workshops


Question Tools

1 follower


Asked: 2021-11-10 00:06:33 -0500

Seen: 236 times

Last updated: Nov 21 '21