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

Revision history [back]

Your discovery is correct. The schedule in DesignSpecificationOutdoorAir does not influence the ventilation provided by ideal air loads. At least this is true when the idf file was created with OpenStudio. Instead if your design oa spec has ventilation specified per person, then the ventilation schedule will follow the occupancy schedule defined by your people instance for that space. If you define oa per floor area or in terms of total cfm, then OpenStudio will use the always on schedule for ventilation.

Now for a little implementation detail. When you turn on ideal air loads in the OpenStudio interface the OpenStudio Model just turns on a boolean flag in the ThermalZone object, and removes any existing zone hvac or attached AirLoopHVAC systems. When OpenStudio translates the model to EnergyPlus idf format, it does two things for zones with ideal air loads turned on. First it creates a ZoneVentilation:DesignFlowRate object and populates the input fields with information that you provided in the DesignSpecificationOutdoorAir input. It uses schedules according to the rules that I described in the first paragraph. The second thing it does is creates a HVACTemplate:Zone:IdealLoadsAirSystem object that is configured with no ventilation since that is handled by the ZoneVentilation:DesignFlowRate. That hvac template is later expanded by the EnergyPlus ExpandObjects tool to a ZoneHVAC:IdealLoadsAirSystem object and connected to the zone. At some point in the future we might bypass ExpandObjects and just insert the ZoneHVAC object directly. If you are feeling adventurous or curious you can follow this code in the OpenStudio source here.

Your discovery is correct. The schedule in DesignSpecificationOutdoorAir does not influence the ventilation provided by ideal air loads. At least this is true when the idf file was created with OpenStudio. Instead if your design oa spec has ventilation specified per person, then the ventilation schedule will follow the occupancy schedule defined by your people instance for that space. If you define oa per floor area or in terms of total cfm, then OpenStudio will use the always on schedule for ventilation.

Now for a little implementation detail. When you turn on ideal air loads in the OpenStudio interface the OpenStudio Model just turns on a boolean flag in the ThermalZone object, and removes any existing zone hvac or attached AirLoopHVAC systems. When OpenStudio translates the model to EnergyPlus idf format, it does two things for zones with ideal air loads turned on. First it creates a ZoneVentilation:DesignFlowRate object and populates the input fields with information that you provided in the DesignSpecificationOutdoorAir input. It uses schedules according to the rules that I described in the first paragraph. The second thing it does is creates a HVACTemplate:Zone:IdealLoadsAirSystem object that is configured with no ventilation since that is handled by the ZoneVentilation:DesignFlowRate. That hvac template is later expanded by the EnergyPlus ExpandObjects tool to a ZoneHVAC:IdealLoadsAirSystem object and connected to the zone. At some point in the future we might bypass ExpandObjects and just insert the ZoneHVAC object directly. If you are feeling adventurous or curious you can follow this code in the OpenStudio source here.

(Update) I forgot to answer the last part of your question. To see timestep level data of your ventilation you will be interested in the following report variables.

Output:Variable,,Zone Ventilation Current Density Volume Flow Rate,hourly; !- HVAC Average [m3/s] Output:Variable,,Zone Ventilation Standard Density Volume Flow Rate,hourly; !- HVAC Average [m3/s] Output:Variable,,Zone Ventilation Current Density Volume,hourly; !- HVAC Sum [m3] Output:Variable,,Zone Ventilation Standard Density Volume,hourly; !- HVAC Sum [m3] Output:Variable,,Zone Ventilation Mass,hourly; !- HVAC Sum [kg] Output:Variable,,Zone Ventilation Air Change Rate,hourly; !- HVAC Average [ach]

