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

How to Fix Negative Zone Volume

asked 2023-06-06 22:29:11 -0500

IanVG's avatar

updated 2023-06-07 16:07:40 -0500

I see that there are already two other posts on this issue, but unless I missed something, I didn't find a solution/workaround for this warning.

   ** Warning ** Indicated Zone Volume <= 0.0 for Zone=THERMAL ZONE 1
   **   ~~~   ** The calculated Zone Volume was=-3.18
   **   ~~~   ** The simulation will continue with the Zone Volume set to 10.0 m3. 
   **   ~~~   ** ...use Output:Diagnostics,DisplayExtraWarnings; to show more details on individual zones.

It seems that the reason that the zone volume is calculated as a negative number, is due to the direction in which one of the volume's surfaces was drawn. How do I ensure that the vertices are drawn counterclockwise in Sketchup?

Edit: Other two posts on this issue:negative zone volume and total wall area by ashrae 90.1 definition and Why a negative zone volume?.

edit retag flag offensive close merge delete



@IanVG are you working with SketchUp through the OpenStudio plugin or the Euclid plugin for EnergyPlus?

Aaron Boranian's avatar Aaron Boranian  ( 2023-06-07 09:35:59 -0500 )edit

I am working with the SketchUp through the OpenStudio plugin!

IanVG's avatar IanVG  ( 2023-06-07 15:48:23 -0500 )edit

I am having a very frustrating time replicating the zone, but the short-term fix is to select all the surfaces in the space/whole space and then use the Reverse Face commands. I thought that the the top surface being assigned the Floor type and the bottom surface being assigned RoofCeiling was the root of my problem with the negative zone volume calculation - it is not. I also thought it has something to do with the way I am modeling the surfaces - it does not. To be continued in further comments.

IanVG's avatar IanVG  ( 2023-06-15 16:39:25 -0500 )edit

It has something to do with the direction that the walls face. Coming from a mechanical engineering background, it's like there is a vector that points normal from the cross-product of two of the vectors that make up the wall face. If that vector points inward into the space, that indicates that the face that should be facing to the 'outside' is facing towards the 'inside.' You should make sure that the wall vector points to outside the space. To be continued.

IanVG's avatar IanVG  ( 2023-06-15 16:45:44 -0500 )edit

Playing around with the face vector direction (by using the Reverse Face command, I found that just one face pointing outwards, actually fixes this issue. All the other wall faces can be pointing inwards towards to the space, but the volume will still be calculated correctly. If there is a tool to methodically address this issue, I have not found it yet. In addition, to address the output diagnostics for looking at the vertex orientation, I found that the Info Tool in the OS App can help you find the vertices fairly easily.

IanVG's avatar IanVG  ( 2023-06-15 16:47:50 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2023-06-12 02:58:55 -0500

updated 2023-06-13 01:54:25 -0500

FYI, I'm adding such diagnostics to OpenStudio in PR#4843 so soon you'll have native methods to detect and fix incorrectly oriented surfaces. You can try one of the installers linked in the comments if you want.

Otherwise, in sketchup, look at your Thermal Zone 1, and check which faces are dimmer/lighter color than the others, that'll tell you you're looking at the other side. In SketchUp: Double click the space to enter the space group, then select the face, right click and select 'Reverse Faces' (thanks @Eric Ringold)

edit flag offensive delete link more



In SketchUp: Double click the space to enter the space group, then select the face, right click and select 'Reverse Faces'.

ericringold's avatar ericringold  ( 2023-06-12 09:29:08 -0500 )edit

You guys are amazing. I am pretty hyped to install the OpenStudio 3.7 alpha to try this feature out. In the meantime, I could not resolve this error. I tried all possibilities of Reverse Face, in addition to the Orient Face command (which did not work). I also tried the Flip Along Z-Axis command for the entire space, but that did not work and spit out a few Ruby errors.

IanVG's avatar IanVG  ( 2023-06-15 08:41:56 -0500 )edit

Julien, I am trying to figure out how to use the Alpha version of OpenStudio 3.7, is there a guide about how to do this?

IanVG's avatar IanVG  ( 2023-06-15 13:27:07 -0500 )edit

Just to follow-up, it looks like if even one face becomes reversed, then the negative volume error is resolved.

IanVG's avatar IanVG  ( 2023-06-16 11:00:32 -0500 )edit

You can just download the latest installers from the comments, currently Note that before this fix, OpenStudio and EnergyPlus use the same algorithm for computing the volume. Unless you're harcoding the volume in OpenStudio (which you are not), E+ calculates the volume for you. The result will be bogus (negative or not) if you have one or more faces facing the wrong direction.

Julien Marrec's avatar Julien Marrec  ( 2023-06-19 02:03:03 -0500 )edit

answered 2023-06-09 05:13:23 -0500

Keigo's avatar

updated 2023-06-09 05:14:56 -0500

I'm using Rhino + Grasshopper ecosystem for energy modelling, so my case might not help you.

Firstly, I recommend to output all warnings by setting as follows in your idf file.

    DisplayAllWarnings;      !- Key 1

I'm not sure if it can be set in OpenStudio...

Secondly, after running simulation, do you see warnings similar to the following in your err file?

   ** Warning ** CheckConvexity: Zone="6F_LOBBY", Surface="6F_LOBBY_SRF007" is non-convex.
   **   ~~~   ** ...vertex 2 to vertex 3 to vertex 4
   **   ~~~   ** ...vertex 2=[29.12,170.22,37.00]
   **   ~~~   ** ...vertex 3=[29.12,170.22,49.00]
   **   ~~~   ** ...vertex 4=[91.15,170.22,49.00]
   ** Warning ** GetVertices: Floor is upside down! Tilt angle=[0.0], should be near 180, Surface="6F_LOBBY_SRF015", in Zone="6F_LOBBY".
   **   ~~~   ** Automatic fix is attempted.
   ** Warning ** CheckConvexity: Zone="6F_LOBBY", Surface="6F_LOBBY_SRF016" is non-convex.
   **   ~~~   ** ...vertex 5 to vertex 6 to vertex 7
   **   ~~~   ** ...vertex 5=[91.15,170.22,37.00]
   **   ~~~   ** ...vertex 6=[91.15,162.47,37.00]
   **   ~~~   ** ...vertex 7=[91.15,162.47,32.00]
   ** Warning ** Indicated Zone Volume <= 0.0 for Zone=6F_LOBBY
   **   ~~~   ** The calculated Zone Volume was=-63155.13
   **   ~~~   ** The simulation will continue with the Zone Volume set to 10.0 m3.

The negative zone volume in my model was fixed by fixing the "upside down" warning and the "non-convex" warning. For example, if the surface with the warning is rectangle and has 4 vertices in your idf file in the followng order:

Vertex1 X,Y,Z -> Vertex2 X,Y,Z -> Vertex3 X,Y,Z -> Vertex4 X,Y,Z,

please try changing the order in your idf file as follows

Vertex4 X,Y,Z -> Vertex3 X,Y,Z -> Vertex2 X,Y,Z -> Vertex 1 X,Y,Z.

edit flag offensive delete link more


Thanks for the reply! It looks like in OpenStudio I can go to the Output Diagnostics tab within the Simulation Settings tab to find the Enable DisplayExtraWarnings option. This is the option recommended in the .err file. However, turning it on did not show the extra information that you received. I am not sure what I am missing here.

IanVG's avatar IanVG  ( 2023-06-15 08:33:13 -0500 )edit

Your Answer

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

Add Answer

Training Workshops


Question Tools

1 follower


Asked: 2023-06-06 22:29:11 -0500

Seen: 141 times

Last updated: Jun 16 '23