Low ventilation (per person and per area) values in presets - European vs ASHRAE


Today I noticed that ventilation values assigned with native building programs seem very low.
I would like to mention here I live in Europe so the diffrences may be the source of this confusion.

Let’s assume I am to analyze an office zone (with one person/10m2) with area of 100 m2. Assigning default OpenOffice program to a zone gives these values:
VentilationPerArea - 0.000305 m3/s per m2
VentilationPerPerson - 0.0024 m3/s

That would be 0.000305[m3/s]*100[m2] + 0.0024[m3/s]*10people = 0.0305+0.024 = 0.0545 m3/s in total. That is around 196 m3/hour

In european norms the value is said to be around 36 m3/h per person required. Because we have a 100m2 room with 1person/10meters - that would mean 360 m3/hour for mentioned space.

The amount of supplied air is almost 2 times bigger. I wonder if the difference comes just from differences in norms (ASHRAE vs European) or I have gotten something wrong or maybe the values in HB Building programs are lowered?

If found this discussion and post by @minggangyin. After converting liters/s to m3/s the values seem similar to ones used in Honeybee presets. I am surprised that it is required to supply 2 times more air in Europe than in USA.

Has anyone else noticed that? Are my calculations/assumptions wrong somewhere?

Thank you for your time and help

I can tell you that almost all of the default ventilation values in Honeybee come from ASHRAE 62.1. This is a standard that is designed primarily around one goal: that occupants do not smell one another when sitting in the same space.

To put this in relation to other things that can be used to determine a ventilation standard:

  • The 62.1 ventilation levels are an order of magnitude above any level where you are worried about people asphyxiating. You typically won’t ever get CO2 levels crossing 1000 ppm with 62.1 and you need a good 8% of the air to be CO2 to asphyxiate people.
  • The 62.1 ventilation levels are far below what is needed to minimize the spread of infection, as you would find in hospitals, which typically have up to 6 ACH with a minimum of 2 ACH that must come from the outdoor air. It’s also far below the ventilation level of laboratories, which have similarly high rates of ventilation to minimize the spread of toxic chemicals.
  • The 62.1 levels are possibly a bit below ventilation levels designed for maximal occupant health and productivity. The jury is still out on what exactly this means but there’s some recent evidence that, at CO2 levels of 500-700 ppm, people will have slightly poorer work performance on certain cognitive tasks when compared to working in CO2 levels of 400-450 ppm (like the outdoors). It’s a subtle difference that research is still figuring out but it’s possible that this early research might be the basis for the particular European standard that you are referencing.
1 Like

Thank you @chris once again, that was very informative.

Hi Chris,
This is something related to ventilation. Different than ashrae vent, California title 24 defines final vent cfm as the larger of vent per occ and vent per area. I didn’t find a way to apply this rule in honeybee_legacy or Ladybug Tool 1.0.0. Did i miss it? or if this is something on your radar?

@gqiu ,

There’s nothing built into the ventilation object to do this but you could write a custom component that effectively does this for any honeybee room using a few lines of Python:

rooms = []
for rm in _rooms:
    # figure out whether the ventilation per_floor or per_person is larger
    room = rm.duplicate()
    people = room.properties.energy.people.people_per_area * room.floor_area
    vent = room.properties.energy.ventilation.duplicate()
    per_floor = vent.flow_per_area * room.floor_area
    per_person = vent.flow_per_person * people

    # set the larger of the two properties to be the only ventilation property
    if per_floor > per_person:
        vent.flow_per_person = 0
        vent.flow_per_area = 0
    room.properties.energy.ventilation = vent  # assign ventilation to the room

Assign_Largest_Ventilation.gh (14.1 KB)

There are other options but this is probably the one that’s most accessible from Grasshopper.

Awesome. thanks for the python code!