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

Why can't EnergyPlus handle surfaces which contain a hole?

asked 2016-09-16 03:51:36 -0600

updated 2016-10-18 14:42:49 -0600

I understand that EnergyPlus can't model surfaces which contain a hole (as in this question), but I don't understand the reason behind it.

Can anyone explain what part of the EnergyPlus engine/calculation algorithm has difficulty with this kind of surface?

edit retag flag offensive close merge delete



Disclaimer: this is just a guess. I think the only "reason" is a limitation in the specification, i.e., you cannot specify two lists of vertices in one object. But I don't think there is any deep fundamental reason why you could not a subsurface which is a hole. Would be happy if someone who knows relevant pieces of the code deeply would confirm or correct.

__AmirRoth__'s avatar __AmirRoth__  ( 2016-09-16 07:50:54 -0600 )edit

That would make sense, and explains why @Ivan Korolija's approach works - and is probably the simplest method, so long as you can live with the non-convex surface warnings.

Jamie Bull's avatar Jamie Bull  ( 2016-09-17 03:18:08 -0600 )edit

Once you make a simplifying assumption on such a basic input like surface geometry, every algorithm that that is developed that uses that basic input is likely to to be streamlined to take advantage of that simplification.

JasonGlazer's avatar JasonGlazer  ( 2016-09-19 09:15:22 -0600 )edit

1 Answer

Sort by » oldest newest most voted

answered 2016-09-29 16:13:58 -0600

The shading algorithms date back to BLAST and TARP which only supported rectangles and triangles. EnergyPlus 1.2.1 extended these algorithms to allow for more general polygons, but support for concave surfaces and holes was not implemented. The main function for this is SolarShading::DeterminePolygonOverlap. I don't know how difficult it would be to add this capability.

From the Engineering Reference (v8.5).

Polygon Clipping Algorithms

Two methods for polygon clipping (treating of overlapping shadows) are currently in use in EnergyPlus.

  • Convex Weiler - Atherton
  • Sutherland – Hodgman

The original EnergyPlus method for polygon clipping is a special version of the Weiler-Atherton model (Weiler, Atherton, 1977). It was developed to be sufficiently general to clip concave polygons with holes. The implementation in the current version of EnergyPlus, however, does not support concave shadowing surfaces or holes.

edit flag offensive delete link more


This is probably something Stuart Mentzer knows at this point given the amount of time has spent dancing with this code.

__AmirRoth__'s avatar __AmirRoth__  ( 2016-09-29 16:33:46 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer


Question Tools

1 follower


Asked: 2016-09-16 03:51:36 -0600

Seen: 432 times

Last updated: Sep 29 '16