Skip to content

Commit 46523a2

Browse files
committed
CSE 0.845
Added DHWHEATER whUAMult
1 parent 7f6f8fa commit 46523a2

File tree

6 files changed

+39
-3
lines changed

6 files changed

+39
-3
lines changed

src/CNCULT.CPP

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1771,6 +1771,7 @@ CULT( "whASHPSrcZn", DAT, DHWHEATER_ASHPSRCZNTI,0, 0, VEOI, TYREF, &ZiB,
17711771
CULT( "whASHPSrcT", DAT, DHWHEATER_ASHPTSRC,0, 0, VSUBHRLY,TYFL, 0, 70.f, N, N),
17721772
CULT( "whASHPResUse",DAT, DHWHEATER_ASHPRESUSE,0, 0, VEOI, TYFL, 0, 7.22f, N, N),
17731773
CULT( "whVol", DAT, DHWHEATER_VOL, 0, 0, VEOI, TYFL, 0, 0.f, N, N),
1774+
CULT( "whUAMult", DAT, DHWHEATER_UAMULT, 0, 0, VEOI, TYFL, 0, 1.f, N, N),
17741775
CULT( "whEF", DAT, DHWHEATER_EF, 0, 0, VEOI, TYFL, 0, 0.82f, N, N),
17751776
CULT( "whUEF", DAT, DHWHEATER_UEF, 0, 0, VEOI, TYFL, 0, 0.f, N, N),
17761777
CULT( "whStbyElec", DAT, DHWHEATER_STBYELEC, 0, 0, VEOI, TYFL, 0, 4.f, N, N),

src/CNRECS.DEF

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3435,6 +3435,9 @@ RECORD DHWHEATER "DHWHeater" *RAT // input / runtime DHW heater
34353435
// applicable to STRGxx types
34363436
// used only for HPWH ResistanceX, 5-2016
34373437
// default=50 if STRGxx else 0
3438+
*i FLOAT_GZ wh_UAMult; // storage tank UA multiplier, default=1
3439+
// applied to implicit tank UA re e.g. tank blanket
3440+
// used only re HPWH ASHPX and ResistanceX
34383441
*i FLOAT_GZ wh_EF; // rated energy factor
34393442
*i FLOAT_GZ wh_LDEF; // load-dependent energy factor
34403443
*i FLOAT_GZ wh_UEF; // rated uniform energy factor

src/DHWCalc.cpp

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -958,7 +958,10 @@ RC DHWHEATER::wh_CkF() // water heater input check / default
958958
rc |= disallowN( "when 'whTEx' is specified", DHWHEATER_ZNTI, 0);
959959

960960
if (wh_heatSrc != C_WHHEATSRCCH_ELRESX)
961-
ignoreN( whenHs, DHWHEATER_RESHTPWR, DHWHEATER_RESHTPWR2, 0);
961+
{ ignoreN( whenHs, DHWHEATER_RESHTPWR, DHWHEATER_RESHTPWR2, 0);
962+
if (wh_heatSrc != C_WHHEATSRCCH_ASHPX)
963+
ignore( DHWHEATER_UAMULT, whenHs);
964+
}
962965

963966
if (wh_type != C_WHTYPECH_STRGSML)
964967
{ if (wh_type == C_WHTYPECH_INSTUEF)
@@ -1420,7 +1423,15 @@ RC DHWHEATER::wh_HPWHInit() // initialize HPWH model
14201423
if (volX > 0.f && wh_pHPWH->setTankSize( volX, HPWH::UNITS_GAL) != 0)
14211424
rc = RCBAD;
14221425
if (UAX > 0.f && wh_pHPWH->setUA( UAX, HPWH::UNITS_BTUperHrF) != 0)
1423-
rc = RCBAD;
1426+
rc = RCBAD;
1427+
if (wh_UAMult != 1.f)
1428+
{ // apply user-specified adjustment to implicit UA
1429+
// approximates effect of e.g. tank wrap insulation
1430+
double UAdflt;
1431+
int ret = wh_pHPWH->getUA( UAdflt);
1432+
if (ret || wh_pHPWH->setUA( UAdflt*wh_UAMult) != 0)
1433+
rc = RCBAD;
1434+
}
14241435
}
14251436

14261437
if (!rc)

src/csevrsn.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,15 @@
1414
// version # for current build
1515
// change ONLY here
1616
#define CSEVRSN_MAJOR 0
17-
#define CSEVRSN_MINOR 844
17+
#define CSEVRSN_MINOR 845
1818

1919
// version # as quoted text ("x.xxx")
2020
#define CSEVRSN_TEXT MAKE_LIT(CSEVRSN_MAJOR##.##CSEVRSN_MINOR)
2121

2222
// ONLY comments below here
2323

2424
/* History:
25+
0.845: added DHWHEATER whUAMult, 10-18-2017
2526
0.844: HPWH debug export enhanced, 10-17-2017
2627
0.843: BATTERY last hour values; DESCOND prelim version; 10-10-17
2728
0.842: btChgReq eval stage bug fix (cncult.cpp), 9-12-2017

vendor/hpwh/HPWH.cc

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -707,6 +707,22 @@ int HPWH::setUA(double UA, UNITS units) {
707707
return 0;
708708
}
709709

710+
int HPWH::getUA(double& UA, UNITS units/*=UNITS_kJperHrC*/) const
711+
{
712+
int ret = 0;
713+
if (units == UNITS_kJperHrC)
714+
UA = tankUA_kJperHrC;
715+
else if (units == UNITS_BTUperHrF)
716+
UA = tankUA_kJperHrC / UAf_TO_UAc( 1.);
717+
else
718+
{ if (hpwhVerbosity >= VRB_reluctant)
719+
msg("Incorrect unit specification for getUA. \n");
720+
UA = -1.;
721+
ret = HPWH_ABORT;
722+
}
723+
return ret;
724+
}
725+
710726
int HPWH::getNumNodes() const {
711727
return numNodes;
712728
}

vendor/hpwh/HPWH.hh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,10 @@ class HPWH {
245245
int setUA(double UA_kJperHrC);
246246
int setUA(double UA, UNITS units);
247247
/**< This is a setter for the UA, with or without units specified - default is metric */
248+
249+
int getUA( double& UA, UNITS units=UNITS_kJperHrC) const;
250+
251+
248252

249253
int getNumNodes() const;
250254
/**< returns the number of nodes */

0 commit comments

Comments
 (0)