NREL / openstudio-model-articulation-gem

Other
7 stars 9 forks source link

Issue running WWR after prototype for secondary school #76

Open DavidGoldwasser opened 3 years ago

DavidGoldwasser commented 3 years ago

I replicated this UH post on mac 3.2.1 and saw same error. I used default values for both measures (other than changing building type for prototype. Using apply measure now in OS Application for test. https://unmethours.com/question/56291/running-wwr-with-doe-prototype-building-giving-this-error-optional-not-initialized/

DavidGoldwasser commented 3 years ago

There does appear to be an orphan sub-surface in the prototype secondary school.

OS:SubSurface, {840a7df4-740c-4408-8c73-04780c0c04ff}, !- Handle Aux_Gym_ZN_1_FLR_2_Wall_2_window_1, !- Name FixedWindow, !- Sub Surface Type , !- Construction Name , !- Surface Name , !- Outside Boundary Condition Object , !- View Factor to Ground , !- Frame and Divider Name 1, !- Multiplier , !- Number of Vertices 24, 0.05, 6.502695, !- X,Y,Z Vertex 1 {m} 24, 0.05, 3.69730532, !- X,Y,Z Vertex 2 {m} 24, 51.95, 3.69730532, !- X,Y,Z Vertex 3 {m} 24, 51.95, 6.502695; !- X,Y,Z Vertex 4 {m}

DavidGoldwasser commented 3 years ago

Set WWR runs after that, but with the default that both splits walls at doors and triangulates windows for non-rectaugular base surfaces something goes wrong.

Pre - WWR

Screen Shot 2021-07-09 at 7 10 51 PM

Post WWR

Screen Shot 2021-07-09 at 7 08 55 PM
DavidGoldwasser commented 3 years ago

Split door makes a mess, below are orig model, 0.1 wwr without altering doors so those base surfaces are skipped, and then split door. This split at door may be the cause of the issue here, wonder if recent geometry work has altered this behavior. https://unmethours.com/question/56397/set-wwr-by-facade-measure-is-increasing-the-area-of-the-windows-than-what-is-specified/

Screen Shot 2021-07-09 at 7 10 51 PM Screen Shot 2021-07-09 at 9 22 02 PM Screen Shot 2021-07-09 at 9 27 17 PM

When I open I have 1713 errors of the types below. Number of base surfaces up to 1210 from 325. For context the model appears to have 32 doors so I would expect roughly 32 additional base surfaces.

Error: Aux_Gym_ZN_1_FLR_1_Wall_5 This planar surface shares the same SketchUp face as Aux_Gym_ZN_1_FLR_1_Wall_2. This error cannot be automatically fixed. The surface will not be drawn.

Error: Sub Surface 260 This sub surface is missing its base surface, it cannot be drawn.

DavidGoldwasser commented 3 years ago

Choosing Remove Doors is best option. Can use Do Nothing to Doors but that will result in fenestration not be changed for base surfaces hosting the doors. I need to look at measure tests for split door to see if this is wide spread or isolated issue. Should probably at least test across prototype models.

Screen Shot 2021-07-09 at 9 41 32 PM
DavidGoldwasser commented 3 years ago

For reference basic door split measure test works fine.

Screen Shot 2021-07-09 at 10 03 58 PM
DavidGoldwasser commented 3 years ago

I should go back to 3.0 or 3.1 and examine the behavior

DavidGoldwasser commented 3 years ago

I confirmed the issue exists in both OpenStudio 3.1 and 3.0, so it isn't related to new geometry code.

tijcolem commented 3 years ago

There should be a fix in place to address this issue https://github.com/NREL/OpenStudio/pull/4431 @DavidGoldwasser If you can, would you be able to confirm that one of the installers on that PR fixes the issue?

DavidGoldwasser commented 2 years ago

Testing this now. I see the orphan issue in standards was fixed here but wasn't in installer I'm using. Until then I'm adding measure to test workflow to remove orphan surfaces https://github.com/NREL/openstudio-standards/commit/92ebca55b3ed5317a91519d535a35509b50f0b46#diff-d4c3fe5633b30582b2dd0b82069852166f0be5593b3e83574782d899477039b3

DavidGoldwasser commented 2 years ago

Sorry for my delay in this still seeing issues. Here is secondary school prototype before WWR

Screen Shot 2021-09-25 at 2 10 50 PM

And here it is after, typical throughout the building.

Screen Shot 2021-09-25 at 2 11 49 PM Screen Shot 2021-09-25 at 2 12 10 PM

I don't think it is related, but for what it is worth the ThreeJS viewer does bad a the raw Prototype model (this is before WWR is run, but note it is clean when viewed in SketchUp which is what earlier screenshots are from. We don't have a lot of prototypes with multiple doors and multiple windows in a single base surface.

Screen Shot 2021-09-25 at 2 08 24 PM

Here is the workflow I setup for testing https://github.com/NREL/osw2osa/blob/new_sec_sch_wwr_intersect_test/workflows/proto_sec_wwr/in.osw

Note: outside of the problematic slivers, this model should have any triangular windows or sub-surfaces. I have the argument true to triangulate non rectangular base surfaces, and to add triangular windows, but that shouldn't have been necessary, there are not any non-rectangular surfaces and splitting at doors should not change that.

DavidGoldwasser commented 2 years ago

When I choose the remove doors argument in WWR measure it looks like it should.

Screen Shot 2021-09-25 at 2 29 47 PM
DavidGoldwasser commented 2 years ago

Ok, so part of the problem is SplitSurfaceForSubSurfaces behavior. It if fine in unit test for model but not for this prototype model. I'll confirm in a bit what this does in 3.2.0 vs. 3.2.2 https://github.com/NREL/openstudio-model-articulation-gem/blob/develop/lib/measures/SetWindowToWallRatioByFacade/measure.rb#L321

Screen Shot 2021-09-25 at 3 11 19 PM

It could be the rest of the error is in the measure. I have an argument to triangulage non-rectuanlar suraces if the arg is set to true, and that is treating these as non-rectuagular and splitting the, and then another bool supports adding windows to triangular surfaces. The goal was to support WWR for complex base surfaces by triangulating them first, but it is not recognizing all rectangles as rectangles.

@ggartside the split door issue is core OS, but the other part may be in the measure, if you can't look at the part in the measure I can do that.

DavidGoldwasser commented 2 years ago

So the issue with some rectangles not being recognized I think came in with 3.1.0, it actually shows up on simple test model earlier in this post. If I change the round to 4 digits instead of 8 it now seems them as rectangular and puts more typical window there as shown here. https://github.com/NREL/openstudio-model-articulation-gem/blob/develop/lib/measures/SetWindowToWallRatioByFacade/measure.rb#L344-L346

Screen Shot 2021-09-25 at 3 30 08 PM

So the main issue left seems to be the split at door method in core OpenStudio

ggartside commented 2 years ago

@DavidGoldwasser Can you email me or attach the secondary school model with doors but without the surface subdivision so I can check this out?

A couple of things I wasn't expecting to see, first is the very narrow & tall surface adjacent to the doors and secondly these sub-surfaces not being rectangular so I definitely want to look at the coordinates after the surfaces are subdivided.