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

Revision history [back]

Let me start by saying that if you are a new user of OpenStudio / EnergyPlus, what you want to do is quite complicated.

In order to change a window construction assembly based upon the SHGC, you can use the Energy Management System (EMS) capability of EnergyPlus. This will require that for EACH window surface, you create:

  • Two EMS:Sensor objects to read the output variables 'Zone Windows Total Transmitted Solar Radiation Rate' and 'Surface Outside Face Incident Solar Radiation Rate per Area' from a window surface
  • One EMS:InternalVariable to read the area of the window surface
  • One EMS:Actuator object to change the Construction State of the window surface.

The remaining EMS objects you will require are:

  • Four EMS:ConstructionIndexVariable object to point to the four Construction objects that define the four window tint states you want to model.
  • One EMS:Program to define the code that determines what the four SHGC values / ranges are where you want to change the window tint state. Be sure to multiply the sensor for "Surface Outside Face Incident Solar Radiation Rate per Area" by the internal variable for window surface area to get the overall radiation rate in W.
  • One EMS:ProgramCallingManager to let EnergyPlus know when to execute the code in the EMS Program.

There is a worked out example of changing construction assembly surface assignment in the EMS Application Guide you can refer to.

Note that this approach will only work if the window construction assemblies are defined as individual layers using WindowMaterial:Glazing and similar objects instead of the WindowMaterial:SimpleGlazingSystem that assumes constant SHGC.

You cannot create or edit EMS objects within the OpenStudio application, so you will need to write a measure to incorporate this. There are EMS objects that have recently been added to the OpenStudio SDK, so you can write an OpenStudio measure instead of an EnergyPlus measure.