-
Notifications
You must be signed in to change notification settings - Fork 208
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Daylighting Controls translator should default to space name not zone name #4841
Comments
OpenStudio/src/energyplus/ForwardTranslator/ForwardTranslateThermalZone.cpp Lines 329 to 337 in 77ffac6
|
Hum actually if I stack two spaces atop each other with daylighting controls in each it works, because the ceiling -> floor does ends up an air boundary construction. |
@mdahlhausen surface intersecting + matching solves the E+ fatal m = osload('in.osm')
m.getThermalZones.select{|z| z.spaces.size > 0 and z.primaryDaylightingControl.is_initialized}.each do |z|
OpenStudio::Model::intersectSurfaces(OpenStudio::Model::SpaceVector.new(z.spaces))
OpenStudio::Model::matchSurfaces(OpenStudio::Model::SpaceVector.new(z.spaces))
end
m.save('in_matched.osm', true)
ft = OpenStudio::EnergyPlus::ForwardTranslator.new
w.save('in_matched.idf', true) Then the simulation works
|
I still think we should break API on this object, but probably not as close to the release as we are. I think the DaylightingControl object is due for an overhaul, we should remove the Fields primary/Secondary Daylignhting Control and Fractions from ThermalZone at least. Then I'm not yet 100% certain we should completely use the E+ API. The main differences between E+ and OS: E+E+: DaylightingControls, refers a Space or Zone Name, and has an extensible field set: OS:
|
Thanks @jmarrec. It seems like a lot prm testing models on openstudio-standards were from OS v1.11 and had residual surface matching issues. They only started causing simulation breaking errors in the latest OS/E+ versions, which should fail in my opinion. I agree with you that the daylighting control object needs an re-work, especially given the addition of spaces to EnergyPlus. |
Issue overview
This issue was uncovered in openstudio-standards testing, specifically this test.
The model fails in EnergyPlus, because space daylighting objects are binned together into a zone daylighting control. But the daylighting controls in the thermal zone don't share the same enclosure, which throws an error in EnergyPlus.
Current Behavior
The test errors applying daylighting controls to a multi-story multifamily building. This user model has 4 levels of corridor spaces, all stacked on top of each other, that share a thermal zone.
The baseline daylighting control method adds daylight sensors to the space, which looks like this in the .osm:
This gets translated to this object in EnergyPlus:
When this run, it hits this error in EnergyPlus:
Daylighting:Controls: invalid Zone or Space Name="THERMAL ZONE: L1-N_CORR" All spaces in the zone must be in the same enclosure for daylighting.
This issue appears similar to #4786
Expected Behavior
Daylight control object should retain its space assignment in EnergyPlus, not its parent thermal zone. Daylight depends on space geometry, and lots of spaces could be part of the same thermal zone.
Steps to Reproduce
Possible Solution
I suggest having the default translate each
OS:Daylighting:Control
object to its own space-levelDaylighting:Controls
in EnergyPlus.Details
Environment
Some additional details about your environment for this issue (if relevant):
Context
This is causing testing errors in App G baseline methods in openstudio-standards.
The text was updated successfully, but these errors were encountered: