-
Notifications
You must be signed in to change notification settings - Fork 192
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #4949 from NREL/boiler-hot-water
BoilerHotWater: new Off Cycle Parasitic Fuel Load field
- Loading branch information
Showing
14 changed files
with
263 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
/*********************************************************************************************************************** | ||
* OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC. | ||
* See also https://openstudio.net/license | ||
***********************************************************************************************************************/ | ||
|
||
#include <gtest/gtest.h> | ||
#include "EnergyPlusFixture.hpp" | ||
|
||
#include "../ForwardTranslator.hpp" | ||
|
||
#include "../../model/Model.hpp" | ||
#include "../../model/BoilerHotWater.hpp" | ||
#include "../../model/Node.hpp" | ||
#include "../../model/PlantLoop.hpp" | ||
#include "../../model/CurveQuadratic.hpp" | ||
|
||
#include <utilities/idd/Boiler_HotWater_FieldEnums.hxx> | ||
|
||
#include <utilities/idd/IddEnums.hxx> | ||
#include "../../utilities/idf/IdfObject.hpp" | ||
#include "../../utilities/idf/IdfObject_Impl.hpp" | ||
|
||
#include "../../utilities/idf/WorkspaceObject.hpp" | ||
#include "../../utilities/idf/WorkspaceObject_Impl.hpp" | ||
|
||
using namespace openstudio::energyplus; | ||
using namespace openstudio::model; | ||
using namespace openstudio; | ||
|
||
TEST_F(EnergyPlusFixture, ForwardTranslator_BoilerHotWater) { | ||
Model m; | ||
|
||
PlantLoop plant_loop(m); | ||
|
||
BoilerHotWater bhw(m); | ||
|
||
EXPECT_TRUE(bhw.setFuelType("Propane")); | ||
EXPECT_TRUE(bhw.setNominalCapacity(1.0)); | ||
EXPECT_TRUE(bhw.setNominalThermalEfficiency(0.9)); | ||
EXPECT_TRUE(bhw.setEfficiencyCurveTemperatureEvaluationVariable("EnteringBoiler")); | ||
CurveQuadratic curve1(m); | ||
EXPECT_TRUE(bhw.setNormalizedBoilerEfficiencyCurve(curve1)); | ||
EXPECT_TRUE(bhw.setDesignWaterFlowRate(3.0)); | ||
EXPECT_TRUE(bhw.setMinimumPartLoadRatio(4.0)); | ||
EXPECT_TRUE(bhw.setMaximumPartLoadRatio(5.0)); | ||
EXPECT_TRUE(bhw.setOptimumPartLoadRatio(6.0)); | ||
EXPECT_TRUE(bhw.setWaterOutletUpperTemperatureLimit(7.0)); | ||
EXPECT_TRUE(bhw.setBoilerFlowMode("LeavingSetpointModulated")); | ||
EXPECT_TRUE(bhw.setParasiticElectricLoad(8.0)); | ||
EXPECT_TRUE(bhw.setSizingFactor(9.0)); | ||
EXPECT_TRUE(bhw.setEndUseSubcategory("Test")); | ||
EXPECT_TRUE(bhw.setOffCycleParasiticFuelLoad(10.0)); | ||
|
||
EXPECT_TRUE(plant_loop.addSupplyBranchForComponent(bhw)); | ||
|
||
ForwardTranslator ft; | ||
Workspace w = ft.translateModel(m); | ||
|
||
EXPECT_EQ(1u, w.getObjectsByType(IddObjectType::Boiler_HotWater).size()); | ||
EXPECT_EQ(1u, w.getObjectsByType(IddObjectType::Curve_Quadratic).size()); | ||
|
||
IdfObject idf_bhw = w.getObjectsByType(IddObjectType::Boiler_HotWater)[0]; | ||
|
||
EXPECT_EQ(bhw.nameString(), idf_bhw.getString(Boiler_HotWaterFields::Name, false).get()); | ||
EXPECT_EQ("Propane", idf_bhw.getString(Boiler_HotWaterFields::FuelType, false).get()); | ||
EXPECT_EQ(1.0, idf_bhw.getDouble(Boiler_HotWaterFields::NominalCapacity, false).get()); | ||
EXPECT_EQ(0.9, idf_bhw.getDouble(Boiler_HotWaterFields::NominalThermalEfficiency, false).get()); | ||
EXPECT_EQ("EnteringBoiler", idf_bhw.getString(Boiler_HotWaterFields::EfficiencyCurveTemperatureEvaluationVariable, false).get()); | ||
EXPECT_EQ(curve1.nameString(), idf_bhw.getString(Boiler_HotWaterFields::NormalizedBoilerEfficiencyCurveName, false).get()); | ||
EXPECT_EQ(3.0, idf_bhw.getDouble(Boiler_HotWaterFields::DesignWaterFlowRate, false).get()); | ||
EXPECT_EQ(4.0, idf_bhw.getDouble(Boiler_HotWaterFields::MinimumPartLoadRatio, false).get()); | ||
EXPECT_EQ(5.0, idf_bhw.getDouble(Boiler_HotWaterFields::MaximumPartLoadRatio, false).get()); | ||
EXPECT_EQ(6.0, idf_bhw.getDouble(Boiler_HotWaterFields::OptimumPartLoadRatio, false).get()); | ||
EXPECT_EQ(bhw.inletModelObject().get().nameString(), idf_bhw.getString(Boiler_HotWaterFields::BoilerWaterInletNodeName, false).get()); | ||
EXPECT_EQ(bhw.outletModelObject().get().nameString(), idf_bhw.getString(Boiler_HotWaterFields::BoilerWaterOutletNodeName, false).get()); | ||
EXPECT_EQ(7.0, idf_bhw.getDouble(Boiler_HotWaterFields::WaterOutletUpperTemperatureLimit, false).get()); | ||
EXPECT_EQ("LeavingSetpointModulated", idf_bhw.getString(Boiler_HotWaterFields::BoilerFlowMode, false).get()); | ||
EXPECT_EQ(8.0, idf_bhw.getDouble(Boiler_HotWaterFields::OnCycleParasiticElectricLoad, false).get()); | ||
EXPECT_EQ(9.0, idf_bhw.getDouble(Boiler_HotWaterFields::SizingFactor, false).get()); | ||
EXPECT_EQ("Test", idf_bhw.getString(Boiler_HotWaterFields::EndUseSubcategory, false).get()); | ||
EXPECT_EQ(10.0, idf_bhw.getDouble(Boiler_HotWaterFields::OffCycleParasiticFuelLoad, false).get()); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -216,4 +216,3 @@ TEST_F(EnergyPlusFixture, ForwardTranslator_CoilCoolingWaterToAirHeatPumpVariabl | |
->nameString()); | ||
} | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
|
||
OS:Version, | ||
{da82353f-7f06-44d3-9003-9db5586aec1f}, !- Handle | ||
3.6.1; !- Version Identifier | ||
|
||
OS:Boiler:HotWater, | ||
{4b65bc89-fbb7-423b-8b56-bfe9ec5ebd7f}, !- Handle | ||
Boiler Hot Water 1, !- Name | ||
Propane, !- Fuel Type | ||
1, !- Nominal Capacity {W} | ||
0.9, !- Nominal Thermal Efficiency | ||
EnteringBoiler, !- Efficiency Curve Temperature Evaluation Variable | ||
{9f578c74-3ee0-4edc-9521-b8ae5fb65fe7}, !- Normalized Boiler Efficiency Curve Name | ||
3, !- Design Water Flow Rate {m3/s} | ||
4, !- Minimum Part Load Ratio | ||
5, !- Maximum Part Load Ratio | ||
6, !- Optimum Part Load Ratio | ||
, !- Boiler Water Inlet Node Name | ||
, !- Boiler Water Outlet Node Name | ||
7, !- Water Outlet Upper Temperature Limit {C} | ||
LeavingSetpointModulated, !- Boiler Flow Mode | ||
8, !- Parasitic Electric Load {W} | ||
9, !- Sizing Factor | ||
Test; !- End-Use Subcategory | ||
|
||
OS:Curve:Quadratic, | ||
{9f578c74-3ee0-4edc-9521-b8ae5fb65fe7}, !- Handle | ||
Curve Quadratic 1, !- Name | ||
0, !- Coefficient1 Constant | ||
0, !- Coefficient2 x | ||
1, !- Coefficient3 x**2 | ||
0, !- Minimum Value of x | ||
1; !- Maximum Value of x | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
#require '/usr/local/openstudio-3.6.1/Ruby/openstudio' | ||
|
||
include OpenStudio::Model | ||
|
||
m = Model.new | ||
|
||
boiler = BoilerHotWater.new(m) | ||
boiler.setFuelType("Propane") | ||
boiler.setNominalCapacity(1.0) | ||
boiler.setNominalThermalEfficiency(0.9) | ||
boiler.setEfficiencyCurveTemperatureEvaluationVariable("EnteringBoiler") | ||
curve = CurveQuadratic.new(m) | ||
boiler.setNormalizedBoilerEfficiencyCurve(curve) | ||
boiler.setDesignWaterFlowRate(3.0) | ||
boiler.setMinimumPartLoadRatio(4.0) | ||
boiler.setMaximumPartLoadRatio(5.0) | ||
boiler.setOptimumPartLoadRatio(6.0) | ||
boiler.setWaterOutletUpperTemperatureLimit(7.0) | ||
boiler.setBoilerFlowMode("LeavingSetpointModulated") | ||
boiler.setParasiticElectricLoad(8.0) | ||
boiler.setSizingFactor(9.0) | ||
boiler.setEndUseSubcategory("Test") | ||
|
||
m.save('test_vt_BoilerHotWater.osm', true) |
Oops, something went wrong.