Assigning Ventilation Load Explanation

Hello everyone,
I am working on a shopping mall project and I am quite confused with the input parameter exposed with ventilation Load component In LBT.

As per Ashrae 62.1 we have recommended flow rates as Flow per person and Flow per area. I have listed all the data as per zone type specified as shown in the image below.

Also as per our National Building Code we have recommended ACH values for each different typology as shown below.

So, I am quite puzzled which data should be entered (flow rate or ach) because as the definition in the component says, all the parameters (ach, flow per person, flow per area) are added up during simulation.

Or should I enter all the 3 values in the component.

I’m not 100000% sure but looking at the comments in the component:

        _name_: Text to set the name for the Ventilation and to be incorporated
            into a unique Ventilation identifier. If None, a unique name will
            be generated.
        _flow_per_person_: A numerical value for the intensity of outdoor air ventilation
            in m3/s per person. This will be added to the _flow_per_area_,
            _flow_per_zone_ and _ach_ to produce the final minimum outdoor
            air specification. Note that setting this value here does not mean
            that ventilation is varied based on real-time occupancy but rather
            that the minimum level of ventilation is determined using this value
            and the People object of the Room. To vary ventilation on a timestep
            basis, a ventilation schedule should be used or the dcv_ option
            should be selected on the HVAC system if it is available. (Default: 0).
        _flow_per_area_: A numerical value for the intensity of ventilation in m3/s per square
            meter of floor area. This will be added to the _flow_per_person_,
            _flow_per_zone_ and _ach_ to produce the final minimum outdoor
            air specification. (Default: 0).
        _flow_per_zone_: A numerical value for the design level of ventilation in m3/s for
            the entire zone. This will be added to the _flow_per_person_,
            _flow_per_area_ and _ach_ to produce the final minimum outdoor
            air specification. (Default: 0).
        _ach_: A numberical value for the design level of ventilation in air changes per hour
            (ACH) for the entire zone. This will be added to the _flow_per_person_,
            _flow_per_area_ and _flow_per_zone_ to produce the final minimum outdoor
            air specification. (Default: 0).
        _schedule_: An optional fractional schedule for the ventilation over the course
            of the year. The fractional values will get multiplied by the
            total design flow rate (determined from the fields above and the
            calculation_method) to yield a complete ventilation profile. Setting
            this schedule to be the occupancy schedule of the zone will mimic
            demand controlled ventilation. If None, a constant design level of
            ventilation will be used throughout all timesteps of the
            simulation. (Default: None).

        vent: An Ventilation object that can be used to create a ProgramType or
            be assigned directly to a Room.

Each of the 3 variables in question all say they will be added together for the final minimum outdoor air specification: so I think all 3 need to be input per the standards: I can’t remember explicitly tho, I’m not an HVAC engineer: more so a BEM technician who sets up E+/OS models and applies the inputs given to me by engineers lol.


Hi @Asisnath,

If you add all three inputs, they will be summed. With Honeybee legacy only the heighest value of the two (ventilation per area / ventilation per person) was taken, wich I think was more practical. Then you could use the combination for simulating demand controled ventilation.

Thank you for the reply @Erikbeeren. So shall we consider only the highest value and discard other values.

I am not an expert in Ashrea, so I do not know how the values you showed have to be interpreted. In Holland we only take the maximum value of the two. To make this happen I needed to make a workflow with the ventilation schedule. General the ventilation per area is much lower then the ventilation per person. So I needed to make a precalculation of what the fraction would be to meet the ventilation per area.


Yes, Honeybee is going to sum the various ventilation values together instead of taking the maximum since ASHRAE 62.1 states that the rates need to be summed.

@Asisnath , given the really high ventilation rates of those spaces in your National Building Code, I would assume that they are meant to override the recommendations of ASHRAE 62.1. To put it another way, the ventilation rates of ASHAE 62.1 are so small compared to those ACH rates that it probably doesn’t matter whether you sum them or take the maximum. Still, if you are trying to be technically correct, you should probably use either the ACH recommendation OR the summed per-area and per-person values as ASHRAE 62.1 specifies.

I thought that we changed this in later versions of Honeybee Legacy because taking the maximum value is a violation of ASHRAE 62.1. The values have to be summed by default when there’s no demand controlled ventilation. I didn’t realize that the code in Holland is different. Is that flow chart generally for commercial buildings like offices for which ASHRAE 62.1 is designed? Or is it for special spaces like hospitals, laboratories, bakeries, etc., which tend to have ventilation rates governed by factors other than the removal of odors.

There’s a simpler way to do demand controlled ventilation if that’s the main issue. You can just set the dcv_ option on any of the HVAC templates in order to have the outdoor airflow adjusted based on the occupancy.

1 Like

FYI, @Erikbeeren

If your building code really is meant to take the maximum of per-person and per-area values in the absence of demand controlled vernation, I am open to putting an option to use the maximum instead of the sum on the ventilation object.

Hi @chris,

That would be nice.

Hi @chris

taking a closer look at Ventilation and it’s effect on simulation for some time now there are still a couple of questions open for me.
Regarding the topic here I think it makes sense to have this opportunity because in European standards there is taken only the highest amount. (We talked about this also regarding natural ventilation once)

1 Like

Thanks for enlightening me about this. I had known that ASHRAE 90.1 and IECC are pretty well coordinated with one another but I didn’t realize that there were significant differences between US (ASHRAE 62.1) and European (EN 12831) minimum ventilation standards. I’ll expose an option for use_maximum on the Ventilation object when I get the chance. I opened an issue for it:

The default is still going to be to Sum the values but having a use_max_ input on the HB Ventilation component should make it easier to build Programs that are geared towards a European context.

1 Like

If this is only for MechVent but not for NatVent, I think the calculation is the same in EN 12831.
Vi = max (Vinf,i , Vmin,i ) is for NatVent