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

How can I modify the source code of E+ to allow shading control to be such as fractions (instead of shades being either fully closed or fully open)?

asked 2020-12-13 08:46:41 -0500

sekaina's avatar

updated 2020-12-14 14:24:29 -0500

I want to modify the source code of E+ to allow shading control to be such as fractions (instead of shades being either fully closed or fully open). It will influence the solar radiation transmitted to the zone through the window. That's why I don't want that my modifications distort the calculations done by E+. I'm wondering if there is someone who had worked on that (so may be I can use his code if it's possible) or if someone would help me with that (I've already done some modifications on the source code but I am not sure that it works as I expect). Thank you!

edit retag flag offensive close merge delete


Are you talking here about a window overhang? what kind of shades are you interested in modeling? Have you tried using the transmittance schedule to control the deployment of your shade as attempted in this post? would that work for your case?

Ammar De's avatar Ammar De  ( 2020-12-19 17:48:05 -0500 )edit

I'm trying to model exterior shades (for windows) that can have intermediate states between 0 (fully open) and 1 (fully closed). I don't know if I can model exterior shades in Shading:Building:Detailed because this object is for shades such as trees or other buildings. In this case, may be I can use the transmittance schedule to control the deployment of shades. What do you think ? Thank you !

sekaina's avatar sekaina  ( 2020-12-22 01:53:21 -0500 )edit

2 Answers

Sort by » oldest newest most voted

answered 2020-12-15 17:45:08 -0500

updated 2020-12-18 22:13:22 -0500

To modify the source code it is a quite a big issue, why go to make life so complicated ?

Yuo may want to use a Solar Trasmittance value of WindowMaterial:Shade object (as example) properly modified to take into account the system is not fully closed: a drapery with 10% solar trasmittance, closed for a half, you accept it as fully closed but with a solar trasmittance of 55% = 0.5 * 10% (half closed) + 0.5 * 100% (half open)

You can even think to make change this value dinamically to take into account various blind position (%Closing). This can happen only on condition that an Actuator is able to access solar transmittance value. You may want to check the EDD file. To get it you need to include a Output:EnergyManagementSystem object in your IDF file and run a simulation


I have fixed the value ​​in the example I had exposed, it was incorrect.

@shorowit no problem for me too!

I toally agree with @willyJohan's proposal: having in mind the N positions your shading device can assume(e.g. 0/4 =fully open, 1/4, 2/4, 3/4, 4/4 =fully closed), you can try dividing your opening into N-1 smaller equally spaced openings , to which going to apply the same shading device. Keep in mind to eventually adjust frame and dividers thickness, and sill depth to account for this trick

edit flag offensive delete link more


I’m not aware that you can actuate the solar transmittance. Where do you see that you can do that?

shorowit's avatar shorowit  ( 2020-12-16 08:04:18 -0500 )edit

Maybe I came out wrong. I mean, the question is to check if there is an Actuator able to access solar trasmittance value, looking in the EDD file

Ag's avatar Ag  ( 2020-12-16 11:20:49 -0500 )edit

Ah, no problem. I misunderstood.

shorowit's avatar shorowit  ( 2020-12-16 11:22:49 -0500 )edit

Thank you for your responses. I checked the EDD file. Unfortunately there is no actuator able to access solar transmittance value. Do you have any other suggestion ?

sekaina's avatar sekaina  ( 2020-12-17 04:05:19 -0500 )edit

How about dividing your window into multiple equal sized smaller windows each with its own shade object, and controlling those separately to mimic different levels of openness?

willyJohan's avatar willyJohan  ( 2020-12-17 13:37:19 -0500 )edit

answered 2020-12-22 22:34:08 -0500

Ammar De's avatar

Since there is a comment character limitation, I am posting this as an answer. You can model attached shading surfaces (overhangs/fins) using the Shading:Zone:Detailed object which also provides the option of defining a transmittance schedule that could replicate the activation of your shading similar to the post I mentioned in my previous comment (Post). The question is what sort of technology are you trying to model, this can help in determining the equivalent transmittance value that will mimic the specific intermediate state of your shade.

The transmittance schedule option should work for attached shading surfaces (e.g. overhangs/fins), if you want to model other types of shades such as exterior blinds/shades then you can check the answer posted by @Ag.

Side note: I think you can use the Shading:Building:Detailed for the same purpose although it is meant to be used when defining a detached shading surface. Others can confirm this!

edit flag offensive delete link more


The Shading objects are of course far simpler than the WindowMaterial objects. The WindowMaterial models will do calculations related to A) absorbed solar, B) reflected solar that is re-reflected or re-absorbed by the window, C) adjustments to convection heat transfer, D) blind slats as applicable, etc. That said, it may be fine to ignore all these effects for some use cases, so +1 for a clever idea.

shorowit's avatar shorowit  ( 2020-12-23 10:53:26 -0500 )edit

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



Asked: 2020-12-13 08:46:41 -0500

Seen: 221 times

Last updated: Dec 22 '20