-
Notifications
You must be signed in to change notification settings - Fork 392
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
Check if two surfaces are coplanar prior to issuing "not fully enclosed" warning #7383
Comments
I think I have this exact bug. I added ceiling cavities to models to correctly model duct leakage using the ZoneHVAC:AirDistributionUnit object. Here is a google drive link with an example file. I'm pretty sure all the vertices are specified correctly since the ceiling cavities were made with some ruby code, and they work fine with all the other buildings I tried it on. I've also checked the autocalculated floor area and volume of the ceiling cavities, which are correct. I'm confident I can get rid of the unenclosed warnings if I split up the floor and ceiling surfaces wherever the ceiling cavities walls have vertices. This has worked for me before, but is a lot of work. My main concern is if EnergyPlus results will differ if I do or do not fix the unenclosed warnings. If this warning is just a helpful output for the user in case of wrong specification, then I will ignore it. |
@mldichter These warnings are produced when attempting to auto-calculate the zone volume. You should be able to confirm what the autocalculated zone volume is even when it throws this warning. With an incorrect zone volume, zone capacitance is mildly affected, but any inputs or outputs in ACH will be wrong. If you specify the volume in the Zone object, then these warnings may still appear, but the user input zone volume will be used so you can be sure it's what is should be. |
After a lot of effort I finally figured out what was the issue. I never managed to replicate it by doing test models, so I ended up cleaning up @mldichter 's model down one bit at a time. I reimplemented most of the geometry functions in python so I could debug more easily... and it turns out it's a tolerance that's too high, coupled with the fact that @mldichter 's model has plenums that are VERY long, like 55m but only about 0.3m high. This routine basically tries to add extra vertices to a surface to split it up, and it checks whether the vertex is not the same as start and end point, and whether it’s on the same line EnergyPlus/src/EnergyPlus/SurfaceGeometry.cc Line 12379 in b5702d0
EnergyPlus/src/EnergyPlus/SurfaceGeometry.cc Lines 12700 to 12707 in b5702d0
Essentially the root of the problem is that some of the wall vertices that are supposed to match with the floor are added to the roof and vice versa, because the tolerance is too high compared with the width/height ratio of the zone |
…dling: distance between point on line compute the distance from point to line and check that this is < 1.27 cm. Then you can check if it's on that line.
#7383 - Avoid issuing 'not fully enclosed' warning when zone is in fact enclosed
Issue overview
The warning message:
** Warning ** CalculateZoneVolume: The Zone="X" is not fully enclosed. To be fully enclosed, each edge of a surface must also be an edge on one other surface.
Can get triggered even if the volume is fully enclosed but that one of the sides is made up of multiple coplanar pieces.
Add an additional level of checking for this coplanar case to reduce the times this warning message is shown.
See #15210 on helpdesk.
Checklist
Add to this list or remove from it as applicable. This is a simple templated set of guidelines.
The text was updated successfully, but these errors were encountered: