Energy workflow with airwalls

Dear All,

I am trying to set up the energy workflow for this house and I am struggling dearly and I think its because of the various airwalls. The house is located between 2 other buildings so all the side walls are adiabatic (one of the reason for creating the masses from surfaces, there may be an easier way?), there is a central staircase that should presumabily be all one space and the bedroom and bathrooms on first floor have a double height atrium above.

Here below is the link to the gh file, I am hoping that maybe someone will have a bit of time to give me a hand with it. I have read most posts on airwalls and also tried a few ways of doing it, but not sure if what I have is correct as the energy results are a bit weird and in on instance the double height is counted as 0m2 area, and in other instance is taking the double height above as additional area.

Many thanks in advance,


026_parametric (1.0 MB)

Is there a reason you’re not modelling double height spaces as single zones? bed02 and bed01 can be one single zone. Can you try and see if it brings you close to what you’re looking for?


One of them I did, but the bathroom, which would have the pitched roof, if I model it as a single zone, it does not read the roof as such but as external walls (or at least I don’t know how to do it so it works correctly. It would be great of you could advise me how to do it.

Many thanks for such a prompt response.

You can use maxRoofAngle_ input on Mass2Zone component to do just that.

Hi Devang,

Thank you so much.

In which order would you connect the components? If I do it this way (I have created the Masses from surfaces as I needed to allocate specific windows to specific surfaces), the windows do not read as windows and I do not know how to fix it. something is not quite right because the energy results are also weird, the stairs apparently is 0 heating demand, which can’t be right.

Many thanks again for your help!

The massesToZones should be first, as in @devang’s example, receiving the raw geometry. You have it after windows and zones are already there.

Hi Abraham,

So sorry to waste your time, I am sure it is straight forward, I have no idea how I am managing to not see it. I have the surfaces, and I need to convert those into zones, and some of the surfaces are sloping forming the roof, and some other surfaces taking windows. I am now completely lost as is what would be the order of components. I have tried so many configurations now that I don’t know anymore…

Thank you for your patience.

@Ruxandra, you are not wasting my time and i’m very patient :slight_smile: . The purpose of the forum is to help, if possible.
To the point: Why don’t you define the zones from masses, instead of surfaces and then add the windows as you need (this should identify automatically the surfaces for you)? I believe this should work straighforward. You need to intersectMasses before the massesToZones. Then add the windows. Then solveAdjacencies and you are set.
Something like this:

Masses2Zones (483.5 KB)

Hi Abraham,

Thank you for your patience, much appreciated.

That is how I started, but then decided to split the volume into surfaces, with the intention to allocate glazing to specific planes (the volume is not a rectangular box) and also adiabatic surfaces to 2 opposite sides (party walls).

I now have the HB zone and windows as you suggested, but not sure how to allocate adiabatic condition to only 2 of the surfaces. Also, every time I add this zone to the rest, it gives me this error, and I am not sure if it is because of this zone or related to something else.

Many thanks again for your time and help,


Since you are in kind of “reset” situation, do you mind sharing the original geometry you said you tried at first (probably rhino’s)? I can test theoretical geometry as above, but maybe the real thing is better to try.

I attach here the original massing: central staircase over 3 floors, ground floor living room to south, GF bathroom to north, first floor bedroom to south (with double height space which I tried to make parametric as this was the exercise, to see what would be the most efficient height for this, optimising between energy, daylight and internal comfort), and first floor bathroom to the north with pitched roof integrated into the space. I think I have overcomplicated the whole thing, I started by doing boxes and then joining them vertically through airwalls, then exploding and converting into surfaces and creating the zones from surfaces, and now I don’t know anymore what is best… I also wanted to allocate adiabatic condition to the party walls (east and west walls), and I only knew how to do that by creating the surfaces, but if there is a better way, I would love to learn. Any help would be extremely welcome. Thank you so much again,


026_base model_ORIGINAL.3dm (145.4 KB)

And here is the GH file, in case is useful. Messy, so sorry, trying my best to simplify now.

Thanks a lot!

026_parametric (1.1 MB)

The windows are missing from the rhino model …
And where are supposed to be the air walls?

Here below attached. Many thanks!

026_base model_ORIGINAL.3dm (178.7 KB)

Check the attached. I think it works not bad.
Unfortunately i can give this more time today. But hopefully it is going to be useful.

Masses2Zones (592.4 KB)

Hi Abraham,

Thank you so much for this, much simpler than what I had and it works beautifully.

I have just discovered that the error I had was due to A/C component, which I wanted to use to remove the cooling, but if I set up the cooling set point to 50, I get the errors as attached. I know this is not related to the initial query, but if you could give me some advice I would be very grateful.

Thank you so much for everything, much appreciated,


I would try something like this (Updated version).
Masses2Zones (623.5 KB)


Thank you so much! I think I’ve got it, much appreciated all your help :slight_smile: