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

Heat exchange models #183

Merged
merged 34 commits into from
Dec 19, 2023
Merged
Changes from 1 commit
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
99efbed
Restart heat exchange model.
Nov 1, 2023
8618861
Add heat exchange params.
Nov 1, 2023
508b544
AquaThermAire fails file and regression tests.
Nov 1, 2023
6e78b76
Fails villara test.
Nov 1, 2023
4681954
Adjust villara time.
Nov 1, 2023
7a6b418
Aquatherm added.
Nov 2, 2023
ad7efa0
Merge branch 'master' into heat-exchange-models
spahrenk Nov 6, 2023
539ef53
Merge branch 'master' into heat-exchange-models
Nov 9, 2023
638a51e
Merge branch 'master' into heat-exchange-models
Nov 13, 2023
ccdc7d2
accept master
Nov 13, 2023
098874d
Remove specific AquaTerm refs.
Nov 13, 2023
9bb19c7
No AquaTherm refs.
Nov 13, 2023
2fa7021
AquaTherm back in.
Nov 13, 2023
3611502
Review changes; unlock condenser.
Nov 20, 2023
92d5edf
Merge branch 'master' into heat-exchange-models
Nov 20, 2023
19ae202
Merge branch 'master' into heat-exchange-models
Nov 29, 2023
63b453a
Use 800 C storage tank to pass solar test.
Dec 6, 2023
e7bb180
Merge master.
Dec 11, 2023
592b89e
Fix heating logic issues.
Dec 11, 2023
e2d006f
Set AquaTherm to 12 tank nodes.
Dec 11, 2023
b8e569c
Use whole-tank logic.
Dec 11, 2023
9348872
Merge branch 'master' into heat-exchange-models
Dec 11, 2023
5043494
Improve unit conversion.
Dec 12, 2023
0dcc923
Conform case.
Dec 12, 2023
7553fdd
Merge branch 'master' into heat-exchange-models
Dec 12, 2023
4f64c7a
Merge branch 'master' into heat-exchange-models
Dec 13, 2023
533ec62
Change heat-exch-eff coeff.
Dec 14, 2023
4de5ef1
Define node-heat-exch-effec.
Dec 14, 2023
c5e0c99
Check validity.
Dec 14, 2023
e3f4a7c
Add 2nd third function.
Dec 14, 2023
2e25a71
Review comments; remove outletT space.
Dec 15, 2023
4a3e3f9
Remove unused fnc.
Dec 18, 2023
31cec6c
Change coil config.
Dec 18, 2023
ad4f931
Merge branch 'heat-exchange-models' of https://github.com/bigladder/H…
Dec 18, 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
Prev Previous commit
Next Next commit
AquaTherm back in.
Phil Ahrenkiel authored and Phil Ahrenkiel committed Nov 13, 2023
commit 2fa7021f5e2ddf8f3a6d586b0ff152c8791dcc19
2 changes: 2 additions & 0 deletions src/HPWH.in.hh
Original file line number Diff line number Diff line change
@@ -220,6 +220,8 @@ public:
MODELS_RHEEM_HPHD60VNU_201_MP = 351,
MODELS_RHEEM_HPHD135HNU_483_MP = 352, // really bad fit to data due to inconsistency in data
MODELS_RHEEM_HPHD135VNU_483_MP = 353, // really bad fit to data due to inconsistency in data

MODELS_AQUATHERMAIRE = 400 // heat exchanger model
};

