Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page

# Finding Degenerate Surfaces in EnergyPlus

My simulation won't run because I have 11 degenerate surfaces. We have tried to cut up all our large misshapen surfaces but that didn't help. I intersected and matched for the most part using the OpenStudio tool and hand matched and intersected those areas it didn't pick up. Ideally I would like to search for these surfaces and delete them but they don't seem to appear in the idf file. Does anyone know how I can search for degenerate surfaces?

edit retag close merge delete

@Annie Marston feel free to convert this to an answer and mark it as correct if you want.

( 2015-04-09 20:10:46 -0600 )edit

Sort by » oldest newest most voted

Here's another way to solve it: If you select "DisplayExtraWarnings" from the "Output:Diagnostics" object, you should see some warnings similar to this:

* Warning * GetVertices: Distance between two vertices < .01, possibly coincident. for Surface=C1000000_C24, in Zone=FC-1-1
* ~~~ * Vertex [3]=(98.38,70.59,3.05)
* ~~~ * Vertex [2]=(98.38,70.60,3.05)
* ~~~ * Cannot Drop Vertex [3]; Number of Surface Sides at minimum. This surface is now a degenerate surface.

Further down you will see your severe error that just counts up the number of degenerate surfaces. This is the only error you would see if you didn't use Output:Diagnostics, DisplayExtraWarnings:

* Severe * GetSurfaceData: There are 12 degenerate surfaces; Degenerate surfaces are those with number of sides < 3.
* ~~~ * These surfaces should be deleted.

It's not necessarily surfaces that have <3 sides initially. All of these surfaces had 4 points initially, and when combing through the model, also show up with 4 sides.

more

@Anna Osborne Brannon , I've selected "DisplayExtraWarnings" from the "Output:Diagnostics" but I still have only the severe error about the degenerate surface without having that kind of warning (above) instead I have this ** Warning ** GetSurfaceData: There are 2 coincident/collinear vertices; These have been deleted unless the deletion would bring the number of surface sides < 3. ** ~~~ ** For explicit details on each problem surface, use Output:Diagnostics,DisplayExtraWarnings;

( 2018-08-08 04:23:09 -0600 )edit

It appears I have solved my own problem. I looked in the text file for surfaces with only 3 verticies, checked those verticies to see how close they were and if they were very close deleted the surface. It seems to have worked wonders! Except for one surface, I have one surface left and I don't know how to find it. Would love other suggestions

Update: The degenerate surface has not stopped the simulation from running.

more

The diagnostic user Script --with both options set to True-- doesn't eliminate the remaining degenerate surface?

( 2015-04-10 10:44:19 -0600 )edit

Hi Kent, sorry this was the comment at the top that I changed to an answer as requested by Matthew Steen (I am trying to play by the rules!). I got rid of the first 10 surfaces the way i described above i just have to try to find that last one using the Script that David Goldwasser sent through. I'll put a final update on once I figure it all out.

( 2015-04-10 12:05:42 -0600 )edit

Hi Annie, just curious if your workflow still only consisted of going though the osm file and deleting surfaces with only 3 vertices. I received a model that is giving me the exact same trouble. I used the osm diagnostic script which I've used regularly and it actually didn't strip out the degenerate surfaces (swore it has, but at least not this time).

( 2015-05-06 09:23:15 -0600 )edit

Hi Kent,

I went through the text file with a find tool and deleted all the degenerate surfaces that way, weirdly there was one left which I couldn't find, but it wasn't crashing the simulation so I left it alone. This seems to be working ok for us at the moment

( 2015-05-06 16:54:03 -0600 )edit

If EnergyPlus tells you the name of the surface you can find and delete it with a text editor. You may also try the diagnostic user script in the plug-in described here. The diagnostic script has an option to delete for warnings, set that to true. It looks at small area while EnergyPlus looks at edge length do this may not find the surface. Eventually we want to make our test the same as EnergyPlus.

I also thought EnergyPlus just warned about these but kept running the simulation, but that may have changed.

more

1

Thanks David, unfortunately EnergyPlus doesn't tell me the name of the surface, just mysteriously tells me that there is a degenerate surface. I will try the user script but the link you set up doesn't seem to be taking me anywhere. I have a couple of other warnings on my file but nothing that has stopped it before, it does seem to be the degenerate surface that is causing the problem.

( 2015-04-09 19:19:20 -0600 )edit

Sorry, here is the correct link. I'll fix it in original post as well.

( 2015-04-09 21:06:04 -0600 )edit
1

@Annie Marston: Weird than it doesn't give you the name of the surface. Do you have Output:Diagnostics set to DisplayAllWarnings?

( 2015-04-10 05:56:23 -0600 )edit

Thanks Julien, it still doesn't give me the name which is annoying. I have solved the crashing problem though. there was another error in my model which was causing it to stop working and when we fixed that it ran through. Hooray!

( 2015-04-10 10:33:41 -0600 )edit

Glad to hear you got it working @Annie Marston

( 2015-04-10 11:51:50 -0600 )edit

I also met this problem today. But since I have no tight requirement on the accuracy of the vertices coordinates, I just changed the precision of coordinates instead of deleting the degenerated surfaces by hand. Finally, the errors were disappeared.

more