# Reopen the OpenStudio class to add methods to apply standards to this object class OpenStudio::Model::AirLoopHVAC # Retrieves an airloop sum of air terminal minimum heating flow rates: sum(Vpz_min) def autosizeSumMinimumHeatingAirFlowRates result = OpenStudio::OptionalDouble.new name = self.name.get.upcase sql = self.model.sqlFile if sql.is_initialized sql = sql.get query = "SELECT Value FROM tabulardatawithstrings WHERE ReportName='ComponentSizingSummary' AND ReportForString='Entire Facility' AND TableName='AirLoopHVAC' AND ColumnName='Sum of Air Terminal Minimum Heating Flow Rates' AND RowName='#{name}' AND Units='m3/s'" val = sql.execAndReturnFirstDouble(query) if val.is_initialized result = OpenStudio::OptionalDouble.new(val.get) end else OpenStudio::logFree(OpenStudio::Error, 'openstudio.model.Model', 'Model has no sql file containing results, cannot lookup data.') end return result.to_f end # Retrieve an airloop's sum of air terminal maximum flow rates: sum(Vpz) def autosizeSumAirTerminalMaxAirFlowRate result = OpenStudio::OptionalDouble.new name = self.name.get.upcase sql = self.model.sqlFile if sql.is_initialized sql = sql.get query = "SELECT Value FROM tabulardatawithstrings WHERE ReportName='ComponentSizingSummary' AND ReportForString='Entire Facility' AND TableName='AirLoopHVAC' AND ColumnName='Sum of Air Terminal Maximum Flow Rates' AND RowName='#{name}' AND Units='m3/s'" val = sql.execAndReturnFirstDouble(query) if val.is_initialized result = OpenStudio::OptionalDouble.new(val.get) end else OpenStudio::logFree(OpenStudio::Error, 'openstudio.model.Model', 'Model has no sql file containing results, cannot lookup data.') end return result.to_f end end