///specifies the modes for writing output
63 changes: 63 additions & 0 deletions src/HPWHpresets.cc
Original file line number Diff line number Diff line change
@@ -3822,6 +3822,69 @@ int HPWH::HPWHinit_presets(MODELS presetNum) {

heatSources[0].companionHeatSource = &heatSources[2];
}
else if (presetNum == MODELS_AQUATHERMAIRE) { // AquaThermAire
setNumNodes(1);
setpoint_C = F_TO_C(125.);

tankVolume_L = GAL_TO_L(54.4);
tankUA_kJperHrC = 10.35;

doTempDepression = false;
tankMixesOnDraw = true;

// heat exchangers only
waterIsDrawnFromTank = false;
heatExchangeEfficiency = 0.9;

HeatSource compressor(this);

//compressor values
compressor.isOn = false;
compressor.isVIP = false;
compressor.typeOfHeatSource = TYPE_compressor;

compressor.setCondensity({1.});

//AOSmithPHPT60 values
compressor.perfMap.reserve(4);

compressor.perfMap.push_back({
5, // Temperature (T_F)
{-1423, 38.70 ,0.}, // Input Power Coefficients (inputPower_coeffs)
{-0.13839, 0.012319, 0.} // COP Coefficients (COP_coeffs)
});

compressor.perfMap.push_back({
34, // Temperature (T_F)
{-1558, 42.40, 0.}, // Input Power Coefficients (inputPower_coeffs)
{-0.19375, 0.017247, 0.} // COP Coefficients (COP_coeffs)
});

compressor.perfMap.push_back({
67, // Temperature (T_F)
{-1713, 46.60, 0.}, // Input Power Coefficients (inputPower_coeffs)
{-0.28156, 0.025064, 0.} // COP Coefficients (COP_coeffs)
});

compressor.perfMap.push_back({
95, // Temperature (T_F)
{-1844, 50.17, 0.}, // Input Power Coefficients (inputPower_coeffs)
{-0.47273, 0.042082, 0.} // COP Coefficients (COP_coeffs)
});

compressor.minT = F_TO_C(-25);
compressor.maxT = F_TO_C(125.);
compressor.hysteresis_dC = dF_TO_dC(1);
compressor.configuration = HeatSource::CONFIG_WRAPPED;

//logic conditions
compressor.addTurnOnLogic(HPWH::bottomTwelfth(dF_TO_dC(111)));
compressor.addTurnOnLogic(HPWH::standby(dF_TO_dC(14)));

//set everything in its places
heatSources.resize(1);
heatSources[0] = compressor;
}
else {
if (hpwhVerbosity >= VRB_reluctant) {
msg("You have tried to select a preset model which does not exist. \n");
71 changes: 71 additions & 0 deletions test/AquaThermAire.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
verbosity silent
numNodes 1 #number of nodes
Copy link
Member

Choose a reason for hiding this comment

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

Change to 12?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

setpoint 125 F
volume 54.4 gal
UA 10.35 kJperHrC
depressTemp false
mixOnDraw true
Copy link
Member

Choose a reason for hiding this comment

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

This should be false, the draw doesn't go into the tank at all, and it shouldn't cause any mixing of the water.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

waterIsDrawnFromTank false
heatExchangeEfficiency 0.9

#a test comment
numHeatSources 1

heatsource 0 isVIP false
heatsource 0 isOn false
heatsource 0 type compressor
heatsource 0 condensity 1

#we have input power and COP equations at for ambient temperatures
heatsource 0 nTemps 4
heatsource 0 T1 5 F
heatsource 0 T2 34 F
heatsource 0 T3 67 F
heatsource 0 T4 95 F

#quadratic terms for this product are zero. It's remarkably linear.

# 5F Coefficients
heatsource 0 inPowT1const -1423
heatsource 0 inPowT1lin 38.70
heatsource 0 inPowT1quad 0.0
heatsource 0 copT1const -0.13839
heatsource 0 copT1lin 0.012319
heatsource 0 copT1quad 0.0

# 34F Coefficients
heatsource 0 inPowT2const -1558
heatsource 0 inPowT2lin 42.40
heatsource 0 inPowT2quad 0.0
heatsource 0 copT2const -0.19375
heatsource 0 copT2lin 0.017247
heatsource 0 copT2quad 0.0

# 67F Coefficients
heatsource 0 inPowT3const -1713
heatsource 0 inPowT3lin 46.60
heatsource 0 inPowT3quad 0.0
heatsource 0 copT3const -0.28156
heatsource 0 copT3lin 0.025064
heatsource 0 copT3quad 0.0

# 95F Coefficients
heatsource 0 inPowT4const -1844
heatsource 0 inPowT4lin 50.17
heatsource 0 inPowT4quad 0.0
heatsource 0 copT4const -0.47273
heatsource 0 copT4lin 0.042082
heatsource 0 copT4quad 0.0


heatsource 0 minT -25 F
heatsource 0 maxT 125 F
heatsource 0 hysteresis 1 F
heatsource 0 coilConfig wrapped
Copy link
Member

Choose a reason for hiding this comment

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

Should probably be "submerged" based on conversations with Ben. What impact will this have on the simulation?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Wrapped and submerged use different heat distributions. Simulation results are slightly altered.


#Turns on when average tank temperature is 111F or colder
heatsource 0 onlogic nodes 1 absolute < 111 F

#BL not sure how to specify standby turn on. Trying this for now
#Intent is to get it to turn on at 111F which is 14F below 125F
heatsource 0 onlogic standby 14 F
2 changes: 2 additions & 0 deletions test/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -185,8 +185,10 @@ set(yearLargeTestsModels
Scalable_MP
)
set(heatExchangeModelNames
AquaThermAire
)
set(heatExchangeTests
villara_24hr67
)
set(yearLargeTests
testCA_36Unit_CTZ12
3 changes: 3 additions & 0 deletions test/testUtilityFcts.cc
Original file line number Diff line number Diff line change
@@ -297,6 +297,9 @@ HPWH::MODELS mapStringToPreset(string modelName) {
else if (modelName == "AWHSTier3Generic80") {
hpwhModel = HPWH::MODELS_AWHSTier3Generic80;
}
else if (modelName == "AquaThermAire") {
hpwhModel = HPWH::MODELS_AQUATHERMAIRE;
}
else {
hpwhModel = HPWH::MODELS_basicIntegrated;
cout << "Couldn't find model " << modelName << ". Exiting...\n";
2 changes: 2 additions & 0 deletions test/villara_24hr67/DRschedule.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
default 1
minutes,OnOff
1,442 changes: 1,442 additions & 0 deletions test/villara_24hr67/ambientTschedule.csv

Large diffs are not rendered by default.

55 changes: 55 additions & 0 deletions test/villara_24hr67/drawschedule.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
default 0,
minutes,flow
1,1.3349102
2,2.8913854
3,3.0124772
4,3.0023251
5,3.0111803
6,3.0010218
7,3.0069499
8,3.0063591
9,3.0017903
10,1.8039873
31,0.37899702
32,0.94744504
33,0.63037963
41,0.38995912
42,0.5368643
101,0.65925425
102,1.7165944
103,1.7083723
104,1.7090602
105,1.7091726
106,1.3943032
631,1.1355289
632,2.9009642
633,3.0374659
634,3.0470733
635,3.0387555
636,1.7740286
691,0.65034432
692,1.6432731
693,1.7106795
694,0.9123426
721,0.42550981
722,0.53087469
766,0.37718415
767,0.56562094
771,0.41616712
772,0.56491452
961,0.43046225
962,0.9971379
963,0.51245331
976,0.40423453
977,0.96119296
978,0.60220512
991,0.72326202
992,1.23663
1006,0.67108812
1007,1.2519566
1021,1.1236753
1022,2.9326025
1023,3.016118
1024,3.0076832
1025,3.0115812
1026,0.80231295
1,442 changes: 1,442 additions & 0 deletions test/villara_24hr67/evaporatorTschedule.csv

Large diffs are not rendered by default.

1,442 changes: 1,442 additions & 0 deletions test/villara_24hr67/inletTschedule.csv

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions test/villara_24hr67/testInfo.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
HPWH_setpoint 51.67
length_of_test 1441