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

Fix #5103 - ElectricEquipmentITEAirCooled / ElectricEquipmentITEAirCooledDefinition - align objects with other SpaceLoads #5105

Merged
merged 4 commits into from
Mar 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
18 changes: 13 additions & 5 deletions developer/doc/ReleaseNotes/OpenStudio_Release_Notes_3_8_0_TBD.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ The 3.8.0 is a **major** release. This update includes several new features, per

## C++ Workflow code

As of OpenStudio SDK 3.7.0 a re-written workflow written in C++ is used by default in place of the Ruby based Workflow Gem that had been used in the past. This enhancement is in support of Python measures being used in an OpenStudio workflow, including mixed language workflows that include both Ruby Measures and Python Measures. If you need to use the older Workflow Gem implementation, you can do that by using the `classic` subcommand after `openstudio`. `classic` will be deprecated in a future version of OpenStudio.
As of OpenStudio SDK 3.7.0 a re-written workflow written in C++ is used by default in place of the Ruby based Workflow Gem that had been used in the past. This enhancement is in support of Python measures being used in an OpenStudio workflow, including mixed language workflows that include both Ruby Measures and Python Measures. If you need to use the older Workflow Gem implementation, you can do that by using the `classic` subcommand after `openstudio`. `classic` will be deprecated in a future version of OpenStudio.

## Python Bindings

