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

AirLoopHVACUnitarySystem set Method During XXX Operation #4873

Merged
merged 44 commits into from
Aug 1, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
05a66a8
Stub failing test for methods not set.
joseph-robertson May 2, 2023
650f4a0
Stub updates to autosize methods.
joseph-robertson May 2, 2023
08d6eef
Try returnDefault is false in getString.
joseph-robertson May 3, 2023
4d15331
Follow fanPlacement which also has no default.
joseph-robertson May 3, 2023
4c89e2c
Update remaining supply air flow setters and methods.
joseph-robertson May 3, 2023
31faca7
Set method for no heating or cooling required fields.
joseph-robertson May 3, 2023
ed6c57e
Add tests for no heating or cooling required fields.
joseph-robertson May 3, 2023
898355e
Formatting.
joseph-robertson May 3, 2023
373ef28
Fix typo in test method.
joseph-robertson May 3, 2023
04d7fc8
Improve comments.
joseph-robertson May 3, 2023
1319725
Merge branch 'develop' into airloop-hvac-unitary-sys-opmethod
joseph-robertson May 24, 2023
e2ce997
Stub failing test for methods not set.
joseph-robertson May 2, 2023
a83e781
Stub updates to autosize methods.
joseph-robertson May 2, 2023
af243a0
Try returnDefault is false in getString.
joseph-robertson May 3, 2023
7dc6f32
Follow fanPlacement which also has no default.
joseph-robertson May 3, 2023
0736feb
Update remaining supply air flow setters and methods.
joseph-robertson May 3, 2023
8261fe2
Set method for no heating or cooling required fields.
joseph-robertson May 3, 2023
8efa6fb
Add tests for no heating or cooling required fields.
joseph-robertson May 3, 2023
44e25bf
Formatting.
joseph-robertson May 3, 2023
f4eccd3
Fix typo in test method.
joseph-robertson May 3, 2023
0401167
Improve comments.
joseph-robertson May 3, 2023
9405db6
Cleanup the DuringCooling API. One break, the return of supplyAirFlow…
jmarrec Jun 1, 2023
c48189f
Merge branch 'airloop-hvac-unitary-sys-opmethod' of github.com:NREL/O…
joseph-robertson Jun 14, 2023
56a48d1
Merge branch 'develop' into airloop-hvac-unitary-sys-opmethod
joseph-robertson Jun 14, 2023
5d93c8d
Merge branch 'airloop-hvac-unitary-sys-opmethod' into airloop-hvac-un…
joseph-robertson Jun 14, 2023
880f7f1
Merge branch 'develop' into airloop-hvac-unitary-sys-opmethod
joseph-robertson Jul 12, 2023
3728488
Merge branch 'airloop-hvac-unitary-sys-opmethod' into airloop-hvac-un…
joseph-robertson Jul 12, 2023
08858b4
Add None default to idd.
joseph-robertson Jul 12, 2023
fa7543a
Simplify method getter after introducing None default.
joseph-robertson Jul 12, 2023
af26872
Merge pull request #4927 from NREL/airloop-hvac-unitary-sys-opmethod3
jmarrec Jul 13, 2023
d3d1f3d
Add None default for HeatingOperation.
joseph-robertson Jul 13, 2023
b54af03
Updates for new os_deprecated method args.
joseph-robertson Jul 13, 2023
dd0bd1a
Update ft for heating.
joseph-robertson Jul 13, 2023
01ee57b
Update all heating methods.
joseph-robertson Jul 13, 2023
da09bd9
Formatting.
joseph-robertson Jul 13, 2023
79b6ca3
Clean up minor typos.
joseph-robertson Jul 13, 2023
57d142d
More case typos.
joseph-robertson Jul 13, 2023
fd3d025
Update model tests.
joseph-robertson Jul 13, 2023
1413329
More case typos.
joseph-robertson Jul 13, 2023
2cef40d
Stub deprecated_at_msg in cpp.
joseph-robertson Jul 13, 2023
df44eab
Update deprecated messages.
joseph-robertson Jul 14, 2023
36a9a7d
Include deprecatedhelpers hpp.
joseph-robertson Jul 14, 2023
b053f33
Merge pull request #4905 from NREL/airloop-hvac-unitary-sys-opmethod2
joseph-robertson Jul 14, 2023
52b5d43
Update release notes md file with notes on api break, etc.
joseph-robertson Aug 1, 2023
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
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,10 @@ You can also refer to the [OpenStudio SDK Python Binding Version Compatibility M
## New Features, Major Fixes and API-breaking changes

* [#4827](https://github.com/NREL/OpenStudio/pull/4827) - #4748 #4817 - Validate BCLXML with schema when loading + make sorting of files in measure.xml consistent when saving
* [#4873](https://github.com/NREL/OpenStudio/pull/4873) - AirLoopHVACUnitarySystem set Method During XXX Operation
* Fix #4695 - AirLoopHVACUnitarySystem: Supply Air Flow Rate Method During <XXX> Operation should be set via related setters/autosize
* Breaks the return of `supplyAirFlowRateMethodDuringCoolingOperation` and `supplyAirFlowRateMethodDuringHeatingOperation`: now returns `std::string` instead of `boost::optional<std::string>`
* Deprecates many set/reset methods

## Minor changes and bug fixes

Expand Down
2 changes: 2 additions & 0 deletions resources/model/OpenStudio.idd
Original file line number Diff line number Diff line change
Expand Up @@ -11902,6 +11902,7 @@ OS:AirLoopHVAC:UnitarySystem,
\key FlowPerFloorArea
\key FractionOfAutosizedCoolingValue
\key FlowPerCoolingCapacity
\default None
\note Enter the method used to determine the cooling supply air volume flow rate.
\note None is used when a cooling coil is not included in the unitary system or this field may be blank.
\note SupplyAirFlowRate is selected when the magnitude of the supply air volume is used.
Expand Down Expand Up @@ -11946,6 +11947,7 @@ OS:AirLoopHVAC:UnitarySystem,
\key FlowPerFloorArea
\key FractionOfAutosizedHeatingValue
\key FlowPerHeatingCapacity
\default None
\note Enter the method used to determine the heating supply air volume flow rate.
\note None is used when a heating coil is not included in the unitary system or this field may be blank.
\note SupplyAirFlowRate is selected when the magnitude of the supply air volume is used.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,34 @@ namespace energyplus {
unitarySystem.setString(AirLoopHVAC_UnitarySystemFields::HeatingCoilObjectType, _heatingCoil->iddObject().name());
unitarySystem.setString(AirLoopHVAC_UnitarySystemFields::HeatingCoilName, _heatingCoil->name().get());
}

// Supply Air Flow Rate Method During Heating Operation
unitarySystem.setString(AirLoopHVAC_UnitarySystemFields::HeatingSupplyAirFlowRateMethod,
modelObject.supplyAirFlowRateMethodDuringHeatingOperation());

// Supply Air Flow Rate During Heating Operation
if (modelObject.isSupplyAirFlowRateDuringHeatingOperationAutosized()) {
unitarySystem.setString(AirLoopHVAC_UnitarySystemFields::HeatingSupplyAirFlowRate, "Autosize");
} else if (auto val_ = modelObject.supplyAirFlowRateDuringHeatingOperation()) {
unitarySystem.setDouble(AirLoopHVAC_UnitarySystemFields::HeatingSupplyAirFlowRate, val_.get());
}

// Supply Air Flow Rate Per Floor Area during Heating Operation
if (auto val_ = modelObject.supplyAirFlowRatePerFloorAreaduringHeatingOperation()) {
unitarySystem.setDouble(AirLoopHVAC_UnitarySystemFields::HeatingSupplyAirFlowRatePerFloorArea, val_.get());
}

// Fraction of Autosized Design Heating Supply Air Flow Rate
if (auto val_ = modelObject.fractionofAutosizedDesignHeatingSupplyAirFlowRate()) {
unitarySystem.setDouble(AirLoopHVAC_UnitarySystemFields::HeatingFractionofAutosizedHeatingSupplyAirFlowRate, val_.get());
}

// Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation
if (auto val_ = modelObject.designSupplyAirFlowRatePerUnitofCapacityDuringHeatingOperation()) {
unitarySystem.setDouble(AirLoopHVAC_UnitarySystemFields::HeatingSupplyAirFlowRatePerUnitofCapacity, val_.get());
}
} else {
unitarySystem.setString(AirLoopHVAC_UnitarySystemFields::HeatingSupplyAirFlowRateMethod, "None");
}

// DX Heating Coil Sizing Ratio
Expand All @@ -217,6 +245,34 @@ namespace energyplus {
unitarySystem.setString(AirLoopHVAC_UnitarySystemFields::CoolingCoilObjectType, _coolingCoil->iddObject().name());
unitarySystem.setString(AirLoopHVAC_UnitarySystemFields::CoolingCoilName, _coolingCoil->name().get());
}

// Supply Air Flow Rate Method During Cooling Operation
unitarySystem.setString(AirLoopHVAC_UnitarySystemFields::CoolingSupplyAirFlowRateMethod,
modelObject.supplyAirFlowRateMethodDuringCoolingOperation());

// Supply Air Flow Rate During Cooling Operation
if (modelObject.isSupplyAirFlowRateDuringCoolingOperationAutosized()) {
unitarySystem.setString(AirLoopHVAC_UnitarySystemFields::CoolingSupplyAirFlowRate, "Autosize");
} else if (auto val_ = modelObject.supplyAirFlowRateDuringCoolingOperation()) {
unitarySystem.setDouble(AirLoopHVAC_UnitarySystemFields::CoolingSupplyAirFlowRate, val_.get());
}

// Supply Air Flow Rate Per Floor Area During Cooling Operation
if (auto val_ = modelObject.supplyAirFlowRatePerFloorAreaDuringCoolingOperation()) {
unitarySystem.setDouble(AirLoopHVAC_UnitarySystemFields::CoolingSupplyAirFlowRatePerFloorArea, val_.get());
}

// Fraction of Autosized Design Cooling Supply Air Flow Rate
if (auto val_ = modelObject.fractionofAutosizedDesignCoolingSupplyAirFlowRate()) {
unitarySystem.setDouble(AirLoopHVAC_UnitarySystemFields::CoolingFractionofAutosizedCoolingSupplyAirFlowRate, val_.get());
}

// Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation
if (auto val_ = modelObject.designSupplyAirFlowRatePerUnitofCapacityDuringCoolingOperation()) {
unitarySystem.setDouble(AirLoopHVAC_UnitarySystemFields::CoolingSupplyAirFlowRatePerUnitofCapacity, val_.get());
}
} else {
unitarySystem.setString(AirLoopHVAC_UnitarySystemFields::CoolingSupplyAirFlowRateMethod, "None");
}

// Use DOAS DX Cooling Coil
Expand Down Expand Up @@ -252,68 +308,6 @@ namespace energyplus {
}
}

