Daylight analysis failing when using "air walls"

I am trying to understand how the air walls work (Facetype: “AirBoundary”). The issue I have is creating a HBJSON model of a 3D model, and I need to identify certain walls as invisible, so that the daylight flows seamlessly through those rooms.

The first image shows the 3D model I am converting, and the second image for the HBJSON model daylight simulation output. Have I misunderstood the air walls? Is there a different way to mark room dividers that do not block sunlight?

Left: 3D representation of my floor.
Right: HBJSON model daylight simulation, (Grasshopper/Rhino)

Here is an example of one of the walls as seen in the .hbjson file, for context.

Here is the Daylight Simulation script for more context:

Researching this issue is not very easy, here is a quote by Philipp Galvan (Ladybug Youtube ‘expert’):

What is an air wall anyway?

“Honeybee ‘CREATE’ Part 2 | Ladybug tools 1.3.0” by Philipp Galvan

My question is kindof similar to this from 2015:
AirWalls E+ and Daylight Analysis (and InternalMass problem?)

However, the issues were solved using Grasshopper components, and I’m writing to the HBJSON file directly (converting my own format to HBJSON). So I really need to understand this more deeply.

This discussion from 2021 is also relevant, however does not talk about the structure of air walls:
HB Color Rooms - Solar Gains are not shown when rooms have airwalls

I found an interesting work-around to abandon air walls and use “thin, opaque walls” instead, as explained by @chris

I’ll also just say: if you only need this for visualization purposes of solar gain, you can always just run the simulation using a paper thin opaque wall instead of an AirBoundary. The total incoming solar energy will still be the same whether you use the AirBoundary or an opaque wall. It’s just not going to distribute the solar beyond the paper thin opaque construction so some of the other load balance terms output from the simulation won’t be as accurate. But you can just run another simulation with AirBoundaries for that case.

Hi @janris,

Can you try to flatten the values and join the mesh with the “Mesh Join” component, or set a legend with whatever minimum and maximum values you want. I think what you see here is three different visualizations where the legends are scaled to the min and max values of each room.

FYI, in the latest version air walls are not written to the Radiance folder for daylight studies.


You are indeed right, Mikkel! Flattening the values and joining the meshes did the trick. Thank you!

1 Like