Skip to content
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
32 changes: 24 additions & 8 deletions doc/src/records/dhwheatrec.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ Optional name of device; give after the word “DHWHEATREC” if desired.

**wrMult=*integer***

Number of identical heat recovery devices of this type. Any value $>1$ is equivalent to repeated entry of the same DHWHEATREC.
Number of identical heat recovery devices of this type. Any value >1 is equivalent to repeated entry of the same DHWHEATREC.

**Units** **Legal Range** **Default** **Required** **Variability**
----------- ----------------- ------------- -------------- -----------------
$>$ 0 1 No constant
$>$ 0 1 No constant

**wrHWEndUse=*choice***

Expand All @@ -39,12 +39,20 @@ Hot water end use to which this DHWHEATREC is applied: one of Shower, Bath, CWas

**wrType=*choice***

Specifies the type of heat recovery device: Vertical or Horizontal. Currently, wrType has no effect on model results.
Specifies the type of heat recovery device: Vertical, Horizontal, or SetEF. Horizontal and Vertical derive effectiveness from wrCSARatedEF, flow rates, and water temperatures. As of Feb. 2019, the same correlation is used for both Horizontal and Vertical, so these choices have effect on results. Choice SetEF uses wrCSARatedEF without modification as the effectiveness (note hourly variability).

**Units** **Legal Range** **Default** *Required** **Variability**
**Units** **Legal Range** **Default** **Required** **Variability**
----------- -------------------- ---------------- -------------- -----------------
-- one of above choices Vertical No constant

**wrCSARatedEF=*float***

Specifies the heat recovery effectiveness, generally determined using CSA B55.2 rating conditions. This value is modified during simulation based on water flow rates and temperatures. If wrType=SetEF, wsCSARatedEF is used without modification.

**Units** **Legal Range** **Default** **Required** **Variability**
----------------- -------------------- ------------- -------------- -----------------
-- 0 $\le$ x $\le$ 1 -- Yes hourly

**wrConfig=*choice***

Specifies the plumbing configuration:
Expand All @@ -58,14 +66,22 @@ Specifies the plumbing configuration:
----------- ---------------------- ------------- -------------- -----------------
one of above choices Equal No constant

**wrCSARatedEF=*float***

Specifies the heat recovery effectiveness determined using CSA B55.2 rating conditions.
**wrTDInDiff=*float***

**Units** **Legal Range** **Default** **Required** **Variability**
Temperature drop between the fixture drain and DHWHEATREC drain-side inlet. The drain-side inlet temperature is thus DHWUSE wuTemp - wrTDInDiff.

**Units** **Legal Range** **Default** **Required** **Variability**
----------------- -------------------- ------------- -------------- -----------------
-- 0 $\le$ x $\le$ 1 -- Yes hourly
^o^F $\ge$ 0 4.6 ^o^F N hourly

**wrTDInWarmup=*float***

Drain-side inlet water temperature during warmup. During the warmup portion of a draw (if any), the drain-side inlet temperature will initially be lower than that based on DHWUSE wuTemp. wrTDInWarmup allows input of user estimates for this temperature. Note wrTDInWarmup is *not* adjusted by wrTDInDiff.

**Units** **Legal Range** **Default** **Required** **Variability**
----------------- -------------------- ------------- -------------- -----------------
^o^F $\gt$ 0 65 ^o^F N hourly

**endDHWHEATREC**

Expand Down
12 changes: 6 additions & 6 deletions doc/src/records/dhwsys.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,9 @@ Hourly hot water use (at the point of use). See further info under wsDayUse.

Note that while DHWDAYUSE selection is updated daily, the DHWUSE values within the DHWDAYUSE can be altered hourly, providing additional scheduling flexibility.

**Units** **Legal Range** **Default** **Required** **Variability**
----------- ----------------- ---------------------- -------------- -----------------
gal $\ge$ 0 (no scheduled draws) No daily
**Units** **Legal Range** **Default** **Required** **Variability**
---------- ---------------------- ---------------------- -------------- -----------------
*name of a DHWDAYUSE* (no scheduled draws) No daily

**wsTUse=*float***

Expand All @@ -102,9 +102,9 @@ Hot water delivery temperature (at the point of use). Note that draws defined v

Specifies electrical parasitic power to represent recirculation pumps or other system-level electrical devices. Calculated energy use is accumulated to the METER specified by wsElecMtr (end use DHW). No other effect, such as heat gain to surroundings, is modeled.

**Units** **Legal Range** **Default** **Required** **Variability**
----------- ----------------- ------------- -------------- -----------------
W $>$ 0 0 No hourly
**Units** **Legal Range** **Default** **Required** **Variability**
----------- ------------------ ------------- --------------- -----------------
W $\ge$ 0 0 No hourly

**wsSDLM=*float***

Expand Down
22 changes: 14 additions & 8 deletions doc/src/records/dhwuse.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# DHWUSE