Expand All @@ -75,13 +75,21 @@ You can also refer to the [OpenStudio SDK Python Binding Version Compatibility M

## New Features, Major Fixes and API-breaking changes

*
*
*
For a list of deprecated and removed methods, please refer to [deprecated_methods.csv](../../ruby/deprecated_methods.csv)

* [#TDB]() - Update to EnergyPlus 24.1.0

* [#5099](https://github.com/NREL/OpenStudio/pull/5099) - HeatExchangerAirToAirSensibleAndLatent changes for effectiveness
* To conform to E+ 24.1.0, where "Sensible/Latent Effectiveness at 75% Heating/Cooling" numeric fields have been replaced with a curve, the numeric getters / setters are now deprecated in favor of the new curves getters / setters: `sensibleEffectivenessofHeatingAirFlowCurve`, `latentEffectivenessofHeatingAirFlowCurve`, `sensibleEffectivenessofCoolingAirFlowCurve`, `latentEffectivenessofCoolingAirFlowCurve`
* The constructor will no longer assign an effectiveness at 75% and assume a constant effectiveness. A helper method `bool assignHistoricalEffectivenessCurves()` is provided to create and assign 4 `TableLookup`s that will match the pre E+ 24.1.0 defaults for Sensible/Latent Effectiveness at 75% Heating/Cooling airflow
* [#5105](https://github.com/NREL/OpenStudio/pull/5105) - ElectricEquipmentITEAirCooled / ElectricEquipmentITEAirCooledDefinition - align objects with other SpaceLoads
* A number of methods have been renamed (and the old ones deprecated) to conform to the API for other `SpaceLoadInstance` / `SpaceLoadDefinition` objects
* Mostly `getWattsperUnit` is changed to `getDesignLevel` and `getWattsperZoneFloorArea` is changed to `getPowerPerFloorArea`
* Refer to [deprecated_methods.csv](../../ruby/deprecated_methods.csv) for the complete list
Comment on lines +78 to +88
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


## Minor changes and bug fixes

*
*
*
*

Expand Down
2 changes: 1 addition & 1 deletion developer/ruby/DeprecatedMethods.rb
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ def update_removed_deprecated(known_deprecated, old_deprecated, os_version_str)
# Save to CSV (and make a copy of old CSV)
def output_to_csv(new_table)
# Create a copy of the old CSV
FileUtils.cp('deprecated_methods.csv', 'deprecated_methods.csv.bak')
FileUtils.cp(DEPRECATED_CSV_PATH, "#{DEPRECATED_CSV_PATH}.bak")

CSV.open(DEPRECATED_CSV_PATH, "wb") do |csv|
csv << new_table.first.keys # adds the header
Expand Down
41 changes: 41 additions & 0 deletions developer/ruby/deprecated_methods.csv
Original file line number Diff line number Diff line change
Expand Up @@ -286,3 +286,44 @@ model,AirLoopHVACUnitarySystem,resetSupplyAirFlowRateDuringHeatingOperation,3.7.
model,AirLoopHVACUnitarySystem,resetSupplyAirFlowRatePerFloorAreaduringHeatingOperation,3.7.0,84bd57c5117cba9fc0716f2329d70ba5708c080a,"Done when calling setSupplyAirFlowRateDuringHeatingOperation, autosizeSupplyAirFlowRateDuringHeatingOperation, setSupplyAirFlowRatePerFloorAreaDuringHeatingOperation, setFractionofAutosizedDesignHeatingSupplyAirFlowRate, setDesignSupplyAirFlowRatePerUnitofCapacityDuringHeatingOperation",
model,AirLoopHVACUnitarySystem,resetFractionofAutosizedDesignHeatingSupplyAirFlowRate,3.7.0,84bd57c5117cba9fc0716f2329d70ba5708c080a,"Done when calling setSupplyAirFlowRateDuringHeatingOperation, autosizeSupplyAirFlowRateDuringHeatingOperation, setSupplyAirFlowRatePerFloorAreaDuringHeatingOperation, setFractionofAutosizedDesignHeatingSupplyAirFlowRate, setDesignSupplyAirFlowRatePerUnitofCapacityDuringHeatingOperation",
model,AirLoopHVACUnitarySystem,resetDesignSupplyAirFlowRatePerUnitofCapacityDuringHeatingOperation,3.7.0,84bd57c5117cba9fc0716f2329d70ba5708c080a,"Done when calling setSupplyAirFlowRateDuringHeatingOperation, autosizeSupplyAirFlowRateDuringHeatingOperation, setSupplyAirFlowRatePerFloorAreaDuringHeatingOperation, setFractionofAutosizedDesignHeatingSupplyAirFlowRate, setDesignSupplyAirFlowRatePerUnitofCapacityDuringHeatingOperation",
model,AirLoopHVACUnitarySystem,setSupplyAirFlowRateMethodWhenNoCoolingorHeatingisRequired,3.7.0,84bd57c5117cba9fc0716f2329d70ba5708c080a,"Done when calling setSupplyAirFlowRateWhenNoCoolingorHeatingisRequired, autosizeSupplyAirFlowRateWhenNoCoolingorHeatingisRequired, setSupplyAirFlowRatePerFloorAreaWhenNoCoolingorHeatingisRequired, setFractionofAutosizedDesignHeatingSupplyAirFlowRate, setDesignSupplyAirFlowRatePerUnitofCapacityWhenNoCoolingorHeatingisRequired",
model,AirLoopHVACUnitarySystem,resetSupplyAirFlowRateWhenNoCoolingorHeatingisRequired,3.7.0,84bd57c5117cba9fc0716f2329d70ba5708c080a,"Done when calling setSupplyAirFlowRateWhenNoCoolingorHeatingisRequired, autosizeSupplyAirFlowRateWhenNoCoolingorHeatingisRequired, setSupplyAirFlowRatePerFloorAreaWhenNoCoolingorHeatingisRequired, setFractionofAutosizedDesignHeatingSupplyAirFlowRate, setDesignSupplyAirFlowRatePerUnitofCapacityWhenNoCoolingorHeatingisRequired",
model,AirLoopHVACUnitarySystem,resetSupplyAirFlowRatePerFloorAreaWhenNoCoolingorHeatingisRequired,3.7.0,84bd57c5117cba9fc0716f2329d70ba5708c080a,"Done when calling setSupplyAirFlowRateWhenNoCoolingorHeatingisRequired, autosizeSupplyAirFlowRateWhenNoCoolingorHeatingisRequired, setSupplyAirFlowRatePerFloorAreaWhenNoCoolingorHeatingisRequired, setFractionofAutosizedDesignHeatingSupplyAirFlowRate, setDesignSupplyAirFlowRatePerUnitofCapacityWhenNoCoolingorHeatingisRequired",
model,AirLoopHVACUnitarySystem,resetFractionofAutosizedDesignCoolingSupplyAirFlowRateWhenNoCoolingorHeatingisRequired,3.7.0,84bd57c5117cba9fc0716f2329d70ba5708c080a,"Done when calling setSupplyAirFlowRateWhenNoCoolingorHeatingisRequired, autosizeSupplyAirFlowRateWhenNoCoolingorHeatingisRequired, setSupplyAirFlowRatePerFloorAreaWhenNoCoolingorHeatingisRequired, setFractionofAutosizedDesignHeatingSupplyAirFlowRate, setDesignSupplyAirFlowRatePerUnitofCapacityWhenNoCoolingorHeatingisRequired",
model,AirLoopHVACUnitarySystem,resetFractionofAutosizedDesignHeatingSupplyAirFlowRateWhenNoCoolingorHeatingisRequired,3.7.0,84bd57c5117cba9fc0716f2329d70ba5708c080a,"Done when calling setSupplyAirFlowRateWhenNoCoolingorHeatingisRequired, autosizeSupplyAirFlowRateWhenNoCoolingorHeatingisRequired, setSupplyAirFlowRatePerFloorAreaWhenNoCoolingorHeatingisRequired, setFractionofAutosizedDesignHeatingSupplyAirFlowRate, setDesignSupplyAirFlowRatePerUnitofCapacityWhenNoCoolingorHeatingisRequired",
model,AirLoopHVACUnitarySystem,resetDesignSupplyAirFlowRatePerUnitofCapacityDuringCoolingOperationWhenNoCoolingorHeatingisRequired,3.7.0,84bd57c5117cba9fc0716f2329d70ba5708c080a,"Done when calling setSupplyAirFlowRateWhenNoCoolingorHeatingisRequired, autosizeSupplyAirFlowRateWhenNoCoolingorHeatingisRequired, setSupplyAirFlowRatePerFloorAreaWhenNoCoolingorHeatingisRequired, setFractionofAutosizedDesignHeatingSupplyAirFlowRate, setDesignSupplyAirFlowRatePerUnitofCapacityWhenNoCoolingorHeatingisRequired",
model,AirLoopHVACUnitarySystem,resetDesignSupplyAirFlowRatePerUnitofCapacityDuringHeatingOperationWhenNoCoolingorHeatingisRequired,3.7.0,84bd57c5117cba9fc0716f2329d70ba5708c080a,"Done when calling setSupplyAirFlowRateWhenNoCoolingorHeatingisRequired, autosizeSupplyAirFlowRateWhenNoCoolingorHeatingisRequired, setSupplyAirFlowRatePerFloorAreaWhenNoCoolingorHeatingisRequired, setFractionofAutosizedDesignHeatingSupplyAirFlowRate, setDesignSupplyAirFlowRatePerUnitofCapacityWhenNoCoolingorHeatingisRequired",
model,CoilHeatingGasMultiStage,parasiticGasLoad,3.7.0,c3a9fb2e5e805dce4ef8791b59ca1a48ef4915a6,offCycleParasiticGasLoad,
model,CoilHeatingGasMultiStage,setParasiticGasLoad,3.7.0,c3a9fb2e5e805dce4ef8791b59ca1a48ef4915a6,setOffCycleParasiticGasLoad,
model,CoilHeatingGasMultiStage,resetParasiticGasLoad,3.7.0,c3a9fb2e5e805dce4ef8791b59ca1a48ef4915a6,resetOffCycleParasiticGasLoad,
model,CoilHeatingGas,parasiticElectricLoad,3.7.0,c3a9fb2e5e805dce4ef8791b59ca1a48ef4915a6,onCycleParasiticElectricLoad,
model,CoilHeatingGas,setParasiticElectricLoad,3.7.0,c3a9fb2e5e805dce4ef8791b59ca1a48ef4915a6,setOnCycleParasiticElectricLoad,
model,CoilHeatingGas,parasiticGasLoad,3.7.0,c3a9fb2e5e805dce4ef8791b59ca1a48ef4915a6,offCycleParasiticGasLoad,
model,CoilHeatingGas,setParasiticGasLoad,3.7.0,c3a9fb2e5e805dce4ef8791b59ca1a48ef4915a6,setOffCycleParasiticGasLoad,
model,CoilHeatingDesuperheater,parasiticElectricLoad,3.7.0,c3a9fb2e5e805dce4ef8791b59ca1a48ef4915a6,onCycleParasiticElectricLoad,
model,CoilHeatingDesuperheater,isParasiticElectricLoadDefaulted,3.7.0,c3a9fb2e5e805dce4ef8791b59ca1a48ef4915a6,isOnCycleParasiticElectricLoadDefaulted,
model,CoilHeatingDesuperheater,setParasiticElectricLoad,3.7.0,c3a9fb2e5e805dce4ef8791b59ca1a48ef4915a6,setOnCycleParasiticElectricLoad,
model,CoilHeatingDesuperheater,resetParasiticElectricLoad,3.7.0,c3a9fb2e5e805dce4ef8791b59ca1a48ef4915a6,resetOnCycleParasiticElectricLoad,
model,CoilHeatingGasMultiStageStageData,parasiticElectricLoad,3.7.0,c3a9fb2e5e805dce4ef8791b59ca1a48ef4915a6,onCycleParasiticElectricLoad,
model,CoilHeatingGasMultiStageStageData,setParasiticElectricLoad,3.7.0,c3a9fb2e5e805dce4ef8791b59ca1a48ef4915a6,setOnCycleParasiticElectricLoad,
model,BoilerHotWater,parasiticElectricLoad,3.7.0,9b40ed0036baa1eab5e2a4ae2fe11a10373d96b5,onCycleParasiticElectricLoad,
model,BoilerHotWater,setParasiticElectricLoad,3.7.0,9b40ed0036baa1eab5e2a4ae2fe11a10373d96b5,setOnCycleParasiticElectricLoad,
model,BoilerHotWater,resetParasiticElectricLoad,3.7.0,9b40ed0036baa1eab5e2a4ae2fe11a10373d96b5,resetOnCycleParasiticElectricLoad,
model,HeatExchangerAirToAirSensibleAndLatent,sensibleEffectivenessat75HeatingAirFlow,3.8.0,ebce271d28e5d256f0a749a5ccf674179976d538,sensibleEffectivenessofHeatingAirFlowCurve,
model,HeatExchangerAirToAirSensibleAndLatent,setSensibleEffectivenessat75HeatingAirFlow,3.8.0,ebce271d28e5d256f0a749a5ccf674179976d538,sensibleEffectivenessofHeatingAirFlowCurve,
model,HeatExchangerAirToAirSensibleAndLatent,latentEffectivenessat75HeatingAirFlow,3.8.0,ebce271d28e5d256f0a749a5ccf674179976d538,latentEffectivenessofHeatingAirFlowCurve,
model,HeatExchangerAirToAirSensibleAndLatent,setLatentEffectivenessat75HeatingAirFlow,3.8.0,ebce271d28e5d256f0a749a5ccf674179976d538,latentEffectivenessofHeatingAirFlowCurve,
model,HeatExchangerAirToAirSensibleAndLatent,sensibleEffectivenessat75CoolingAirFlow,3.8.0,ebce271d28e5d256f0a749a5ccf674179976d538,sensibleEffectivenessofCoolingAirFlowCurve,
model,HeatExchangerAirToAirSensibleAndLatent,setSensibleEffectivenessat75CoolingAirFlow,3.8.0,ebce271d28e5d256f0a749a5ccf674179976d538,sensibleEffectivenessofCoolingAirFlowCurve,
model,HeatExchangerAirToAirSensibleAndLatent,latentEffectivenessat75CoolingAirFlow,3.8.0,ebce271d28e5d256f0a749a5ccf674179976d538,latentEffectivenessofCoolingAirFlowCurve,
model,HeatExchangerAirToAirSensibleAndLatent,setLatentEffectivenessat75CoolingAirFlow,3.8.0,ebce271d28e5d256f0a749a5ccf674179976d538,latentEffectivenessofCoolingAirFlowCurve,
model,ElectricEquipmentITEAirCooled,wattsperUnit,3.8.0,6e6f5980662b43881f1db8e0f3464ae63acb4c18,designLevel,
model,ElectricEquipmentITEAirCooled,getWattsperUnit,3.8.0,6e6f5980662b43881f1db8e0f3464ae63acb4c18,getDesignLevel,
model,ElectricEquipmentITEAirCooled,wattsperZoneFloorArea,3.8.0,6e6f5980662b43881f1db8e0f3464ae63acb4c18,powerPerFloorArea,
model,ElectricEquipmentITEAirCooled,getWattsperZoneFloorArea,3.8.0,6e6f5980662b43881f1db8e0f3464ae63acb4c18,getPowerPerFloorArea,
model,ElectricEquipmentITEAirCooledDefinition,wattsperUnit,3.8.0,6e6f5980662b43881f1db8e0f3464ae63acb4c18,designLevel,
model,ElectricEquipmentITEAirCooledDefinition,setWattsperUnit,3.8.0,6e6f5980662b43881f1db8e0f3464ae63acb4c18,setDesignLevel,
model,ElectricEquipmentITEAirCooledDefinition,wattsperZoneFloorArea,3.8.0,6e6f5980662b43881f1db8e0f3464ae63acb4c18,wattsperSpaceFloorArea,
model,ElectricEquipmentITEAirCooledDefinition,setWattsperZoneFloorArea,3.8.0,6e6f5980662b43881f1db8e0f3464ae63acb4c18,setWattsperSpaceFloorArea,
model,ElectricEquipmentITEAirCooledDefinition,getWattsperUnit,3.8.0,6e6f5980662b43881f1db8e0f3464ae63acb4c18,getDesignLevel,
model,ElectricEquipmentITEAirCooledDefinition,getWattsperZoneFloorArea,3.8.0,6e6f5980662b43881f1db8e0f3464ae63acb4c18,getPowerPerFloorArea,
4 changes: 2 additions & 2 deletions resources/model/OpenStudio.idd
Original file line number Diff line number Diff line change
Expand Up @@ -4130,7 +4130,7 @@ OS:ElectricEquipment:ITE:AirCooled:Definition,
A4 , \field Design Power Input Calculation Method
\note The entered calculation method is used to specify the design power input
\note Watts/Unit => Watts per Unit -- Design Power = Watts per Unit * Number of Units
\note Watts/Area => Watts per Zone Floor Area -- Design Power = Watts per Zone Floor Area * Floor Area
\note Watts/Area => Watts per Space Floor Area -- Design Power = Watts per Space Floor Area * Floor Area
\type choice
\key Watts/Unit
\key Watts/Area
Expand All @@ -4140,7 +4140,7 @@ OS:ElectricEquipment:ITE:AirCooled:Definition,
\units W
\ip-units W
\minimum 0
N2 , \field Watts per Zone Floor Area
N2 , \field Watts per Space Floor Area
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IDD change

\type real
\units W/m2
\ip-units W/ft2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -165,14 +165,14 @@ namespace energyplus {
// this is to get rid of the warning message for leaving the Number of Units field blank.
idfObject.setDouble(ElectricEquipment_ITE_AirCooledFields::NumberofUnits, 1.0);

double multiplier = modelObject.multiplier();
const double multiplier = modelObject.multiplier();

OptionalDouble d = definition.wattsperUnit();
OptionalDouble d = definition.designLevel();
if (d) {
idfObject.setDouble(ElectricEquipment_ITE_AirCooledFields::WattsperUnit, (*d) * multiplier);
}

d = definition.wattsperZoneFloorArea();
d = definition.wattsperSpaceFloorArea();
if (d) {
idfObject.setDouble(ElectricEquipment_ITE_AirCooledFields::WattsperFloorArea, (*d) * multiplier);
}
Expand Down
32 changes: 16 additions & 16 deletions src/energyplus/Test/ElectricEquipmentITEAirCooled_GTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ TEST_F(EnergyPlusFixture, ForwardTranslator_ElectricEquipmentITEAirCooled_OneSpa
// 20 W/m^2
SpaceType spaceType(model);
ElectricEquipmentITEAirCooledDefinition definition(model);
definition.setWattsperZoneFloorArea(20.0);
definition.setWattsperSpaceFloorArea(20.0);
ElectricEquipmentITEAirCooled electricEquipmentITEAirCooled(definition);
electricEquipmentITEAirCooled.setSpaceType(spaceType);

Expand Down Expand Up @@ -315,7 +315,7 @@ TEST_F(EnergyPlusFixture, ForwardTranslator_ElectricEquipmentITEAirCooled_TwoSpa

// 20 W/m^2
ElectricEquipmentITEAirCooledDefinition definition(model);
definition.setWattsperZoneFloorArea(20.0);
definition.setWattsperSpaceFloorArea(20.0);

boost::optional<Space> space1 = Space::fromFloorPrint(points, 3, model);
ASSERT_TRUE(space1);
Expand Down Expand Up @@ -629,10 +629,10 @@ TEST_F(EnergyPlusFixture, ForwardTranslator_ElectricEquipmentITEAirCooled_SpaceT
// | Total | 750.0 |
// |================================================================================================================================|

EXPECT_TRUE(iteSpace1Definition.setWattsperZoneFloorArea(1.0));
EXPECT_TRUE(iteSpace3Definition.setWattsperUnit(150.0));
EXPECT_TRUE(iteOfficeDefinition.setWattsperZoneFloorArea(1.2));
EXPECT_TRUE(iteBuildingDefinition.setWattsperUnit(130.0));
EXPECT_TRUE(iteSpace1Definition.setWattsperSpaceFloorArea(1.0));
EXPECT_TRUE(iteSpace3Definition.setDesignLevel(150.0));
EXPECT_TRUE(iteOfficeDefinition.setWattsperSpaceFloorArea(1.2));
EXPECT_TRUE(iteBuildingDefinition.setDesignLevel(130.0));

auto spaces = z.spaces();
double modelWatts = std::accumulate(spaces.cbegin(), spaces.cend(), 0.0,
Expand Down Expand Up @@ -679,19 +679,19 @@ TEST_F(EnergyPlusFixture, ForwardTranslator_ElectricEquipmentITEAirCooled_SpaceT
// These two are absolute, no issue whatsoever
if (name.find(iteBuilding.nameString()) != std::string::npos) {
EXPECT_EQ(130.0, w);
EXPECT_EQ(iteBuildingDefinition.wattsperUnit().get(), w);
EXPECT_EQ(iteBuildingDefinition.designLevel().get(), w);
} else if (name.find(iteSpace3.nameString()) != std::string::npos) {
EXPECT_EQ(150.0, w);
EXPECT_EQ(iteSpace3Definition.wattsperUnit().get(), w);
EXPECT_EQ(iteSpace3Definition.designLevel().get(), w);
// These two are per floor area
} else if (name.find(iteOffice.nameString()) != std::string::npos) {
EXPECT_EQ(120.0, w);
EXPECT_EQ(iteOfficeDefinition.wattsperZoneFloorArea().get() * spaceFloorArea, w);
EXPECT_EQ(iteOffice.getWattsperUnit(spaceFloorArea), w);
EXPECT_EQ(iteOfficeDefinition.wattsperSpaceFloorArea().get() * spaceFloorArea, w);
EXPECT_EQ(iteOffice.getDesignLevel(spaceFloorArea), w);
} else if (name.find(iteSpace1.nameString()) != std::string::npos) {
EXPECT_EQ(100.0, w);
EXPECT_EQ(iteSpace1Definition.wattsperZoneFloorArea().get() * spaceFloorArea, w);
EXPECT_EQ(iteSpace1.getWattsperUnit(spaceFloorArea), w);
EXPECT_EQ(iteSpace1Definition.wattsperSpaceFloorArea().get() * spaceFloorArea, w);
EXPECT_EQ(iteSpace1.getDesignLevel(spaceFloorArea), w);
}
}

Expand Down Expand Up @@ -753,7 +753,7 @@ TEST_F(EnergyPlusFixture, ForwardTranslator_ElectricEquipmentITEAirCooled_SpaceT
double w = ite.getDouble(ElectricEquipment_ITE_AirCooledFields::WattsperUnit).get();

EXPECT_EQ(130.0, w);
EXPECT_EQ(iteBuildingDefinition.wattsperUnit().get(), w);
EXPECT_EQ(iteBuildingDefinition.designLevel().get(), w);

EXPECT_TRUE(ite.isEmpty(ElectricEquipment_ITE_AirCooledFields::WattsperFloorArea));

Expand All @@ -775,7 +775,7 @@ TEST_F(EnergyPlusFixture, ForwardTranslator_ElectricEquipmentITEAirCooled_SpaceT
double w = ite.getDouble(ElectricEquipment_ITE_AirCooledFields::WattsperUnit).get();

EXPECT_EQ(150.0, w);
EXPECT_EQ(iteSpace3Definition.wattsperUnit().get(), w);
EXPECT_EQ(iteSpace3Definition.designLevel().get(), w);

EXPECT_TRUE(ite.isEmpty(ElectricEquipment_ITE_AirCooledFields::WattsperFloorArea));

Expand All @@ -798,7 +798,7 @@ TEST_F(EnergyPlusFixture, ForwardTranslator_ElectricEquipmentITEAirCooled_SpaceT
ASSERT_TRUE(ite.getDouble(ElectricEquipment_ITE_AirCooledFields::WattsperFloorArea, false));
double w_perArea = ite.getDouble(ElectricEquipment_ITE_AirCooledFields::WattsperFloorArea).get();

EXPECT_EQ(iteOffice.wattsperZoneFloorArea().get(), w_perArea);
EXPECT_EQ(iteOffice.powerPerFloorArea().get(), w_perArea);

double w = w_perArea * spaceFloorArea;

Expand All @@ -823,7 +823,7 @@ TEST_F(EnergyPlusFixture, ForwardTranslator_ElectricEquipmentITEAirCooled_SpaceT
ASSERT_TRUE(ite.getDouble(ElectricEquipment_ITE_AirCooledFields::WattsperFloorArea, false));
double w_perArea = ite.getDouble(ElectricEquipment_ITE_AirCooledFields::WattsperFloorArea).get();

EXPECT_EQ(iteSpace1.wattsperZoneFloorArea().get(), w_perArea);
EXPECT_EQ(iteSpace1.powerPerFloorArea().get(), w_perArea);

double w = w_perArea * spaceFloorArea;

Expand Down
Loading