Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wrap ZoneHVAC:EvaporativeCoolerUnit #5326

Open
wants to merge 24 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
bc6477d
Add ZoneHVAC:EvaporativeCoolerUnit to idd.
joseph-robertson Dec 18, 2024
26b5f56
Update the new idd entry.
joseph-robertson Dec 19, 2024
5045e19
First add of model, ft, and test files.
joseph-robertson Dec 20, 2024
40983fa
Update model resource files.
joseph-robertson Dec 20, 2024
70dff3b
Update nodes in ft, general cleanup.
joseph-robertson Dec 23, 2024
7fb2a46
Fix and improve model and ft tests.
joseph-robertson Dec 23, 2024
9fc6562
Add tests and clean up cpp and ft.
joseph-robertson Jan 2, 2025
1b3315e
Fix ft and tests.
joseph-robertson Jan 3, 2025
985ffd7
Remove remove override and update tests.
joseph-robertson Jan 6, 2025
b9800aa
Add ZoneHVACEvaporativeCoolerUnit to all Fan's `containingZoneHVACCom…
jmarrec Jan 7, 2025
3713357
Add ZoneHVACEvaporativeCoolerUnit to all evaporative cooler component…
jmarrec Jan 7, 2025
c6b3eeb
Improve and fixup tests
jmarrec Jan 7, 2025
d5d632a
Write Sensor Node Name (do we need to write relief air Node name?)
jmarrec Jan 9, 2025
d805651
Adjust node connections
jmarrec Jan 9, 2025
86afadc
clang-format
jmarrec Jan 15, 2025
c969110
Implement autosizedDesignSupplyAirFlowRate correclty
jmarrec Jan 16, 2025
66a2f6c
Always use the ZoneHVACEvaporativeCoolerUnit's outlet node as the Sen…
jmarrec Jan 16, 2025
2477a80
Rewrite the FT and fix the issue where it was checking the type of th…
jmarrec Jan 16, 2025
73365b1
Fix Severe Node Connection error
jmarrec Jan 16, 2025
d3e1fe9
Adjust FT test after node connections got fixed
jmarrec Jan 16, 2025
b9e6f0e
Add a TDB 3.9.1 release notes to mention the "Zone Relief Air Node Na…
jmarrec Jan 16, 2025
65526d3
Change ctor to fansystemmodel, and update some tests.
joseph-robertson Jan 17, 2025
b510cdd
Fix ft test after ctor fan change.
joseph-robertson Jan 17, 2025
f8c27b8
Fix FT test.
joseph-robertson Jan 17, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 90 additions & 1 deletion resources/model/OpenStudio.idd
Original file line number Diff line number Diff line change
Expand Up @@ -24507,6 +24507,7 @@ OS:EvaporativeCooler:Indirect:ResearchSpecial,
\type alpha
\required-field
\reference ConnectionObject
\reference EvapCoolerNames
A3 , \field Availability Schedule Name
\note Availability schedule name for this system. Schedule value > 0 means the system is available.
\note If this field is blank, the system is always available.
Expand Down Expand Up @@ -24657,6 +24658,7 @@ OS:EvaporativeCooler:Direct:ResearchSpecial,
\type alpha
\required-field
\reference ConnectionObject
\reference EvapCoolerNames
A3, \field Availability Schedule Name
\type object-list
\required-field
Expand Down Expand Up @@ -31192,13 +31194,100 @@ OS:ZoneHVAC:CoolingPanel:RadiantConvective:Water,
\minimum 0
\maximum 1

OS:ZoneHVAC:EvaporativeCoolerUnit,
\memo Zone evaporative cooler. Forced-convection cooling-only unit with supply fan,
\memo 100% outdoor air supply. Optional relief exhaust node
\min-fields 17
A1, \field Handle
\type handle
\required-field
A2, \field Name
\required-field
\type alpha
\reference ConnectionObject
A3, \field Availability Schedule Name
\note Availability schedule name for this system. Schedule value > 0 means the system is available.
\note If this field is blank, the system is always available.
\required-field
\type object-list
\object-list ScheduleNames
A4, \field Availability Manager List Name
\note Enter the name of an AvailabilityManagerAssignmentList object.
\type object-list
\object-list SystemAvailabilityManagerLists
A5, \field Outdoor Air Inlet Node Name
\required-field
\type object-list
\object-list ConnectionNames
\note this is an outdoor air node
A6, \field Cooler Outlet Node Name
\required-field
\type object-list
\object-list ConnectionNames
\note this is a zone inlet node
A7, \field Zone Relief Air Node Name
\type object-list
\object-list ConnectionNames
\note this is a zone exhaust node, optional if flow is being balanced elsewhere
A8, \field Supply Air Fan Name
\required-field
\type object-list
\object-list Fans
N1, \field Design Supply Air Flow Rate
\required-field
\units m3/s
\minimum> 0
\autosizable
A9, \field Fan Placement
\required-field
\type choice
\key BlowThrough
\key DrawThrough
A10, \field Cooler Unit Control Method
\required-field
\type choice
\key ZoneTemperatureDeadbandOnOffCycling
\key ZoneCoolingLoadOnOffCycling
\key ZoneCoolingLoadVariableSpeedFan
N2, \field Throttling Range Temperature Difference
\note used for ZoneTemperatureDeadbandOnOffCycling hysteresis range for thermostatic control
\type real
\units deltaC
\required-field
\minimum> 0.0
N3, \field Cooling Load Control Threshold Heat Transfer Rate
\type real
\units W
\required-field
\note Sign convention is that positive values indicate a cooling load
\minimum> 0.0
A11, \field First Evaporative Cooler
\required-field
\type object-list
\object-list EvapCoolerNames
A12, \field Second Evaporative Cooler
\note optional, used for direct/indirect configurations
\type object-list
\object-list EvapCoolerNames
A13, \field Design Specification ZoneHVAC Sizing
\note Enter the name of a DesignSpecificationZoneHVACSizing object.
\type object-list
\object-list DesignSpecificationZoneHVACSizingName
N4; \field Shut Off Relative Humidity
\note Zone relative humidity above which the evap cooler is shut off.
\required-field
\type real
\minimum 0.00
\maximum 100.00
\units percent

