NREL / EnergyPlus

EnergyPlus™ is a whole building energy simulation program that engineers, architects, and researchers use to model both energy consumption and water use in buildings.
https://energyplus.net
Other
1.15k stars 392 forks source link

Daylighting is broken for complex fenestration with a shading layer #7128

Closed mjwitte closed 5 years ago

mjwitte commented 5 years ago

Issue overview

  1. Daylighting illuminance values are all zero for complex fenestration with a WindowMaterial:ComplexShade and SplitFlux method. Problem was introduced in v9.0, most likely in #6855 but that has not been confirmed.

  2. Example files CmplxGlz_Daylighting_SouthVB45deg.idf and CmplxGlz_Daylighting_SouthVerticalVB45deg.idf both have Daylighting:Controls "Fraction of Zone Controlled by Reference Point 1" set to 0.0, so that daylighting controls are inactive. This should be changed to 1.0.

Initial user post:

I am modelling a zone illuminated by a CFS window with the SplitFlux method. While the window transmittance and the solar gains seem to be calculated correctly (changing accordingly to the type of shading layer included), the illuminance over every Reference Point is zero anytime a shading layer is included. On the other hand, if I simulate the same window without shading layer, the illuminance is calculated correctly. I tried to model different shading layers, but the result is always the same. as a side note, I would like to mention that also in the example CmplxGlz_Daylighting_SouthVerticalVB45deg the same problem occurs.

More from user

two critical points regarding the modelling of dynamic complex fenestration systems:

1)DElight output (in all the versions I tested 8.5 8.9 &9.0) of a CFS including a complex shade and a double glazing (copied directly in the building idf) is 0 lux on any reference point. Note that if using DElight in the example EMSThermochromicWindow the output os produced: the problem apparently is the shading layer.

2)Whenever actuating a CFS with through the EMS Contruction State actuator, the thermal balance and the solar gains are calculated correctly, while daylighting is not affected by the actuator (I read of similar problems in https://github.com/NREL/EnergyPlus/pull/6801). This occurs in any version (8.5, 8.9 9.0). You can notice it also in the example EMSThermochromicWindow v 8.9 if inserting a SplitFlux or DElight control in ZN1 (solar transmitted radiation affected by the actuator, but Illuminance not affected even if differently calculated by the two daylighting methods).

Apparently those two bugs make impossible to properly simulate CFS (with more advanced daylighting calculation method) and to actuate any CFS dynamically (lights internal loads & daylighting are wrong).

Details

Some additional details for this issue (if relevant):

Checklist

Add to this list or remove from it as applicable. This is a simple templated set of guidelines.

mjwitte commented 5 years ago

@vidanovic This is the issue I was referring to. Let me know if you'll be able to look at it.

vidanovic commented 5 years ago

@mjwitte will take a quick look and let you know if can get some time to fix this.

vidanovic commented 5 years ago

@mjwitte @Myoldmopar Seems that potential problem is in Daylighting Method in Daylighitng:Controls object. It looks like that was added in E+ 8.6. BSDF Windows does not have SplitFlux nor Delight method since they would not make sense in this case. I would assume that there were some changes in daylighting calculations in 8.6 that might have influenced BSDF.

mjwitte commented 5 years ago

The new object was a consolidation of the two existing inputs Daylighting:Controls and Daylighting:DElight:Controls into a single object with a switch for the method. Has daylighting ever worked with BSDF? And with which method?

vidanovic commented 5 years ago

Yes, BSDF have worked with Daylighting:Controls, which we could check in 8.5. I remember doing some comparison vs radiance and it was pretty good actually. We never named BSDF daylighting method. The best name would be BSDF Method, but then no point to have that choice with other simplified models.

mjwitte commented 5 years ago

Well, it's too late to add a new daylighting mode option for this release - wish we would have realized that back when we did that. So, if BSDF glazing is present in the file, can we swtich the daylighting method and throw a warning for now?

vidanovic commented 5 years ago

At least one good thing is that I can see calculations are still performing. They seems only not being reported. However, there are a lot of coefficients that need to be calculated in daylighting and that needs to be checked. I just could not remember quickly where those coefficients were suppose to be saved into coefficients. Temporary solution would be to use SplitFlux flag but still perform BSDF calculations for BSDF windows.

mjwitte commented 5 years ago

OK - can you point me to the spot in the code that needs fixing?

vidanovic commented 5 years ago

Well, that is the problem. I do not know where is that now. If you look at EngineeringReference Table for Variables in Daylighting Calculations, there is variable dsky which in code was named DFACSK. If you search in code for that variable, it is not there anymore (unless my VS is broken which happens for time to time). Not sure when that got renamed. Possible when switching to C++. Place where that variable is written too is not called anymore.

mjwitte commented 5 years ago

OK - I'll look back at v8.5 and try to understand how that worked and then see if that informs the fix for v9.1. If you have any other inspiration on this, let me know here. Thanks.

vidanovic commented 5 years ago

OK. Thanks!