// Supply Air Flow Rate Method During Cooling Operation
s = modelObject.supplyAirFlowRateMethodDuringCoolingOperation();
if (s) {
unitarySystem.setString(AirLoopHVAC_UnitarySystemFields::CoolingSupplyAirFlowRateMethod, s.get());
}

// Supply Air Flow Rate During Cooling Operation
if (modelObject.isSupplyAirFlowRateDuringCoolingOperationAutosized()) {
unitarySystem.setString(AirLoopHVAC_UnitarySystemFields::CoolingSupplyAirFlowRate, "Autosize");
} else if ((d = modelObject.supplyAirFlowRateDuringCoolingOperation())) {
unitarySystem.setDouble(AirLoopHVAC_UnitarySystemFields::CoolingSupplyAirFlowRate, d.get());
}

// Supply Air Flow Rate Per Floor Area During Cooling Operation
d = modelObject.supplyAirFlowRatePerFloorAreaDuringCoolingOperation();
if (d) {
unitarySystem.setDouble(AirLoopHVAC_UnitarySystemFields::CoolingSupplyAirFlowRatePerFloorArea, d.get());
}

// Fraction of Autosized Design Cooling Supply Air Flow Rate
d = modelObject.fractionofAutosizedDesignCoolingSupplyAirFlowRate();
if (d) {
unitarySystem.setDouble(AirLoopHVAC_UnitarySystemFields::CoolingFractionofAutosizedCoolingSupplyAirFlowRate, d.get());
}

// Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation
d = modelObject.designSupplyAirFlowRatePerUnitofCapacityDuringCoolingOperation();
if (d) {
unitarySystem.setDouble(AirLoopHVAC_UnitarySystemFields::CoolingSupplyAirFlowRatePerUnitofCapacity, d.get());
}

// Supply Air Flow Rate Method During Heating Operation
s = modelObject.supplyAirFlowRateMethodDuringHeatingOperation();
if (s) {
unitarySystem.setString(AirLoopHVAC_UnitarySystemFields::HeatingSupplyAirFlowRateMethod, s.get());
}

// Supply Air Flow Rate During Heating Operation
if (modelObject.isSupplyAirFlowRateDuringHeatingOperationAutosized()) {
unitarySystem.setString(AirLoopHVAC_UnitarySystemFields::HeatingSupplyAirFlowRate, "Autosize");
} else if ((d = modelObject.supplyAirFlowRateDuringHeatingOperation())) {
unitarySystem.setDouble(AirLoopHVAC_UnitarySystemFields::HeatingSupplyAirFlowRate, d.get());
}

// Supply Air Flow Rate Per Floor Area during Heating Operation
d = modelObject.supplyAirFlowRatePerFloorAreaduringHeatingOperation();
if (d) {
unitarySystem.setDouble(AirLoopHVAC_UnitarySystemFields::HeatingSupplyAirFlowRatePerFloorArea, d.get());
}

// Fraction of Autosized Design Heating Supply Air Flow Rate
d = modelObject.fractionofAutosizedDesignHeatingSupplyAirFlowRate();
if (d) {
unitarySystem.setDouble(AirLoopHVAC_UnitarySystemFields::HeatingFractionofAutosizedHeatingSupplyAirFlowRate, d.get());
}

// Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation
d = modelObject.designSupplyAirFlowRatePerUnitofCapacityDuringHeatingOperation();
if (d) {
unitarySystem.setDouble(AirLoopHVAC_UnitarySystemFields::HeatingSupplyAirFlowRatePerUnitofCapacity, d.get());
}

// Supply Air Flow Rate Method When No Cooling or Heating is Required
s = modelObject.supplyAirFlowRateMethodWhenNoCoolingorHeatingisRequired();
if (s) {
Expand Down
Loading