WindowConstrDyn together with WindowConstrShd?

Hi [@chris ],
I’m trying to set a dynamic window based on dynamic shades: In winter time i want the shades to be controled by a schedule and in summer by the amount of radiation on the window [OnIfHighSolarOnWindow] control type.
I was thinking the WindowConstrShd component is a valid input for the WindowConstrDyn … but sadly it is not. This is the error I get:

Runtime error (AssertionException): Expected WindowConstruction for WindowConstructionDynamic. Got <class ‘honeybee_energy.construction.windowshade.WindowConstructionShade’>.

Traceback:
line 114, in constructions, “C:\Program Files\ladybug_tools\python\Lib\site-packages\honeybee_energy\construction\dynamic.py”
line 63, in lockedsetattr, “C:\Program Files\ladybug_tools\python\Lib\site-packages\honeybee_lockable.py”
line 68, in init, “C:\Program Files\ladybug_tools\python\Lib\site-packages\honeybee_energy\construction\dynamic.py”
line 70, in wrapper, “C:\Program Files\ladybug_tools\python\Lib\site-packages\honeybee_lockable.py”
line 81, in script

So the question is if, at some point it can be possible and/or if this option makes sense?

Any ideas?
Thanks,
-A.

Hi @AbrahamYezioro ,

The “Window Construction Shade” and the “Window Construction Dynamic” are two very different ways to model dynamic window behavior. The first is fairly simplified with only two states and generalized control logic between the two while the second is meant for multi-state simulation where you know exactly which state governs at each timestep thanks to the schedule input.

It’s a little ambiguous what control strategy governs from your screenshot. Are you thinking that the Window Construction Dynamic component would interpret the input constructions as having the shade “Always On”? And it just uses the schedule to switch between these always on constructions?

Hi @chris,
I’m attaching a file. It will be easy to understand.
Basically you can see there 2 options:
Option 1 [at the bottom] is the one based on seasons where you activate the shade according to a schedule. It uses window constructions for the dynamic state, even though for this option it is no needed, just wanted to show/proof that it works just fine with such constructions.
Option 2 [At the top] doesn’t work becouse the DynamicWindow component doesn’t recognize the WindowConstrShd as a valid input. In this case I tried that the summer shade will be activated based on Radiation exposure, and the winter based on a “regular” schedule.

Hope it is clear now, and again, I wonder if such possibility makes sense for you, even theoretically.

Thanks!!
-A.
DynamicWindow_TMP_01.gh (71.1 KB)

Thanks for clarifying, @AbrahamYezioro ,

In this case the E+ objects that we use under the hood of the “Window Construction Dynamic” component are not designed to do what you want. This dynamic construction relies on the E+ EMS to essentially apply a schedule that swaps out otherwise static window constructions with one another.

If you were trying to model a window with 3 or more different states of blinds/shades, I could see why we could investigate the workflow that you describe with “Window Construction Dynamic.”

But, if you have only two window states, I would stick to using a single “Window Construction Shade” component and just make a sophisticated schedule_ for the component that includes all of the control logic that you want. I know that it requires many more grasshopper components, which include running a separate LB Directional Solar Irradiance, LB Incident Radiation or HB Annual Irradiance simulation of the window geometry to which you are applying the shade schedule. Then, you will take this radiation information to make the summer part of the schedule and make a standard set of repeating values for the winter part of the schedule and put it all into a HB Fixed Interval Schedule. Then, plug that into the HB Window Construction Shade and leave the _control_type_ blank. This will cause the shaded window to use the schedule for all of its control logic.

So I know that it is more work to build this schedule but I am confident that this will cause the E+ simulation to run the way that you want. Whereas what you are describing with the Window Construction Dynamic requires some really sophisticated EMS control logic, which is not currently supported by Honeybee and feels like it comes with a lot of potential for logic “glitches” if we make a mistake in the order of certain IF/THEN steps in the EMS.

Thanks @chris !
It was more a principle question, rather than a real case I’m dealing right now.
I understand the workflow you suggest … BUT … it is good for generic cases where no external considerations affect the solar exposure [like context].
Anyway, thanks again!!
-A.

1 Like