diff --git a/CMakeLists.txt b/CMakeLists.txt index 722993e7edc..589ac1209fa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -195,18 +195,18 @@ if(hasParent) endif() # EnergyPlus Idd version -set(ENERGYPLUS_VERSION_MAJOR 25) -set(ENERGYPLUS_VERSION_MINOR 2) +set(ENERGYPLUS_VERSION_MAJOR 26) +set(ENERGYPLUS_VERSION_MINOR 1) set(ENERGYPLUS_VERSION_PATCH 0) set(ENERGYPLUS_VERSION "${ENERGYPLUS_VERSION_MAJOR}.${ENERGYPLUS_VERSION_MINOR}.${ENERGYPLUS_VERSION_PATCH}") # Build SHA is not required to have a value, but if it does OpenStudio will require this build. -set(ENERGYPLUS_BUILD_SHA "cf7368216c") +set(ENERGYPLUS_BUILD_SHA "6f2e40d102") # ENERGYPLUS_RELEASE_NAME is used to locate the E+ download # from the github releases -set(ENERGYPLUS_RELEASE_NAME "v25.2.0") +set(ENERGYPLUS_RELEASE_NAME "v26.1.0") -set(ENERGYPLUS_REPO "NREL") +set(ENERGYPLUS_REPO "NatLabRockies") # Radiance set(RADIANCE_VERSION "5.0.a.12") @@ -668,10 +668,10 @@ endif() if(UNIX) if(APPLE) if (ARCH MATCHES "arm64") - set(ENERGYPLUS_EXPECTED_HASH 4a6bece818e89eb88b50249c823b97d9) + set(ENERGYPLUS_EXPECTED_HASH 00046c474efe5fbf69ffcae504175d18) set(ENERGYPLUS_PLATFORM "Darwin-macOS13-arm64") else() - set(ENERGYPLUS_EXPECTED_HASH 6b10baada08857a9284c2583e01e735a) + set(ENERGYPLUS_EXPECTED_HASH 6f0dfef6c4a6529dbe5998c9c9505bf5) set(ENERGYPLUS_PLATFORM "Darwin-macOS12.1-x86_64") endif() elseif(LSB_RELEASE_ID_SHORT MATCHES "CentOS") @@ -683,9 +683,9 @@ if(UNIX) else() if(LSB_RELEASE_VERSION_SHORT MATCHES "24.04") if (ARCH MATCHES "arm64") - set(ENERGYPLUS_EXPECTED_HASH 304fddba0082d833263a0128ee96a0ff) + set(ENERGYPLUS_EXPECTED_HASH 1f3d39f84a45eefdacca66f905bc4fba) else() - set(ENERGYPLUS_EXPECTED_HASH 3c03a2eaac845ac2e9d8b5601e7abbde) + set(ENERGYPLUS_EXPECTED_HASH 8b8cd4e21c1bcec778c4c7b17f84908d) endif() elseif(LSB_RELEASE_VERSION_SHORT MATCHES "22.04") if (ARCH MATCHES "arm64") @@ -728,7 +728,7 @@ elseif(WIN32) if(CMAKE_SIZEOF_VOID_P EQUAL 8) # 64 bit set(ENERGYPLUS_PATH "EnergyPlus-${ENERGYPLUS_VERSION}-${ENERGYPLUS_BUILD_SHA}-Windows-x86_64") set(ENERGYPLUS_ARCH 64) - set(ENERGYPLUS_EXPECTED_HASH 22a1d7e594fe8fb0f8e4d2cc0604f05d) + set(ENERGYPLUS_EXPECTED_HASH f5c3822fd27700757827c85403c44f20) else() set(ENERGYPLUS_PATH "EnergyPlus-${ENERGYPLUS_VERSION}-${ENERGYPLUS_BUILD_SHA}-Windows-i386") set(ENERGYPLUS_ARCH 32) diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt index 3a46ca44a69..1d78765e720 100644 --- a/resources/CMakeLists.txt +++ b/resources/CMakeLists.txt @@ -133,6 +133,7 @@ set(utilities_resources_src utilities/SqlFile/1ZoneEvapCooler-V24-2-0.sql utilities/SqlFile/1ZoneEvapCooler-V25-1-0.sql utilities/SqlFile/1ZoneEvapCooler-V25-2-0.sql + utilities/SqlFile/1ZoneEvapCooler-V26-1-0.sql utilities/xml/base.xml utilities/xml/hpxml_with_error.xml utilities/xml/schema/HPXML.xsd diff --git a/resources/energyplus/5ZoneAirCooled/in.idf b/resources/energyplus/5ZoneAirCooled/in.idf index cff7935be59..bc046bc483a 100644 --- a/resources/energyplus/5ZoneAirCooled/in.idf +++ b/resources/energyplus/5ZoneAirCooled/in.idf @@ -100,7 +100,7 @@ ! Environmental Emissions: None ! Utility Tariffs: None - Version,25.2; + Version,26.1; Building, Building, !- Name diff --git a/resources/energyplus/AllFuelTypes/in.idf b/resources/energyplus/AllFuelTypes/in.idf index 58e6e0439c7..586d0db6894 100644 --- a/resources/energyplus/AllFuelTypes/in.idf +++ b/resources/energyplus/AllFuelTypes/in.idf @@ -1,4 +1,4 @@ - Version,25.2; + Version,26.1; Timestep,6; diff --git a/resources/energyplus/BestestEx/in.idf b/resources/energyplus/BestestEx/in.idf index 001ddf2a265..9ea68c6c5eb 100644 --- a/resources/energyplus/BestestEx/in.idf +++ b/resources/energyplus/BestestEx/in.idf @@ -5,7 +5,7 @@ !BESTEST-EX Case L200EX-PH BASE-CASE, developed by NREL !Use EnergyPlus IDFEditor to view inputs in IP units - Version,25.2; + Version,26.1; SimulationControl, No, !- Do Zone Sizing Calculation diff --git a/resources/energyplus/Daylighting_School/in.idf b/resources/energyplus/Daylighting_School/in.idf index 6221f88959e..42bb0eaa0cd 100644 --- a/resources/energyplus/Daylighting_School/in.idf +++ b/resources/energyplus/Daylighting_School/in.idf @@ -33,7 +33,7 @@ ! WeatherFileName=USA_CO_Boulder_TMY2.epw ! End SimMetaData - Version,25.2; + Version,26.1; Timestep,6; diff --git a/resources/energyplus/FrameAndDivider/in.idf b/resources/energyplus/FrameAndDivider/in.idf index d91bdc61a10..b1063ab98d6 100644 --- a/resources/energyplus/FrameAndDivider/in.idf +++ b/resources/energyplus/FrameAndDivider/in.idf @@ -1,4 +1,4 @@ - Version,25.2; + Version,26.1; Timestep,4; diff --git a/resources/energyplus/HospitalBaseline/in.idf b/resources/energyplus/HospitalBaseline/in.idf index 97bb4dd11ef..18c22e66d26 100644 --- a/resources/energyplus/HospitalBaseline/in.idf +++ b/resources/energyplus/HospitalBaseline/in.idf @@ -100,7 +100,7 @@ ! End SimMetaData ! Number of Zones: 130 - Version,25.2; + Version,26.1; Timestep,6; diff --git a/resources/energyplus/NewFileTemplate.idf b/resources/energyplus/NewFileTemplate.idf index eea8fbf8769..c7aa698bf1d 100644 --- a/resources/energyplus/NewFileTemplate.idf +++ b/resources/energyplus/NewFileTemplate.idf @@ -1,6 +1,6 @@ !- =========== ALL OBJECTS IN CLASS: VERSION =========== - Version,25.2; + Version,26.1; !- =========== ALL OBJECTS IN CLASS: BUILDING =========== diff --git a/resources/energyplus/Office_With_Many_HVAC_Types/in.idf b/resources/energyplus/Office_With_Many_HVAC_Types/in.idf index 871ca48dda4..0afb04c8237 100644 --- a/resources/energyplus/Office_With_Many_HVAC_Types/in.idf +++ b/resources/energyplus/Office_With_Many_HVAC_Types/in.idf @@ -1,4 +1,4 @@ - Version,25.2; + Version,26.1; Building, Building 1, !- Name @@ -2692,7 +2692,6 @@ Node 94, !- Supply Air Inlet Node Name Node 96, !- Secondary Air Inlet Node Name Node 88, !- Outlet Node Name - Air Terminal Single Duct Parallel PIU Reheat 1 Mixer Outlet, !- Reheat Coil Air Inlet Node Name Air Terminal Single Duct Parallel PIU Reheat 1 Mixer, !- Zone Mixer Name Fan Constant Volume 4, !- Fan Name Coil:Heating:Electric, !- Reheat Coil Object Type @@ -2978,7 +2977,6 @@ Node 99, !- Supply Air Inlet Node Name Node 100, !- Secondary Air Inlet Node Name Node 97, !- Outlet Node Name - Air Terminal Single Duct Parallel PIU Reheat 2 Mixer Outlet, !- Reheat Coil Air Inlet Node Name Air Terminal Single Duct Parallel PIU Reheat 2 Mixer, !- Zone Mixer Name Fan Constant Volume 5, !- Fan Name Coil:Heating:Electric, !- Reheat Coil Object Type @@ -4049,7 +4047,6 @@ Node 195, !- Supply Air Inlet Node Name Node 197, !- Secondary Air Inlet Node Name Node 177, !- Outlet Node Name - Air Terminal Single Duct Parallel PIU Reheat 3 Mixer Outlet, !- Reheat Coil Air Inlet Node Name Air Terminal Single Duct Parallel PIU Reheat 3 Mixer, !- Zone Mixer Name Fan Constant Volume 6, !- Fan Name Coil:Heating:Electric, !- Reheat Coil Object Type @@ -4335,7 +4332,6 @@ Node 200, !- Supply Air Inlet Node Name Node 201, !- Secondary Air Inlet Node Name Node 198, !- Outlet Node Name - Air Terminal Single Duct Parallel PIU Reheat 4 Mixer Outlet, !- Reheat Coil Air Inlet Node Name Air Terminal Single Duct Parallel PIU Reheat 4 Mixer, !- Zone Mixer Name Fan Constant Volume 7, !- Fan Name Coil:Heating:Electric, !- Reheat Coil Object Type diff --git a/resources/energyplus/ProposedEnergy+.idd b/resources/energyplus/ProposedEnergy+.idd index 2addbd77791..ec1e094ea02 100644 --- a/resources/energyplus/ProposedEnergy+.idd +++ b/resources/energyplus/ProposedEnergy+.idd @@ -1,4 +1,4 @@ -!IDD_Version 25.2.0 +!IDD_Version 26.1.0 !IDD_BUILD TBD ! ************************************************************************** ! This file is the Input Data Dictionary (IDD) for EnergyPlus. @@ -405,7 +405,7 @@ Version, \format singleLine \min-fields 1 A1 ; \field Version Identifier - \default 25.2 + \default 26.1 SimulationControl, \unique-object @@ -28304,24 +28304,22 @@ AirTerminal:SingleDuct:SeriesPIU:Reheat, \type node A5, \field Outlet Node Name \type node - A6, \field Reheat Coil Air Inlet Node Name - \type node - A7, \field Zone Mixer Name + A6, \field Zone Mixer Name \type object-list \object-list ZoneMixers - A8, \field Fan Name + A7, \field Fan Name \note Fan type must be Fan:SystemModel or Fan:ConstantVolume \type object-list \object-list FansCV \object-list FansSystemModel - A9, \field Reheat Coil Object Type + A8, \field Reheat Coil Object Type \required-field \type choice \key Coil:Heating:Water \key Coil:Heating:Electric \key Coil:Heating:Fuel \key Coil:Heating:Steam - A10, \field Reheat Coil Name + A9, \field Reheat Coil Name \required-field \type object-list \object-list HeatingCoilName @@ -28342,7 +28340,7 @@ AirTerminal:SingleDuct:SeriesPIU:Reheat, \type real \minimum> 0.0 \default 0.001 - A11, \field Fan Control Type + A10, \field Fan Control Type \note If VariableSpeed, then the fan object type must be Fan:SystemModel \type choice \key VariableSpeed @@ -28355,7 +28353,7 @@ AirTerminal:SingleDuct:SeriesPIU:Reheat, \minimum 0.0 \maximum 1.0 \default 0.3 - A12, \field Heating Control Type + A11, \field Heating Control Type \type choice \key Staged \key Modulated @@ -28416,25 +28414,22 @@ AirTerminal:SingleDuct:ParallelPIU:Reheat, \type node A5, \field Outlet Node Name \type node - A6, \field Reheat Coil Air Inlet Node Name - \type node - \note mixer outlet node - A7, \field Zone Mixer Name + A6, \field Zone Mixer Name \type object-list \object-list ZoneMixers - A8, \field Fan Name + A7, \field Fan Name \note Fan type must be Fan:SystemModel or Fan:ConstantVolume \type object-list \object-list FansCV \object-list FansSystemModel - A9, \field Reheat Coil Object Type + A8, \field Reheat Coil Object Type \required-field \type choice \key Coil:Heating:Water \key Coil:Heating:Electric \key Coil:Heating:Fuel \key Coil:Heating:Steam - A10, \field Reheat Coil Name + A9, \field Reheat Coil Name \required-field \type object-list \object-list HeatingCoilName @@ -28455,7 +28450,7 @@ AirTerminal:SingleDuct:ParallelPIU:Reheat, \type real \minimum> 0.0 \default 0.001 - A11, \field Fan Control Type + A10, \field Fan Control Type \note If VariableSpeed, then the fan object type must be Fan:SystemModel \type choice \key VariableSpeed @@ -28468,7 +28463,7 @@ AirTerminal:SingleDuct:ParallelPIU:Reheat, \minimum 0.0 \maximum 1.0 \default 0.3 - A12, \field Heating Control Type + A11, \field Heating Control Type \type choice \key Staged \key Modulated @@ -28478,12 +28473,22 @@ AirTerminal:SingleDuct:ParallelPIU:Reheat, \default 32.1 \note Only used if Heating Control Type is Modulated \note Used to control second stage heating, typically zone heat setpoint plus 20F - N10; \field High Limit Heating Discharge Air Temperature + N10, \field High Limit Heating Discharge Air Temperature \type real \units C \default 37.7 \note Only used if Heating Control Type is Modulated \note Used to determine end of third stage heating + A12, \field Backdraft Damper Leakage Fraction Curve Name + \type object-list + \object-list UnivariateFunctions + \note Backdraft damper leakage fraction is the ratio of mass leakage flow rate to primary air flow rate + \note at a constant static pressure setpoint. This curve should describe the ratio as a function primary + \note air flow fraction (ratio of primary flow fraction to maximum nominal primary air flow rate). + A13; \field Backdraft Damper Leakage Zone Name + \note Name of a zone that will be impacted by the backdraft damper leakage. + \type object-list + \object-list ZoneNames AirTerminal:SingleDuct:ConstantVolume:FourPipeInduction, \memo Central air system terminal unit, single duct, variable volume, induction unit with @@ -50289,7 +50294,6 @@ HeatExchanger:FluidToFluid, \note This field controls end use reporting for heat transfer meters \type choice \key FreeCooling - \key HeatRecovery \key HeatRejection \key HeatRecoveryForCooling \key HeatRecoveryForHeating @@ -53293,11 +53297,11 @@ PlantEquipmentOperationSchemes, \min-fields 4 \max-fields 25 A1 , \field Name - \required-field + \required-field \reference PlantOperationSchemes A2 , \field Control Scheme 1 Object Type - \required-field - \begin-extensible + \required-field + \begin-extensible \type choice \key PlantEquipmentOperation:CoolingLoad \key PlantEquipmentOperation:HeatingLoad @@ -58385,6 +58389,7 @@ PhotovoltaicPerformance:Simple, \memo which surfaces convert incident solar radiation to electricity and need not specify \memo arrays of specific modules. A1 , \field Name + \required-field \reference PVModules N1 , \field Fraction of Surface Area with Active Solar Cells \required-field @@ -58410,6 +58415,7 @@ PhotovoltaicPerformance:EquivalentOne-Diode, \memo using an equivalent one-diode circuit. This model is also known as \memo the 4- or 5-parameter TRNSYS model for photovoltaics. A1 , \field Name + \required-field \reference PVModules A2 , \field Cell type \type choice @@ -58520,6 +58526,7 @@ PhotovoltaicPerformance:Sandia, \memo Describes performance input data needed for specific makes and models of production \memo PV panels using the empirical coefficients assembled by Sandia National Laboratory. A1 , \field Name + \required-field \reference PVModules N1 , \field Active Area \note (m2, single module) diff --git a/resources/energyplus/RefLargeOffice/RefBldgLargeOfficeNew2004_Chicago.idf b/resources/energyplus/RefLargeOffice/RefBldgLargeOfficeNew2004_Chicago.idf index 289e177b284..efbdac4a9f6 100644 --- a/resources/energyplus/RefLargeOffice/RefBldgLargeOfficeNew2004_Chicago.idf +++ b/resources/energyplus/RefLargeOffice/RefBldgLargeOfficeNew2004_Chicago.idf @@ -68,7 +68,7 @@ ! ***GENERAL SIMULATION PARAMETERS*** ! Number of Zones: 19 - Version,25.2; + Version,26.1; SimulationControl, YES, !- Do Zone Sizing Calculation diff --git a/resources/energyplus/ScheduleFile/in.idf b/resources/energyplus/ScheduleFile/in.idf index 623f46cfe3c..e91628ff504 100644 --- a/resources/energyplus/ScheduleFile/in.idf +++ b/resources/energyplus/ScheduleFile/in.idf @@ -1,4 +1,4 @@ - Version,25.2; + Version,26.1; Timestep,4; diff --git a/resources/energyplus/SimpleSurfaces/4ZoneWithShading_Simple_2.idf b/resources/energyplus/SimpleSurfaces/4ZoneWithShading_Simple_2.idf index fb2f5c97133..a5192cb52b3 100644 --- a/resources/energyplus/SimpleSurfaces/4ZoneWithShading_Simple_2.idf +++ b/resources/energyplus/SimpleSurfaces/4ZoneWithShading_Simple_2.idf @@ -81,7 +81,7 @@ ! Environmental Emissions: None ! Utility Tariffs: None - Version,25.2; + Version,26.1; Timestep,4; diff --git a/resources/energyplus/SimpleSurfaces/SimpleSurfaces_Reference.idf b/resources/energyplus/SimpleSurfaces/SimpleSurfaces_Reference.idf index a59e06af103..228569d1b29 100644 --- a/resources/energyplus/SimpleSurfaces/SimpleSurfaces_Reference.idf +++ b/resources/energyplus/SimpleSurfaces/SimpleSurfaces_Reference.idf @@ -1,7 +1,7 @@ ! Basecase reference for SimpleSurfaces_Test !- =========== ALL OBJECTS IN CLASS: VERSION =========== - Version,25.2; + Version,26.1; !- =========== ALL OBJECTS IN CLASS: BUILDING =========== diff --git a/resources/energyplus/SimpleSurfaces/SimpleSurfaces_Relative.idf b/resources/energyplus/SimpleSurfaces/SimpleSurfaces_Relative.idf index 7ba94ad3983..e0c18f793d3 100644 --- a/resources/energyplus/SimpleSurfaces/SimpleSurfaces_Relative.idf +++ b/resources/energyplus/SimpleSurfaces/SimpleSurfaces_Relative.idf @@ -1,7 +1,7 @@ ! File to test the import of simple surfaces !- =========== ALL OBJECTS IN CLASS: VERSION =========== - Version,25.2; + Version,26.1; !- =========== ALL OBJECTS IN CLASS: BUILDING =========== diff --git a/resources/energyplus/SmallOffice/SmallOffice.idf b/resources/energyplus/SmallOffice/SmallOffice.idf index 7b299ba2e27..2cb94d8c063 100644 --- a/resources/energyplus/SmallOffice/SmallOffice.idf +++ b/resources/energyplus/SmallOffice/SmallOffice.idf @@ -67,7 +67,7 @@ ! ExtWallConstruction=Mass ! End SimMetaData - Version,25.2; + Version,26.1; Timestep,6; diff --git a/resources/energyplus/ZoneBoundaryCondition/Bug_486_zone_bdr_test.idf b/resources/energyplus/ZoneBoundaryCondition/Bug_486_zone_bdr_test.idf index 9910a114fc9..b100c7be578 100644 --- a/resources/energyplus/ZoneBoundaryCondition/Bug_486_zone_bdr_test.idf +++ b/resources/energyplus/ZoneBoundaryCondition/Bug_486_zone_bdr_test.idf @@ -1,6 +1,6 @@ !- =========== ALL OBJECTS IN CLASS: VERSION =========== - Version,25.2; + Version,26.1; !- =========== ALL OBJECTS IN CLASS: BUILDING =========== diff --git a/resources/utilities/Idf/CommentTest.idf b/resources/utilities/Idf/CommentTest.idf index 8da4ac09046..6b0bca72fbb 100644 --- a/resources/utilities/Idf/CommentTest.idf +++ b/resources/utilities/Idf/CommentTest.idf @@ -2,7 +2,7 @@ ! Written by Elaine T. Hale, 15 September 2010 ! Version object should keep up with EnergyPlus version number. - Version,25.2; + Version,26.1; ! Timestep should be > 1. diff --git a/resources/utilities/Idf/DosLineEndingTest.idf b/resources/utilities/Idf/DosLineEndingTest.idf index 8da4ac09046..6b0bca72fbb 100644 --- a/resources/utilities/Idf/DosLineEndingTest.idf +++ b/resources/utilities/Idf/DosLineEndingTest.idf @@ -2,7 +2,7 @@ ! Written by Elaine T. Hale, 15 September 2010 ! Version object should keep up with EnergyPlus version number. - Version,25.2; + Version,26.1; ! Timestep should be > 1. diff --git a/resources/utilities/Idf/FormatPropertyTest_Formatted.idf b/resources/utilities/Idf/FormatPropertyTest_Formatted.idf index 5525a90cc41..0e332fabd0d 100644 --- a/resources/utilities/Idf/FormatPropertyTest_Formatted.idf +++ b/resources/utilities/Idf/FormatPropertyTest_Formatted.idf @@ -5,7 +5,7 @@ !- =========== ALL OBJECTS IN CLASS: VERSION =========== ! \format singleLine - Version,25.2; + Version,26.1; !- =========== ALL OBJECTS IN CLASS: HEATBALANCEALGORITHM =========== ! \format singleLine diff --git a/resources/utilities/Idf/FormatPropertyTest_Unformatted.idf b/resources/utilities/Idf/FormatPropertyTest_Unformatted.idf index d094f79e122..5f1d8bc4e16 100644 --- a/resources/utilities/Idf/FormatPropertyTest_Unformatted.idf +++ b/resources/utilities/Idf/FormatPropertyTest_Unformatted.idf @@ -5,7 +5,7 @@ !- =========== ALL OBJECTS IN CLASS: VERSION =========== ! \format singleLine - Version,25.2; + Version,26.1; !- =========== ALL OBJECTS IN CLASS: HEATBALANCEALGORITHM =========== ! \format singleLine diff --git a/resources/utilities/Idf/MixedLineEndingTest.idf b/resources/utilities/Idf/MixedLineEndingTest.idf index 8da4ac09046..6b0bca72fbb 100644 --- a/resources/utilities/Idf/MixedLineEndingTest.idf +++ b/resources/utilities/Idf/MixedLineEndingTest.idf @@ -2,7 +2,7 @@ ! Written by Elaine T. Hale, 15 September 2010 ! Version object should keep up with EnergyPlus version number. - Version,25.2; + Version,26.1; ! Timestep should be > 1. diff --git a/resources/utilities/Idf/UnixLineEndingTest.idf b/resources/utilities/Idf/UnixLineEndingTest.idf index 8da4ac09046..6b0bca72fbb 100644 --- a/resources/utilities/Idf/UnixLineEndingTest.idf +++ b/resources/utilities/Idf/UnixLineEndingTest.idf @@ -2,7 +2,7 @@ ! Written by Elaine T. Hale, 15 September 2010 ! Version object should keep up with EnergyPlus version number. - Version,25.2; + Version,26.1; ! Timestep should be > 1. diff --git a/resources/utilities/SqlFile/1ZoneEvapCooler-V26-1-0.idf b/resources/utilities/SqlFile/1ZoneEvapCooler-V26-1-0.idf new file mode 100644 index 00000000000..bbb1924c05e --- /dev/null +++ b/resources/utilities/SqlFile/1ZoneEvapCooler-V26-1-0.idf @@ -0,0 +1,643 @@ +!-Generator IDFEditor 1.34 +!-Option OriginalOrderTop UseSpecialFormat +!-NOTE: All comments with '!-' are ignored by the IDFEditor and are generated automatically. +!- Use '!' comments if they need to be retained when using the IDFEditor. +! 1ZoneEvapCooler.idf +! +! Basic file description: This file models a small one-zone house with a whole-house direct evaporative cooler system. +! Because evaporative coolers cannot be controlled with the ZoneControl:Thermostat object, +! this file illustrates how an evaporative cooler system can be thermostatically controlled +! in a crude manner using the AvailabilityManager objects: +! +! AvailabilityManager:LowTemperatureTurnOff +! AvailabilityManager:HighTemperatureTurnOn +! +! Availability managers are capable of turning on or off the fan for an air system (or the pump +! for a plant system) by monitoring temperature conditions at a user-specified system node. +! In this model, the availability managers are monitoring the zone outlet air node to act as +! a crude thermostatic control for the zone. +! +! Keep in mind that availability manager control is "lagged". This means that the node +! conditions from the previous time step are used to make control decisions at the current +! time step. +! +! There are two ways to use the availability managers for controlling an evaporative cooler: +! +! Method 1. The fan is scheduled to be available at all times, meaning that the system +! is on all the time by default. This usually results in over-cooling. +! To prevent over-cooling, the LOW TEMPERATURE TURN OFF object is used to +! turn off the system fan when the temperature falls below the setpoint (23 C). +! +! Method 2. The fan is scheduled to be unavailable at all times, meaning that the system +! is off all the time by default. This usually results in under-cooling. +! To prevent under-cooling, the HIGH TEMPERATURE TURN ON object is used to +! turn on the system fan when the temperature rises above the setpoint (26 C). +! +! With either method, all other equipment is scheduled to be always available. In this file, +! for demonstration purposes only, the fan is scheduled to be available from 12 AM-12 PM to +! to demonstrate Method 1, and scheduled to be unavailable from 12 PM-12 AM for Method 2. +! +! Note that ZoneControl:Thermostat is still used in this model to control the baseboard +! heating in the winter, but it does not effect the evaporative cooler system. +! +! Highlights: Test of AvailabilityManagers for controlling an air system. +! +! Simulation Location/Run: DENVER_STAPLETON_CO_USA_WMO_724690, 2 design days, 1 run period, +! Run Control executes two design days (see RUN PERIOD object) +! +! Location: Denver, CO +! +! Design Days: DENVER_STAPLETON_CO_USA Annual Heating 99%, MaxDB=-16°C +! DENVER_STAPLETON_CO_USA Annual Cooling (DB=>MWB) 1%, MaxDB=32.6°C MWB=15.5°C +! +! Run Period (Weather File): Full Annual Simulation, DENVER_STAPLETON_CO_USA_WMO_724690 +! +! Run Control: No zone or system sizing, design day run control (no weather file simulation) +! +! Building: Fictional 1 zone building with resistive walls based on 1ZoneUncontrolled example. +! No windows. No internal gains. No internal mass. The building is oriented due north. +! +! Floor Area: 232.25 m2 +! Number of Stories: 1 + + Version,26.1; + + Timestep,6; + + Building, + Bldg, !- Name + 0.0, !- North Axis {deg} + Suburbs, !- Terrain + 0.05, !- Loads Convergence Tolerance Value {W} + 0.05, !- Temperature Convergence Tolerance Value {deltaC} + MinimalShadowing, !- Solar Distribution + 30, !- Maximum Number of Warmup Days + 6; !- Minimum Number of Warmup Days + + HeatBalanceAlgorithm,ConductionTransferFunction; + + SurfaceConvectionAlgorithm:Inside,TARP; + + SurfaceConvectionAlgorithm:Outside,DOE-2; + + SimulationControl, + No, !- Do Zone Sizing Calculation + No, !- Do System Sizing Calculation + No, !- Do Plant Sizing Calculation + Yes, !- Run Simulation for Sizing Periods + Yes, !- Run Simulation for Weather File Run Periods + No, !- Do HVAC Sizing Simulation for Sizing Periods + 1; !- Maximum Number of HVAC Sizing Simulation Passes + + RunPeriod, + Run Period 1, !- Name + 1, !- Begin Month + 1, !- Begin Day of Month + , !- Begin Year + 12, !- End Month + 31, !- End Day of Month + , !- End Year + Tuesday, !- Day of Week for Start Day + Yes, !- Use Weather File Holidays and Special Days + Yes, !- Use Weather File Daylight Saving Period + No, !- Apply Weekend Holiday Rule + Yes, !- Use Weather File Rain Indicators + Yes; !- Use Weather File Snow Indicators + + Site:Location, + Denver Centennial CO USA WMO=724666, !- Name + 39.74, !- Latitude {deg} + -105.18, !- Longitude {deg} + -7.00, !- Time Zone {hr} + 1793.00; !- Elevation {m} + + ! WMO=724666 Time Zone=NAM (GMT-07:00) Mountain Time (US & Canada) + ! Data Source=ASHRAE 2009 Annual Design Conditions + ! Using Design Conditions from "Climate Design Data 2009 ASHRAE Handbook" + ! Denver Centennial CO USA Extreme Annual Wind Speeds, 1%=11.1m/s, 2.5%=9.5m/s, 5%=8.4m/s + ! Denver Centennial CO USA Extreme Annual Temperatures, Max Drybulb=-22.9°C Min Drybulb=36.1°C + ! Denver Centennial CO USA Annual Heating Design Conditions Wind Speed=3m/s Wind Dir=340 + ! Coldest Month=December + ! Denver Centennial CO USA Annual Heating 99.6%, MaxDB=-18.8°C + + SizingPeriod:DesignDay, + Denver Centennial Ann Htg 99.6% Condns DB, !- Name + 12, !- Month + 21, !- Day of Month + WinterDesignDay, !- Day Type + -18.8, !- Maximum Dry-Bulb Temperature {C} + 0.0, !- Daily Dry-Bulb Temperature Range {deltaC} + , !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Day Schedule Name + Wetbulb, !- Humidity Condition Type + -18.8, !- Wetbulb or DewPoint at Maximum Dry-Bulb {C} + , !- Humidity Condition Day Schedule Name + , !- Humidity Ratio at Maximum Dry-Bulb {kgWater/kgDryAir} + , !- Enthalpy at Maximum Dry-Bulb {J/kg} + , !- Daily Wet-Bulb Temperature Range {deltaC} + 81560., !- Barometric Pressure {Pa} + 3, !- Wind Speed {m/s} + 340, !- Wind Direction {deg} + No, !- Rain Indicator + No, !- Snow Indicator + No, !- Daylight Saving Time Indicator + ASHRAEClearSky, !- Solar Model Indicator + , !- Beam Solar Day Schedule Name + , !- Diffuse Solar Day Schedule Name + , !- ASHRAE Clear Sky Optical Depth for Beam Irradiance (taub) {dimensionless} + , !- ASHRAE Clear Sky Optical Depth for Diffuse Irradiance (taud) {dimensionless} + 0.00; !- Sky Clearness + + ! Denver Centennial Annual Cooling Design Conditions Wind Speed=4.9m/s Wind Dir=0 + ! Hottest Month=July + ! Denver Centennial CO USA Annual Cooling (DB=>MWB) 1%, MaxDB=32°C MWB=15.5°C + + SizingPeriod:DesignDay, + Denver Centennial Ann Clg 1% Condns DB=>MWB, !- Name + 7, !- Month + 21, !- Day of Month + SummerDesignDay, !- Day Type + 32, !- Maximum Dry-Bulb Temperature {C} + 15.2, !- Daily Dry-Bulb Temperature Range {deltaC} + , !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Day Schedule Name + Wetbulb, !- Humidity Condition Type + 15.5, !- Wetbulb or DewPoint at Maximum Dry-Bulb {C} + , !- Humidity Condition Day Schedule Name + , !- Humidity Ratio at Maximum Dry-Bulb {kgWater/kgDryAir} + , !- Enthalpy at Maximum Dry-Bulb {J/kg} + , !- Daily Wet-Bulb Temperature Range {deltaC} + 81560., !- Barometric Pressure {Pa} + 4.9, !- Wind Speed {m/s} + 0, !- Wind Direction {deg} + No, !- Rain Indicator + No, !- Snow Indicator + No, !- Daylight Saving Time Indicator + ASHRAEClearSky, !- Solar Model Indicator + , !- Beam Solar Day Schedule Name + , !- Diffuse Solar Day Schedule Name + , !- ASHRAE Clear Sky Optical Depth for Beam Irradiance (taub) {dimensionless} + , !- ASHRAE Clear Sky Optical Depth for Diffuse Irradiance (taud) {dimensionless} + 1.00; !- Sky Clearness + + Material:NoMass, + R13LAYER, !- Name + Rough, !- Roughness + 2.290965, !- Thermal Resistance {m2-K/W} + 0.9000000, !- Thermal Absorptance + 0.7500000, !- Solar Absorptance + 0.7500000; !- Visible Absorptance + + Material:NoMass, + R31LAYER, !- Name + Rough, !- Roughness + 5.456, !- Thermal Resistance {m2-K/W} + 0.9000000, !- Thermal Absorptance + 0.7500000, !- Solar Absorptance + 0.7500000; !- Visible Absorptance + + Material, + C5 - 4 IN HW CONCRETE, !- Name + MediumRough, !- Roughness + 0.1014984, !- Thickness {m} + 1.729577, !- Conductivity {W/m-K} + 2242.585, !- Density {kg/m3} + 836.8000, !- Specific Heat {J/kg-K} + 0.9000000, !- Thermal Absorptance + 0.6500000, !- Solar Absorptance + 0.6500000; !- Visible Absorptance + + Construction, + R13WALL, !- Name + R13LAYER; !- Outside Layer + + Construction, + FLOOR, !- Name + C5 - 4 IN HW CONCRETE; !- Outside Layer + + Construction, + ROOF31, !- Name + R31LAYER; !- Outside Layer + + Site:GroundTemperature:BuildingSurface,18.89,18.92,19.02,19.12,19.21,19.23,19.07,19.32,19.09,19.21,19.13,18.96; + + Zone, + Main Zone, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + autocalculate, !- Ceiling Height {m} + autocalculate; !- Volume {m3} + + ScheduleTypeLimits, + Fraction, !- Name + 0.0, !- Lower Limit Value + 1.0, !- Upper Limit Value + CONTINUOUS; !- Numeric Type + + GlobalGeometryRules, + UpperLeftCorner, !- Starting Vertex Position + CounterClockWise, !- Vertex Entry Direction + World; !- Coordinate System + + BuildingSurface:Detailed, + Zn001:Wall001, !- Name + Wall, !- Surface Type + R13WALL, !- Construction Name + Main Zone, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.5000000, !- View Factor to Ground + 4, !- Number of Vertices + 0,0,4.572000, !- X,Y,Z ==> Vertex 1 {m} + 0,0,0, !- X,Y,Z ==> Vertex 2 {m} + 15.24000,0,0, !- X,Y,Z ==> Vertex 3 {m} + 15.24000,0,4.572000; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Zn001:Wall002, !- Name + Wall, !- Surface Type + R13WALL, !- Construction Name + Main Zone, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.5000000, !- View Factor to Ground + 4, !- Number of Vertices + 15.24000,0,4.572000, !- X,Y,Z ==> Vertex 1 {m} + 15.24000,0,0, !- X,Y,Z ==> Vertex 2 {m} + 15.24000,15.24000,0, !- X,Y,Z ==> Vertex 3 {m} + 15.24000,15.24000,4.572000; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Zn001:Wall003, !- Name + Wall, !- Surface Type + R13WALL, !- Construction Name + Main Zone, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.5000000, !- View Factor to Ground + 4, !- Number of Vertices + 15.24000,15.24000,4.572000, !- X,Y,Z ==> Vertex 1 {m} + 15.24000,15.24000,0, !- X,Y,Z ==> Vertex 2 {m} + 0,15.24000,0, !- X,Y,Z ==> Vertex 3 {m} + 0,15.24000,4.572000; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Zn001:Wall004, !- Name + Wall, !- Surface Type + R13WALL, !- Construction Name + Main Zone, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.5000000, !- View Factor to Ground + 4, !- Number of Vertices + 0,15.24000,4.572000, !- X,Y,Z ==> Vertex 1 {m} + 0,15.24000,0, !- X,Y,Z ==> Vertex 2 {m} + 0,0,0, !- X,Y,Z ==> Vertex 3 {m} + 0,0,4.572000; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Zn001:Flr001, !- Name + Floor, !- Surface Type + FLOOR, !- Construction Name + Main Zone, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Zn001:Flr001, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 1.000000, !- View Factor to Ground + 4, !- Number of Vertices + 15.24000,0.000000,0.0, !- X,Y,Z ==> Vertex 1 {m} + 0.000000,0.000000,0.0, !- X,Y,Z ==> Vertex 2 {m} + 0.000000,15.24000,0.0, !- X,Y,Z ==> Vertex 3 {m} + 15.24000,15.24000,0.0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Zn001:Roof001, !- Name + Roof, !- Surface Type + ROOF31, !- Construction Name + Main Zone, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0, !- View Factor to Ground + 4, !- Number of Vertices + 0.000000,15.24000,4.572, !- X,Y,Z ==> Vertex 1 {m} + 0.000000,0.000000,4.572, !- X,Y,Z ==> Vertex 2 {m} + 15.24000,0.000000,4.572, !- X,Y,Z ==> Vertex 3 {m} + 15.24000,15.24000,4.572; !- X,Y,Z ==> Vertex 4 {m} + + ZoneInfiltration:DesignFlowRate, + Main Zone Infiltration, !- Name + Main Zone, !- Zone or ZoneList or Space or SpaceList Name + System Availability Schedule, !- Schedule Name + Flow/Zone, !- Design Flow Rate Calculation Method + 0.02, !- Design Flow Rate {m3/s} + , !- Flow Rate per Floor Area {m3/s-m2} + , !- Flow Rate per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 1.0000, !- Constant Term Coefficient + 0.0000, !- Temperature Term Coefficient + 0.0000, !- Velocity Term Coefficient + 0.0000; !- Velocity Squared Term Coefficient + + ScheduleTypeLimits, + Any Number; !- Name + + Schedule:Compact, + System Availability Schedule, !- Name + Any Number, !- Schedule Type Limits Name + THROUGH: 12/31, !- Field 1 + FOR: AllDays, !- Field 2 + UNTIL: 24:00,1; !- Field 3 + + Schedule:Compact, + Fan Availability Schedule, !- Name + Any Number, !- Schedule Type Limits Name + THROUGH: 12/31, !- Field 1 + FOR: AllDays, !- Field 2 + UNTIL: 12:00,1, !- Field 3 + UNTIL: 24:00,0; !- Field 5 + + AirLoopHVAC, + Evap Cooler System, !- Name + , !- Controller List Name + Evap Cooler Availability List, !- Availability Manager List Name + 2.0, !- Design Supply Air Flow Rate {m3/s} + Air Loop Branches, !- Branch List Name + , !- Connector List Name + Supply Inlet Node, !- Supply Side Inlet Node Name + Zone Equipment Outlet Node, !- Demand Side Outlet Node Name + Zone Equipment Inlet Node, !- Demand Side Inlet Node Names + Supply Outlet Node; !- Supply Side Outlet Node Names + + AvailabilityManagerAssignmentList, + Evap Cooler Availability List, !- Name + AvailabilityManager:LowTemperatureTurnOff, !- Availability Manager 1 Object Type + Low Temperature Turn Off Availability Manager, !- Availability Manager 1 Name + AvailabilityManager:HighTemperatureTurnOn, !- Availability Manager 2 Object Type + High Temperature Turn On Availability Manager; !- Availability Manager 2 Name + + AvailabilityManager:LowTemperatureTurnOff, + Low Temperature Turn Off Availability Manager, !- Name + Main Zone Outlet Node, !- Sensor Node Name + 23.0; !- Temperature {C} + + AvailabilityManager:HighTemperatureTurnOn, + High Temperature Turn On Availability Manager, !- Name + Main Zone Outlet Node, !- Sensor Node Name + 27.0; !- Temperature {C} + + BranchList, + Air Loop Branches, !- Name + Air Loop Main Branch; !- Branch 1 Name + + Branch, + Air Loop Main Branch, !- Name + , !- Pressure Drop Curve Name + AirLoopHVAC:OutdoorAirSystem, !- Component 1 Object Type + Outside Air System, !- Component 1 Name + Supply Inlet Node, !- Component 1 Inlet Node Name + Fan Inlet Node, !- Component 1 Outlet Node Name + Fan:ConstantVolume, !- Component 2 Object Type + Supply Fan, !- Component 2 Name + Fan Inlet Node, !- Component 2 Inlet Node Name + Evap Cooler Inlet Node, !- Component 2 Outlet Node Name + EvaporativeCooler:Direct:CelDekPad, !- Component 3 Object Type + Evaporative Cooler, !- Component 3 Name + Evap Cooler Inlet Node, !- Component 3 Inlet Node Name + Supply Outlet Node; !- Component 3 Outlet Node Name + + AirLoopHVAC:OutdoorAirSystem, + Outside Air System, !- Name + Outside Air System Controllers, !- Controller List Name + Outside Air System Equipment; !- Outdoor Air Equipment List Name + + OutdoorAir:Node, + Outside Air Inlet Node; !- Name + + AirLoopHVAC:ControllerList, + Outside Air System Controllers, !- Name + Controller:OutdoorAir, !- Controller 1 Object Type + Outside Air Controller; !- Controller 1 Name + + Controller:OutdoorAir, + Outside Air Controller, !- Name + Relief Air Outlet Node, !- Relief Air Outlet Node Name + Supply Inlet Node, !- Return Air Node Name + Fan Inlet Node, !- Mixed Air Node Name + Outside Air Inlet Node, !- Actuator Node Name + 2.0, !- Minimum Outdoor Air Flow Rate {m3/s} + 2.0, !- Maximum Outdoor Air Flow Rate {m3/s} + NoEconomizer, !- Economizer Control Type + ModulateFlow, !- Economizer Control Action Type + 19., !- Economizer Maximum Limit Dry-Bulb Temperature {C} + , !- Economizer Maximum Limit Enthalpy {J/kg} + , !- Economizer Maximum Limit Dewpoint Temperature {C} + , !- Electronic Enthalpy Limit Curve Name + 4., !- Economizer Minimum Limit Dry-Bulb Temperature {C} + NoLockout, !- Lockout Type + FixedMinimum; !- Minimum Limit Type + + AirLoopHVAC:OutdoorAirSystem:EquipmentList, + Outside Air System Equipment, !- Name + OutdoorAir:Mixer, !- Component 1 Object Type + Outside Air Mixing Box; !- Component 1 Name + + OutdoorAir:Mixer, + Outside Air Mixing Box, !- Name + Fan Inlet Node, !- Mixed Air Node Name + Outside Air Inlet Node, !- Outdoor Air Stream Node Name + Relief Air Outlet Node, !- Relief Air Stream Node Name + Supply Inlet Node; !- Return Air Stream Node Name + + Fan:ConstantVolume, + Supply Fan, !- Name + Fan Availability Schedule, !- Availability Schedule Name + 0.7, !- Fan Total Efficiency + 600.0, !- Pressure Rise {Pa} + 2.0, !- Maximum Flow Rate {m3/s} + 0.9, !- Motor Efficiency + 1.0, !- Motor In Airstream Fraction + Fan Inlet Node, !- Air Inlet Node Name + Evap Cooler Inlet Node; !- Air Outlet Node Name + + EvaporativeCooler:Direct:CelDekPad, + Evaporative Cooler, !- Name + System Availability Schedule, !- Availability Schedule Name + 0.6, !- Direct Pad Area {m2} + 0.2, !- Direct Pad Depth {m} + 225, !- Recirculating Water Pump Power Consumption {W} + Evap Cooler Inlet Node, !- Air Inlet Node Name + Supply Outlet Node, !- Air Outlet Node Name + CONSTANT; !- Control Type + + AirLoopHVAC:SupplyPath, + Zone Supply Air Path, !- Name + Zone Equipment Inlet Node, !- Supply Air Path Inlet Node Name + AirLoopHVAC:ZoneSplitter,!- Component 1 Object Type + Zone Supply Air Splitter;!- Component 1 Name + + AirLoopHVAC:ZoneSplitter, + Zone Supply Air Splitter,!- Name + Zone Equipment Inlet Node, !- Inlet Node Name + Main Zone Inlet Node ATInlet; !- Outlet 1 Node Name + + AirLoopHVAC:ReturnPath, + Zone Return Air Path, !- Name + Zone Equipment Outlet Node, !- Return Air Path Outlet Node Name + AirLoopHVAC:ZoneMixer, !- Component 1 Object Type + Zone Return Air Mixer; !- Component 1 Name + + AirLoopHVAC:ZoneMixer, + Zone Return Air Mixer, !- Name + Zone Equipment Outlet Node, !- Outlet Node Name + Main Zone Outlet Node; !- Inlet 1 Node Name + + ZoneHVAC:EquipmentConnections, + Main Zone, !- Zone Name + Main Zone Equipment, !- Zone Conditioning Equipment List Name + Main Zone Inlet Node, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Main Zone Node, !- Zone Air Node Name + Main Zone Outlet Node; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentList, + Main Zone Equipment, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + Main Zone Direct Air ADU,!- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 2, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + , !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + ZoneHVAC:Baseboard:Convective:Electric, !- Zone Equipment 2 Object Type + Main Zone Baseboard, !- Zone Equipment 2 Name + 2, !- Zone Equipment 2 Cooling Sequence + 1, !- Zone Equipment 2 Heating or No-Load Sequence + , !- Zone Equipment 2 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 2 Sequential Heating Fraction Schedule Name + + AirTerminal:SingleDuct:ConstantVolume:NoReheat, + Main Zone Direct Air, !- Name + System Availability Schedule, !- Availability Schedule Name + Main Zone Inlet Node ATInlet, !- Air Inlet Node Name + Main Zone Inlet Node, !- Air Outlet Node Name + 1.5, !- Maximum Air Flow Rate {m3/s} + , !- Design Specification Outdoor Air Object Name + ; !- Per Person Ventilation Rate Mode + + ZoneHVAC:AirDistributionUnit, + Main Zone Direct Air ADU,!- Name + Main Zone Inlet Node, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:ConstantVolume:NoReheat, !- Air Terminal Object Type + Main Zone Direct Air, !- Air Terminal Name + , !- Nominal Upstream Leakage Fraction + , !- Constant Downstream Leakage Fraction + ; !- Design Specification Air Terminal Sizing Object Name + + ZoneHVAC:Baseboard:Convective:Electric, + Main Zone Baseboard, !- Name + System Availability Schedule, !- Availability Schedule Name + HeatingDesignCapacity, !- Heating Design Capacity Method + 8000, !- Heating Design Capacity {W} + , !- Heating Design Capacity Per Floor Area {W/m2} + , !- Fraction of Autosized Heating Design Capacity + 0.97; !- Efficiency + + ZoneControl:Thermostat, + Main Zone Thermostat, !- Name + Main Zone, !- Zone or ZoneList Name + Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:SingleHeating, !- Control 1 Object Type + Heating Setpoint; !- Control 1 Name + + Schedule:Compact, + Zone Control Type Sched, !- Name + Any Number, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,1; !- Field 3 + + ThermostatSetpoint:SingleHeating, + Heating Setpoint, !- Name + Heating Setpoint Schedule; !- Setpoint Temperature Schedule Name + + Schedule:Compact, + Heating Setpoint Schedule, !- Name + Any Number, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,20.0; !- Field 3 + + Output:VariableDictionary,Regular; + + Output:Surfaces:Drawing,DXF; + + Output:Constructions,Constructions; + + Output:Variable,*,Site Outdoor Air Drybulb Temperature,hourly; + + Output:Variable,*,Site Outdoor Air Wetbulb Temperature,hourly; + + Output:Variable,*,Site Outdoor Air Humidity Ratio,hourly; + + Output:Variable,*,Site Outdoor Air Relative Humidity,hourly; + + Output:Variable,*,Zone Mean Air Temperature,Annual; + + Output:Variable,*,Zone Mean Air Temperature,RunPeriod; + + Output:Variable,*,Zone Mean Air Temperature,Environment; + + Output:Variable,*,Zone Mean Air Temperature,Monthly; + + Output:Variable,*,Zone Mean Air Temperature,Daily; + + Output:Variable,*,Zone Mean Air Temperature,Hourly; + + Output:Variable,*,Zone Mean Air Temperature,Timestep; + + Output:Variable,*,Zone Mean Air Temperature,Detailed; + + Output:Variable,Supply Outlet Node,System Node Mass Flow Rate,hourly; + + Output:Variable,*,System Node Temperature,hourly; + + Output:Variable,*,Baseboard Electricity Rate,hourly; + + Output:Meter:MeterFileOnly,Electricity:Facility,monthly; + + Output:Meter:MeterFileOnly,Electricity:HVAC,monthly; + + Output:Meter:MeterFileOnly,Electricity:Facility,runperiod; + + Output:Meter:MeterFileOnly,Electricity:HVAC,runperiod; + + OutputControl:Table:Style, + TabAndHTML; !- Column Separator + + Output:Table:SummaryReports, + AllSummary; !- Report 1 Name + + Output:SQLite, + SimpleAndTabular; !- Option Type + diff --git a/resources/utilities/SqlFile/1ZoneEvapCooler-V26-1-0.sql b/resources/utilities/SqlFile/1ZoneEvapCooler-V26-1-0.sql new file mode 100644 index 00000000000..76c7cd7b30b Binary files /dev/null and b/resources/utilities/SqlFile/1ZoneEvapCooler-V26-1-0.sql differ diff --git a/resources/utilities/SqlFile/update_all.sh b/resources/utilities/SqlFile/update_all.sh index cb42844ad77..d3b75b76cf0 100755 --- a/resources/utilities/SqlFile/update_all.sh +++ b/resources/utilities/SqlFile/update_all.sh @@ -8,7 +8,7 @@ fi; # All versions you want to run # declare -a all_versions=("8.5.0" "8.6.0" "8.7.0" "8.8.0" "8.9.0" "9.0.1" "9.1.0" "9.2.0" "9.3.0", "9.4.0", "9.5.0", "9.6.0", "22.1.0", "22.2.0", "23.1.0", "23.2.0", "24.1.0", "24.2.0", "25.1.0") -declare -a all_versions=("25.2.0") +declare -a all_versions=("26.1.0") # DO NOT RERUN IF SQL ALREADY THERE rerun_if_already_there=false diff --git a/src/energyplus/ForwardTranslator/ForwardTranslateAirTerminalSingleDuctParallelPIUReheat.cpp b/src/energyplus/ForwardTranslator/ForwardTranslateAirTerminalSingleDuctParallelPIUReheat.cpp index 9f8c64b6b18..5f17b6e42bb 100644 --- a/src/energyplus/ForwardTranslator/ForwardTranslateAirTerminalSingleDuctParallelPIUReheat.cpp +++ b/src/energyplus/ForwardTranslator/ForwardTranslateAirTerminalSingleDuctParallelPIUReheat.cpp @@ -145,8 +145,6 @@ namespace energyplus { // Reheat Coil Type idfObject.setString(AirTerminal_SingleDuct_ParallelPIU_ReheatFields::ReheatCoilObjectType, _reheatCoil->iddObject().name()); - idfObject.setString(AirTerminal_SingleDuct_ParallelPIU_ReheatFields::ReheatCoilAirInletNodeName, mixerOutletNodeName); - if (outletNodeName && inletNodeName) { if (_reheatCoil->iddObject().type() == IddObjectType::Coil_Heating_Fuel) { _reheatCoil->setString(Coil_Heating_FuelFields::AirInletNodeName, mixerOutletNodeName); diff --git a/src/energyplus/ForwardTranslator/ForwardTranslateAirTerminalSingleDuctSeriesPIUReheat.cpp b/src/energyplus/ForwardTranslator/ForwardTranslateAirTerminalSingleDuctSeriesPIUReheat.cpp index eaed2086ca3..5a7bf08df56 100644 --- a/src/energyplus/ForwardTranslator/ForwardTranslateAirTerminalSingleDuctSeriesPIUReheat.cpp +++ b/src/energyplus/ForwardTranslator/ForwardTranslateAirTerminalSingleDuctSeriesPIUReheat.cpp @@ -142,8 +142,6 @@ namespace energyplus { // Reheat Coil Type idfObject.setString(AirTerminal_SingleDuct_SeriesPIU_ReheatFields::ReheatCoilObjectType, _reheatCoil->iddObject().name()); - idfObject.setString(AirTerminal_SingleDuct_SeriesPIU_ReheatFields::ReheatCoilAirInletNodeName, fanOutletNodeName); - if (outletNodeName) { if (_reheatCoil->iddObject().type() == IddObjectType::Coil_Heating_Fuel) { _reheatCoil->setString(Coil_Heating_FuelFields::AirInletNodeName, fanOutletNodeName); diff --git a/src/energyplus/ForwardTranslator/ForwardTranslateHeatExchangerFluidToFluid.cpp b/src/energyplus/ForwardTranslator/ForwardTranslateHeatExchangerFluidToFluid.cpp index ba85ad08d32..df43be68185 100644 --- a/src/energyplus/ForwardTranslator/ForwardTranslateHeatExchangerFluidToFluid.cpp +++ b/src/energyplus/ForwardTranslator/ForwardTranslateHeatExchangerFluidToFluid.cpp @@ -13,6 +13,7 @@ #include "../../model/SetpointManager_Impl.hpp" #include "../../model/Schedule.hpp" #include "../../utilities/idf/Workspace.hpp" +#include "../../utilities/core/Compare.hpp" #include "../../utilities/core/Logger.hpp" #include #include @@ -128,7 +129,14 @@ namespace energyplus { // HeatTransferMeteringEndUseType if ((s = modelObject.heatTransferMeteringEndUseType())) { - idfObject.setString(HeatExchanger_FluidToFluidFields::HeatTransferMeteringEndUseType, s.get()); + // TODO: deal with the removed "HeatRecovery" option. I don't think it should have been removed at all + // https://github.com/NatLabRockies/EnergyPlus/pull/11344#issuecomment-4863193836 + std::string heatTransferMeteringEndUseType = s.get(); + if (openstudio::istringEqual("HeatRecovery", heatTransferMeteringEndUseType)) { + LOG(Warn, "HeatExchanger_FluidToFluid: HeatTransferMeteringEndUseType 'HeatRecovery' is no longer supported. Using 'LoopToLoop' instead."); + heatTransferMeteringEndUseType = "LoopToLoop"; + } + idfObject.setString(HeatExchanger_FluidToFluidFields::HeatTransferMeteringEndUseType, heatTransferMeteringEndUseType); } // ComponentOverrideLoopSupplySideInletNode diff --git a/src/energyplus/Resources/LCCusePriceEscalationDataSet2011.idf b/src/energyplus/Resources/LCCusePriceEscalationDataSet2011.idf index c39fcb48d17..ce15874247c 100644 --- a/src/energyplus/Resources/LCCusePriceEscalationDataSet2011.idf +++ b/src/energyplus/Resources/LCCusePriceEscalationDataSet2011.idf @@ -23,7 +23,7 @@ ! converted into EnergyPlus objects using a spreadsheet called ConvertENCOSTtoEnergyPlusLifeCycleCost.xls ! which is available upon request. - Version,25.2; + Version,26.1; LifeCycleCost:UsePriceEscalation, NorthEast Residential-Electricity, !- LCC Price Escalation Name diff --git a/src/energyplus/Test/AirTerminalSingleDuctParallelPIUReheat_GTest.cpp b/src/energyplus/Test/AirTerminalSingleDuctParallelPIUReheat_GTest.cpp index 581b93c46d7..91bc45f4e1e 100644 --- a/src/energyplus/Test/AirTerminalSingleDuctParallelPIUReheat_GTest.cpp +++ b/src/energyplus/Test/AirTerminalSingleDuctParallelPIUReheat_GTest.cpp @@ -71,8 +71,6 @@ TEST_F(EnergyPlusFixture, ForwardTranslator_AirTerminalSingleDuctParallelPIURehe EXPECT_EQ(atu.secondaryAirInletNode()->nameString(), idf_atu.getString(AirTerminal_SingleDuct_ParallelPIU_ReheatFields::SecondaryAirInletNodeName, false).get()); EXPECT_EQ(atu.outletModelObject()->nameString(), idf_atu.getString(AirTerminal_SingleDuct_ParallelPIU_ReheatFields::OutletNodeName, false).get()); - EXPECT_EQ(atu.nameString() + " Mixer Outlet", - idf_atu.getString(AirTerminal_SingleDuct_ParallelPIU_ReheatFields::ReheatCoilAirInletNodeName, false).get()); EXPECT_EQ(atu.nameString() + " Mixer", idf_atu.getString(AirTerminal_SingleDuct_ParallelPIU_ReheatFields::ZoneMixerName, false).get()); EXPECT_EQ(fan.nameString(), idf_atu.getString(AirTerminal_SingleDuct_ParallelPIU_ReheatFields::FanName, false).get()); EXPECT_EQ("Coil:Heating:Electric", idf_atu.getString(AirTerminal_SingleDuct_ParallelPIU_ReheatFields::ReheatCoilObjectType, false).get()); diff --git a/src/energyplus/Test/AirTerminalSingleDuctSeriesPIUReheat_GTest.cpp b/src/energyplus/Test/AirTerminalSingleDuctSeriesPIUReheat_GTest.cpp index 7d8a75297a3..2d344b99d81 100644 --- a/src/energyplus/Test/AirTerminalSingleDuctSeriesPIUReheat_GTest.cpp +++ b/src/energyplus/Test/AirTerminalSingleDuctSeriesPIUReheat_GTest.cpp @@ -70,8 +70,6 @@ TEST_F(EnergyPlusFixture, ForwardTranslator_AirTerminalSingleDuctSeriesPIUReheat EXPECT_EQ(atu.secondaryAirInletNode()->nameString(), idf_atu.getString(AirTerminal_SingleDuct_SeriesPIU_ReheatFields::SecondaryAirInletNodeName, false).get()); EXPECT_EQ(atu.outletModelObject()->nameString(), idf_atu.getString(AirTerminal_SingleDuct_SeriesPIU_ReheatFields::OutletNodeName, false).get()); - EXPECT_EQ(atu.nameString() + " Fan Outlet", - idf_atu.getString(AirTerminal_SingleDuct_SeriesPIU_ReheatFields::ReheatCoilAirInletNodeName, false).get()); EXPECT_EQ(atu.nameString() + " Mixer", idf_atu.getString(AirTerminal_SingleDuct_SeriesPIU_ReheatFields::ZoneMixerName, false).get()); EXPECT_EQ(fan.nameString(), idf_atu.getString(AirTerminal_SingleDuct_SeriesPIU_ReheatFields::FanName, false).get()); EXPECT_EQ("Coil:Heating:Electric", idf_atu.getString(AirTerminal_SingleDuct_SeriesPIU_ReheatFields::ReheatCoilObjectType, false).get()); diff --git a/src/utilities/idd/Test/IddFile_GTest.cpp b/src/utilities/idd/Test/IddFile_GTest.cpp index 0d92e8fdb6e..ff247009a32 100644 --- a/src/utilities/idd/Test/IddFile_GTest.cpp +++ b/src/utilities/idd/Test/IddFile_GTest.cpp @@ -55,7 +55,7 @@ TEST_F(IddFixture, EpIddFile) { EXPECT_EQ("", logMessage.logMessage()); } - EXPECT_EQ("25.2.0", loadedIddFile->version()); + EXPECT_EQ(energyPlusVersion(), loadedIddFile->version()); EXPECT_EQ(epIddFile.objects().size(), loadedIddFile->objects().size()); if (epIddFile.objects().size() != loadedIddFile->objects().size()) { // get sets of IddObjectType diff --git a/src/utilities/sql/Test/SqlFile_GTest.cpp b/src/utilities/sql/Test/SqlFile_GTest.cpp index 1e726355625..717d6369624 100644 --- a/src/utilities/sql/Test/SqlFile_GTest.cpp +++ b/src/utilities/sql/Test/SqlFile_GTest.cpp @@ -328,7 +328,8 @@ TEST_F(SqlFileFixture, AnnualTotalCosts) { // SqlResults ep_2410 = {191883303.43, 27902.68, 407.55, 361.09, 776.63, 3322855.48, 188531000.0}; // SqlResults ep_2420 = {191879399.92, 27905.27, 407.55, 361.09, 776.63, 3328949.38, 188521000.0} // SqlResults ep_2510 = {191879399.92, 27905.27, 407.55, 361.09, 776.63, 3328949.38, 188521000.0}; - SqlResults ep_2520 = {191876887.69, 27893.06, 407.55, 361.09, 776.63, 3328949.36, 188518500.0}; + // SqlResults ep_2520 = {191876887.69, 27893.06, 407.55, 361.09, 776.63, 3328949.36, 188518500.0}; + SqlResults ep_2610 = {191876887.69, 27893.06, 407.55, 361.09, 776.63, 3328949.36, 188518500.0}; // To update, cd build/resources, then in Ruby /** ```ruby sqlFile2 = OpenStudio::SqlFile.new('energyplus/Office_With_Many_HVAC_Types/eplusout.sql') @@ -361,15 +362,15 @@ TEST_F(SqlFileFixture, AnnualTotalCosts) { // =========== Check that within our development based on the current E+ version we do not make the results vary (at all) ================= // Total annual costs for all fuel types - EXPECT_NEAR(ep_2520.annualTotalUtilityCost, sqlFile2.annualTotalUtilityCost().get(), 0.03); + EXPECT_NEAR(ep_2610.annualTotalUtilityCost, sqlFile2.annualTotalUtilityCost().get(), 0.03); // Costs by fuel type - EXPECT_DOUBLE_EQ(ep_2520.annualTotalCost_Electricity, sqlFile2.annualTotalCost(FuelType::Electricity).get()); - EXPECT_DOUBLE_EQ(ep_2520.annualTotalCost_Gas, sqlFile2.annualTotalCost(FuelType::Gas).get()); - EXPECT_DOUBLE_EQ(ep_2520.annualTotalCost_DistrictCooling, sqlFile2.annualTotalCost(FuelType::DistrictCooling).get()); - EXPECT_DOUBLE_EQ(ep_2520.annualTotalCost_DistrictHeating, sqlFile2.annualTotalCost(FuelType::DistrictHeating).get()); - EXPECT_NEAR(ep_2520.annualTotalCost_Water, sqlFile2.annualTotalCost(FuelType::Water).get(), 0.03); - EXPECT_DOUBLE_EQ(ep_2520.annualTotalCost_FuelOil_1, sqlFile2.annualTotalCost(FuelType::FuelOil_1).get()); + EXPECT_DOUBLE_EQ(ep_2610.annualTotalCost_Electricity, sqlFile2.annualTotalCost(FuelType::Electricity).get()); + EXPECT_DOUBLE_EQ(ep_2610.annualTotalCost_Gas, sqlFile2.annualTotalCost(FuelType::Gas).get()); + EXPECT_DOUBLE_EQ(ep_2610.annualTotalCost_DistrictCooling, sqlFile2.annualTotalCost(FuelType::DistrictCooling).get()); + EXPECT_DOUBLE_EQ(ep_2610.annualTotalCost_DistrictHeating, sqlFile2.annualTotalCost(FuelType::DistrictHeating).get()); + EXPECT_NEAR(ep_2610.annualTotalCost_Water, sqlFile2.annualTotalCost(FuelType::Water).get(), 0.03); + EXPECT_DOUBLE_EQ(ep_2610.annualTotalCost_FuelOil_1, sqlFile2.annualTotalCost(FuelType::FuelOil_1).get()); // These have a relatively high tolerance and shouldn't fail, and they depend on the above values divided by square footage which shouldn't vary // So it's fine to keep it as is @@ -619,6 +620,8 @@ TEST_F(SqlFileFixture, Regressions) { regressionTestSqlFile("1ZoneEvapCooler-V24-1-0.sql", 43.28, 20, 20); regressionTestSqlFile("1ZoneEvapCooler-V24-2-0.sql", 43.28, 20, 20); regressionTestSqlFile("1ZoneEvapCooler-V25-1-0.sql", 43.28, 20, 20); + regressionTestSqlFile("1ZoneEvapCooler-V25-2-0.sql", 43.28, 20, 20); + regressionTestSqlFile("1ZoneEvapCooler-V26-1-0.sql", 43.28, 20, 20); } TEST_F(SqlFileFixture, SqlFile_LeapYear) {