You can make these requests by inserting these objects into the idf directly or by using an (OpenStudio Measure)[https://github.com/NREL/OpenStudio/wiki/Measure-Writing-Guide]. You probably want to change the "hourly" frequency to "detailed" or you will be subject to averaging if your schedules move within the hours. There is already a Measure on the BCL to make report variable requests so you don't need to start from scratch.

Your discovery is correct. The schedule in DesignSpecificationOutdoorAir does not influence the ventilation provided by ideal air loads. At least this is true when the idf file was created with OpenStudio. Instead if your design oa spec has ventilation specified per person, then the ventilation schedule will follow the occupancy schedule defined by your people instance for that space. If you define oa per floor area or in terms of total cfm, then OpenStudio will use the always on schedule for ventilation.

Now for a little implementation detail. When you turn on ideal air loads in the OpenStudio interface the OpenStudio Model just turns on a boolean flag in the ThermalZone object, and removes any existing zone hvac or attached AirLoopHVAC systems. When OpenStudio translates the model to EnergyPlus idf format, it does two things for zones with ideal air loads turned on. First it creates a ZoneVentilation:DesignFlowRate object and populates the input fields with information that you provided in the DesignSpecificationOutdoorAir input. It uses schedules according to the rules that I described in the first paragraph. The second thing it does is creates a HVACTemplate:Zone:IdealLoadsAirSystem object that is configured with no ventilation since that is handled by the ZoneVentilation:DesignFlowRate. That hvac template is later expanded by the EnergyPlus ExpandObjects tool to a ZoneHVAC:IdealLoadsAirSystem object and connected to the zone. At some point in the future we might bypass ExpandObjects and just insert the ZoneHVAC object directly. If you are feeling adventurous or curious you can follow this code in the OpenStudio source here.

(Update) I forgot to answer the last part of your question. To see timestep level data of your ventilation you will be interested in the following report variables.

Output:Variable,,Zone Output:Variable,*,Zone Ventilation Current Density Volume Flow Rate,hourly; !- HVAC Average [m3/s] Output:Variable,,Zone Output:Variable,*,Zone Ventilation Standard Density Volume Flow Rate,hourly; !- HVAC Average [m3/s] Output:Variable,,Zone Output:Variable,*,Zone Ventilation Current Density Volume,hourly; !- HVAC Sum [m3] Output:Variable,,Zone Output:Variable,*,Zone Ventilation Standard Density Volume,hourly; !- HVAC Sum [m3] Output:Variable,,Zone Output:Variable,*,Zone Ventilation Mass,hourly; !- HVAC Sum [kg] Output:Variable,,Zone Output:Variable,*,Zone Ventilation Air Change Rate,hourly; !- HVAC Average [ach]

You can make these requests by inserting these objects into the idf directly or by using an (OpenStudio Measure)[https://github.com/NREL/OpenStudio/wiki/Measure-Writing-Guide]. You probably want to change the "hourly" frequency to "detailed" or you will be subject to averaging if your schedules move within the hours. There is already a Measure on the BCL to make report variable requests so you don't need to start from scratch.

Your discovery is correct. The schedule in DesignSpecificationOutdoorAir does not influence the ventilation provided by ideal air loads. At least this is true when the idf file was created with OpenStudio. Instead if your design oa spec has ventilation specified per person, then the ventilation schedule will follow the occupancy schedule defined by your people instance for that space. If you define oa per floor area or in terms of total cfm, then OpenStudio will use the always on schedule for ventilation.

Now for a little implementation detail. When you turn on ideal air loads in the OpenStudio interface the OpenStudio Model just turns on a boolean flag in the ThermalZone object, and removes any existing zone hvac or attached AirLoopHVAC systems. When OpenStudio translates the model to EnergyPlus idf format, it does two things for zones with ideal air loads turned on. First it creates a ZoneVentilation:DesignFlowRate object and populates the input fields with information that you provided in the DesignSpecificationOutdoorAir input. It uses schedules according to the rules that I described in the first paragraph. The second thing it does is creates a HVACTemplate:Zone:IdealLoadsAirSystem object that is configured with no ventilation since that is handled by the ZoneVentilation:DesignFlowRate. That hvac template is later expanded by the EnergyPlus ExpandObjects tool to a ZoneHVAC:IdealLoadsAirSystem object and connected to the zone. At some point in the future we might bypass ExpandObjects and just insert the ZoneHVAC object directly. If you are feeling adventurous or curious you can follow this code in the OpenStudio source here.

(Update) I forgot to answer the last part of your question. To see timestep level data of your ventilation you will be interested in the following report variables.

Output:Variable,*,Zone Ventilation Current Density Volume Flow Rate,hourly; !- HVAC Average [m3/s] Output:Variable,*,Zone Ventilation Standard Density Volume Flow Rate,hourly; !- HVAC Average [m3/s] Output:Variable,*,Zone Ventilation Current Density Volume,hourly; !- HVAC Sum [m3] Output:Variable,*,Zone Ventilation Standard Density Volume,hourly; !- HVAC Sum [m3] Output:Variable,*,Zone Ventilation Mass,hourly; !- HVAC Sum [kg] Output:Variable,*,Zone Ventilation Air Change Rate,hourly; !- HVAC Average [ach]

You can make these requests by inserting these objects into the idf directly or by using an (OpenStudio Measure)[https://github.com/NREL/OpenStudio/wiki/Measure-Writing-Guide]. OpenStudio Measure. You probably want to change the "hourly" frequency to "detailed" or you will be subject to averaging if your schedules move within the hours. There is already a Measure on the BCL to make report variable requests so you don't need to start from scratch.

Your discovery is correct. The schedule in DesignSpecificationOutdoorAir does not influence the ventilation provided by ideal air loads. At least this is true when the idf file was created with OpenStudio. Instead if your design oa spec has ventilation specified per person, then the ventilation schedule will follow the occupancy schedule defined by your people instance for that space. If you define oa per floor area or in terms of total cfm, then OpenStudio will use the always on schedule for ventilation.

Now for a little implementation detail. When you turn on ideal air loads in the OpenStudio interface the OpenStudio Model just turns on a boolean flag in the ThermalZone object, and removes any existing zone hvac or attached AirLoopHVAC systems. When OpenStudio translates the model to EnergyPlus idf format, it does two things for zones with ideal air loads turned on. First it creates a ZoneVentilation:DesignFlowRate object and populates the input fields with information that you provided in the DesignSpecificationOutdoorAir input. It uses schedules according to the rules that I described in the first paragraph. The second thing it does is creates a HVACTemplate:Zone:IdealLoadsAirSystem object that is configured with no ventilation since that is handled by the ZoneVentilation:DesignFlowRate. That hvac template is later expanded by the EnergyPlus ExpandObjects tool to a ZoneHVAC:IdealLoadsAirSystem object and connected to the zone. At some point in the future we might bypass ExpandObjects and just insert the ZoneHVAC object directly. If you are feeling adventurous or curious you can follow this code in the OpenStudio source here.

(Update) I forgot to answer the last part of your question. To see timestep level data of your ventilation you will be interested in the following report variables.

 Output:Variable,*,Zone Ventilation Current Density Volume Flow Rate,hourly; !- HVAC Average [m3/s]
[m3/s] 
Output:Variable,*,Zone Ventilation Standard Density Volume Flow Rate,hourly; !- HVAC Average [m3/s]
Output:Variable,*,Zone Ventilation Current Density Volume,hourly; !- HVAC Sum [m3]
Output:Variable,*,Zone Ventilation Standard Density Volume,hourly; !- HVAC Sum [m3]
Output:Variable,*,Zone Ventilation Mass,hourly; !- HVAC Sum [kg]
Output:Variable,*,Zone Ventilation Air Change Rate,hourly; !- HVAC Average [ach][ach]

You can make these requests by inserting these objects into the idf directly or by using an OpenStudio Measure. You probably want to change the "hourly" frequency to "detailed" or you will be subject to averaging if your schedules move within the hours. There is already a Measure on the BCL to make report variable requests so you don't need to start from scratch. scratch.