Defines a single hot water draw as part of a DHWDAYUSE. See discussion and examples under DHWDAYUSE. As noted there, most DHWUSE values have hourly variability, allowing flexible representation
Defines a single hot water draw as part of a DHWDAYUSE. See discussion and examples under DHWDAYUSE. As noted there, most DHWUSE values have hourly variability, allowing flexible representation.

**wuName**

Expand Down Expand Up @@ -29,7 +29,7 @@ Durations that extend beyond midnight are included in the current day.

**wuFlow=*float***

Draw flow rate at the point of use (in other words, the mixed-water flow rate). wuFlow = 0 is equivalent to omitting the DHWUSE. There is no enforced upper limit on wuFlow, however, unrealistically large values will cause runtime errors.
Draw flow rate at the point of use (in other words, the mixed-water flow rate). wuFlow = 0 is equivalent to omitting the DHWUSE. There is no enforced upper limit on wuFlow, however, unrealistically large values can cause runtime errors.

**Units** **Legal Range** **Default** **Required** **Variability**
----------- ------------------- ----------- ------------- -------------------------
Expand All @@ -48,16 +48,21 @@ Fraction of draw that is hot water. Cannot be specified with wuTemp or wuHeatRe
Mixed-water use temperature at the fixture. Cannot be specified when wuHotF is given.

---------------------------------------------------------------------------------------------
**Units** **Legal Range** **Default** **Required** **Variability**
---------- ------------------- ------------- ------------------ -------------------------
^o^F 0 $\le$ x 0 when wuHeatRecEF hourly
is given
**Units** **Legal Range** **Default** **Required** **Variability**
---------- ------------------- ------------- ---------------------------- ---------------
^o^F 0 $\le$ x 0 when wuHeatRecEF is given hourly
or parent DHWSYS includes
DHWHEATREC(s)
---------------------------------------------------------------------------------------------


**wuHeatRecEF=*float***

Heat recovery effectiveness. If non-0, wuHeatRecEF allows modeling of heat recovery devices such as drain water heat exchangers. If given, wuTemp must also be specified. Not allowed when referencing DHWSYS includes DHWHEATREC(s).
Heat recovery effectiveness, allows simple modeling of heat recovery devices such as drain water heat exchangers.

If non-0 (evaluated hourly), hot water use is reduced based on wuTemp, DHWSYS wsTUse, and DHWSYS wsTInlet. DHWHEATREC(s), if any, are ignored for this use. wuTemp must be specified.

