-
Notifications
You must be signed in to change notification settings - Fork 222
Closed
Description
Issue overview
When the SizingSystem.systemOutdoorAirMethod = Standard62.1SimplifiedProcedure it causes a fatal error because it's passed to ControllerMechanicalVentilation.systemOutdoorAirMethod.
Program Version,EnergyPlus, Version 24.2.0-94a887817b, YMD=2025.04.17 15:21,
** Severe ** <root>[Controller:MechanicalVentilation][Controller Mechanical Ventilation 1][system_outdoor_air_method] - "Standard62.1SimplifiedProcedure" - Failed to match against any enum values.
** Fatal ** Errors occurred on processing input file. Preceding condition(s) cause termination.
...Summary of Errors that led to program termination:
..... Reference severe error count=1
..... Last severe error=<root>[Controller:MechanicalVentilation][Controller Mechanical Ventilation 1][system_outdoor_air_method] - "Standard62.1SimplifiedProcedure" - Failed to match against any enum values.
************* Warning: Node connection errors not checked - most system input has not been read (see previous warning).
************* Fatal error -- final processing. Program exited before simulations began. See previous error messages.
************* EnergyPlus Warmup Error Summary. During Warmup: 0 Warning; 0 Severe Errors.
************* EnergyPlus Sizing Error Summary. During Sizing: 0 Warning; 0 Severe Errors.
************* EnergyPlus Terminated--Fatal Error Detected. 0 Warning; 1 Severe Errors; Elapsed Time=00hr 00min 0.10sec
Current Behavior
The code for ControllerMechanicalVentilation.systemOutdoorAirMethod is expecting parity with SizingSystem.systemOutdoorAirMethod, which is incorrect per EnergyPlus IDD.
| result = sizingSystem.systemOutdoorAirMethod(); |
EnergyPlus 24.2.0
Sizing:System,
...
A8, \field System Outdoor Air Method
\type choice
\key ZoneSum
\key Standard62.1VentilationRateProcedure
\key Standard62.1SimplifiedProcedure
\default ZoneSum
Controller:MechanicalVentilation,
...
A4, \field System Outdoor Air Method
\type choice
\key ZoneSum
\key Standard62.1VentilationRateProcedure
\key Standard62.1VentilationRateProcedureWithLimit
\key IndoorAirQualityProcedure
\key ProportionalControlBasedOnDesignOccupancy
\key ProportionalControlBasedOnOccupancySchedule
\key IndoorAirQualityProcedureGenericContaminant
\key IndoorAirQualityProcedureCombined
\key ProportionalControlBasedOnDesignOARate
Expected Behavior
No fatal error.
Steps to Reproduce
require 'openstudio'
include OpenStudio::Model
m = Model.new
al = AirLoopHVAC.new(m)
aloas = AirLoopHVACOutdoorAirSystem.new(m, ControllerOutdoorAir.new(m))
aloas.addToNode(al.supplyInletNode)
al.sizingSystem.setSystemOutdoorAirMethod('Standard62.1SimplifiedProcedure')
w = OpenStudio::EnergyPlus::ForwardTranslator.new.translateModel(m)
puts w.getObjectsByType('Controller:MechanicalVentilation'.to_IddObjectType)Controller:MechanicalVentilation,
Controller Mechanical Ventilation 1, !- Name
Always On Discrete, !- Availability Schedule Name
No, !- Demand Controlled Ventilation
Standard62.1SimplifiedProcedure, !- System Outdoor Air Method
; !- Zone Maximum Outdoor Air Fraction {dimensionless}
Possible Solution
- Decouple the
ControllerMechanicalVentilation.systemOutdoorAirMethodfromSizingSystem.systemOutdoorAirMethod.
or
- Only allow common options.
Details
Environment
Some additional details about your environment for this issue (if relevant):
- Platform (Operating system, version):
- Version of OpenStudio (if using an intermediate build, include SHA):