OS:ZoneMixing,
\memo ZoneMixing is a simple air exchange from one zone or space to another. Note that this statement
\memo only affects the energy balance of the "receiving" zone or space and will not produce
\memo any effect on the "source" zone. Mixing statements can be complementary and include
\memo multiple zones, but the balancing of flows between zones is left to the user's
\memo discretion.
\min-fields 18
\min-fields 18
A1, \field Handle
\type handle
\required-field
Expand Down
2 changes: 2 additions & 0 deletions src/energyplus/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -444,6 +444,7 @@ set(${target_name}_src
ForwardTranslator/ForwardTranslateZoneHVACEnergyRecoveryVentilator.cpp
ForwardTranslator/ForwardTranslateZoneHVACEnergyRecoveryVentilatorController.cpp
ForwardTranslator/ForwardTranslateZoneHVACEquipmentList.cpp
ForwardTranslator/ForwardTranslateZoneHVACEvaporativeCoolerUnit.cpp
ForwardTranslator/ForwardTranslateZoneHVACFourPipeFanCoil.cpp
ForwardTranslator/ForwardTranslateZoneHVACHighTemperatureRadiant.cpp
ForwardTranslator/ForwardTranslateZoneHVACIdealLoadsAirSystem.cpp
Expand Down Expand Up @@ -840,6 +841,7 @@ set(${target_name}_test_src
Test/WaterUseConnections_GTest.cpp
Test/ZoneAirHeatBalanceAlgorithm_GTest.cpp
Test/ZoneHVACBaseboardRadiantConvectiveWater_GTest.cpp
Test/ZoneHVACEvaporativeCoolerUnit_GTest.cpp
Test/ZoneHVACLowTemperatureRadiantElectric_GTest.cpp
Test/ZoneHVACLowTempRadiantConstFlow_GTest.cpp
Test/ZoneHVACLowTempRadiantVarFlow_GTest.cpp
Expand Down
5 changes: 5 additions & 0 deletions src/energyplus/ForwardTranslator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3204,6 +3204,11 @@ namespace energyplus {
retVal = translateZoneHVACEquipmentList(mo);
break;
}
case openstudio::IddObjectType::OS_ZoneHVAC_EvaporativeCoolerUnit: {
auto mo = modelObject.cast<ZoneHVACEvaporativeCoolerUnit>();
retVal = translateZoneHVACEvaporativeCoolerUnit(mo);
break;
}
case openstudio::IddObjectType::OS_ZoneHVAC_FourPipeFanCoil: {
auto mo = modelObject.cast<ZoneHVACFourPipeFanCoil>();
retVal = translateZoneHVACFourPipeFanCoil(mo);
Expand Down
3 changes: 3 additions & 0 deletions src/energyplus/ForwardTranslator.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -481,6 +481,7 @@ namespace model {
class ZoneHVACEnergyRecoveryVentilator;
class ZoneHVACEnergyRecoveryVentilatorController;
class ZoneHVACEquipmentList;
class ZoneHVACEvaporativeCoolerUnit;
class ZoneHVACFourPipeFanCoil;
class ZoneHVACHighTemperatureRadiant;
class ZoneHVACIdealLoadsAirSystem;
Expand Down Expand Up @@ -1551,6 +1552,8 @@ namespace energyplus {

boost::optional<IdfObject> translateZoneHVACEquipmentList(model::ZoneHVACEquipmentList& modelObject);

boost::optional<IdfObject> translateZoneHVACEvaporativeCoolerUnit(model::ZoneHVACEvaporativeCoolerUnit& modelObject);

boost::optional<IdfObject> translateZoneHVACFourPipeFanCoil(model::ZoneHVACFourPipeFanCoil& modelObject);

boost::optional<IdfObject> translateZoneHVACHighTemperatureRadiant(model::ZoneHVACHighTemperatureRadiant& modelObject);
Expand Down
Loading
Loading