If 0, detailed heat recovery modeling *may* apply, see [DHWHEATREC](#dhwheatrec).

**Units** **Legal Range** **Default** **Required** **Variability**
----------- --------------------- ------------- ------------- -------------------------
Expand All @@ -66,10 +71,11 @@ Heat recovery effectiveness. If non-0, wuHeatRecEF allows modeling of heat reco

**wuHWEndUse=*choice***

Hot-water end use: one of Shower, Bath, CWashr, DWashr, or Faucet. wuHWEndUse has two functions --
Hot-water end use: one of Shower, Bath, CWashr, DWashr, or Faucet. wuHWEndUse has the following functions --

* Allocation of hot water use among multiple DHWSYSs (if more than one DHWSYS references a given DHWDAYUSE).
* DHWMETER end-use accounting (via DHWSYS).
* Activation of the detailed heat recovery model (available for end use Shower when wuHeatRecEF=0 and the parent DHWSYS includes DHWHEATREC(s)).

**Units** **Legal Range** **Default** **Required** **Variability**
----------- -------------------- --------------------------- ------------- -------------------------
Expand Down
10 changes: 6 additions & 4 deletions src/CNCULT.CPP
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ void FC iRatsFree() // free record storage for all input basAncs.

// added for DLL version that must always free all its storage.
// calling this is safer than walking the tables for error exits
// beleived redundant but harmless for normal exits.
// believed redundant but harmless for normal exits.
{
ZiB.free();
IzxiB.free();
Expand Down Expand Up @@ -1831,10 +1831,12 @@ CULT( "*", STAR, 0, 0, 0, 0, 0, 0,
CULT( "wrDHWSYS", DAT, DHWHEATREC_OWNTI, NO_INP|RDFLIN,0,0, TYREF, &WSiB, 0, N, N),
CULT( "wrMult", DAT, DHWHEATREC_MULT, 0, 0, VEOI, TYSI, 0, 1, N, N),
CULT( "wrType", DAT, DHWHEATREC_TYPE, 0, 0, VEOI, TYCH, 0, C_DWHRTYCH_VERT, N, N),
CULT( "wrConfig", DAT, DHWHEATREC_CONFIG, 0, 0, VEOI, TYCH, 0, C_DWHRCFGCH_EQUAL, N, N),
CULT( "wrCSARatedEF",DAT, DHWHEATREC_EFFRATED,RQD, 0, VHRLY, TYFL, 0, .5f, N, N),
CULT( "wrDTDrain", DAT, DHWHEATREC_DTDRAIN, 0, 0, VHRLY, TYFL, 0, 4.6f, N, N),
CULT( "wrFxServed", DAT, DHWHEATREC_FXSERVED,0, 0, VEOI, TYSI, 0, 1, N, N),
CULT( "wrCountFXDrain",DAT, DHWHEATREC_NFXDRAIN,0, 0, VEOI, TYSI, 0, 1, N, N),
CULT( "wrCountFXCold",DAT, DHWHEATREC_NFXCOLD, 0, 0, VEOI, TYSI, 0, 0, N, N),
CULT( "wrFeedsWH", DAT, DHWHEATREC_FEEDSWH, 0, 0, VEOI, TYCH, 0, C_NOYESCH_NO, N, N),
CULT( "wrTDInDiff", DAT, DHWHEATREC_TDINDIFF,0, 0, VHRLY, TYFL, 0, 4.6f, N, N),
CULT( "wrTDInWarmup",DAT, DHWHEATREC_TDINWARMUP, 0, 0, VHRLY, TYFL, 0, 65.f, N, N),
CULT( "wrHWEndUse", DAT, DHWHEATREC_HWENDUSE,0, 0, VEOI, TYCH, 0, C_DHWEUCH_SHOWER, N, N),
CULT( "endDHWHEATREC", ENDER, 0, 0, 0, 0, 0, 0, 0, N, N),
CULT()
Expand Down
31 changes: 19 additions & 12 deletions src/CNCULT2.CPP
Original file line number Diff line number Diff line change
Expand Up @@ -1401,18 +1401,25 @@ LOCAL RC topDHW() // check DHWSYS/DHWHEATER ... copy to run rat
RC rc = RCOK;
E( WMtrR.RunDup( WMtriB));
E( WsR.RunDup( WSiB));
E( WhR.RunDup( WHiB, &WsR))
E( WtR.RunDup( WTiB, &WsR))
E( WrR.RunDup( WRiB, &WsR))
E( WpR.RunDup( WPiB, &WsR))
E( WlR.RunDup( WLiB, &WsR))
E( WgR.RunDup( WGiB, &WlR))
E( WbR.RunDup( WBiB, &WgR))
E( WlpR.RunDup( WLPiB, &WlR))
E( WduR.RunDup( WDUiB, &WsR))
E( WuR.RunDup( WUiB, &WduR))

// initialization -- do *last* -- all children in place
E(WhR.RunDup(WHiB, &WsR))
E(WtR.RunDup(WTiB, &WsR))
E(WrR.RunDup(WRiB, &WsR))
E(WpR.RunDup(WPiB, &WsR))
E(WlR.RunDup(WLiB, &WsR))
E(WgR.RunDup(WGiB, &WlR))
E(WbR.RunDup(WBiB, &WgR))
E(WlpR.RunDup(WLPiB, &WlR))
E(WduR.RunDup(WDUiB, &WsR))
E(WuR.RunDup(WUiB, &WduR))

// DHWDAYUSE one-time inits
DHWDAYUSE* pWDU;
RLUP(WduR, pWDU)
rc |= pWDU->wdu_Init( 0);
RLUP(WduR, pWDU)
rc |= pWDU->wdu_Init( 1);

// DHWSYS initialization -- do *last* -- all children in place
// multiple passes re e.g. wsLoadShareDHWSYS
DHWSYS* pWS;
RLUP( WsR, pWS)
Expand Down
1 change: 0 additions & 1 deletion src/CNDTYPES.DEF
Original file line number Diff line number Diff line change
Expand Up @@ -408,7 +408,6 @@ DUCTSEGP -- "class DUCTSEG*" 4 none
}
*choicb DHWLSEGTYCH { RET "return" SUP "supply" }
*choicb DWHRTYCH { HORIZ "horizontal" VERT "vertical" SETEF "SetEF" }
*choicb DWHRCFGCH { EQUAL "Equal" UNEQFX "UnequalFX" UNEQWH "UnequalWH" }

// PV choices
*choicb PVMODCH {
Expand Down
1 change: 0 additions & 1 deletion src/CNFIELDS.DEF
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,6 @@ DHWEUXCH DHWEUXCH LMNONE UNNONE
DHWMODELCH DHWMODELCH LMNONE UNNONE
DHWLSEGTYCH DHWLSEGTYCH LMNONE UNNONE
DWHRTYCH DWHRTYCH LMNONE UNNONE
DWHRCFGCH DWHRCFGCH LMNONE UNNONE
PVMODCH PVMODCH LMNONE UNNONE
PVARRCH PVARRCH LMNONE UNNONE
MOUNTCH MOUNTCH LMNONE UNNONE
Expand Down
Loading