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

Issue3063 District DHW #3525

Merged
merged 211 commits into from
Jan 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
211 commits
Select commit Hold shift + click to select a range
cdf9ddb
created package for DHW system models
Jun 16, 2022
2bb3064
added domestic water fixture base class with thermostatic mixing valve
Jun 16, 2022
540e8fc
added data for typical DHW load profile in single apartment unit
Jun 16, 2022
47818a0
initial implementation of DHW served by direct district heat exchange
Jun 16, 2022
cfd310b
updated water consumption integrator blocks
Jun 21, 2022
1b2ee36
calculate power supplied by auxiliary electric resistance
Jun 21, 2022
7dc1866
add intermediate temperature sensor after heat exchanger
Jun 21, 2022
33806b1
created example to test direct district HX with aux heating for DHW
Jun 21, 2022
9e06ee5
exposing PI gains as parameters in thermostatic mixing valve
Jul 7, 2022
3e1c8b0
replaced ideal valve with three way linear valve in tmv model
Jul 7, 2022
2afea38
initial implementation of heat pump water heater served by district heat
Jul 7, 2022
50f366c
Merge branch 'master' into issue3063_dhwLoaDisHea
Jul 13, 2022
9d608f5
added alternate flow path without electric resistance
Jul 27, 2022
8e31fd0
created haveER flag to determine whether electric resistance is present
Jul 27, 2022
b48c040
Merge remote-tracking branch 'origin/master' into issue3063_dhwLoaDisHea
Aug 17, 2022
08a6fff
preliminary implementation of integration with ETS
Aug 17, 2022
52e61ec
Merge remote-tracking branch 'origin/master' into issue3063_dhwLoaDisHea
Sep 21, 2022
a0be96e
reconfigured DHW generation models with partial base class
Sep 29, 2022
d151c97
created new partial building model with flow distribution for SC and DHW
Sep 29, 2022
0a70563
reorganized DHW package with new partial base class and inputs / outputs
Oct 8, 2022
235fe70
partial building with flow distribution using old base class
Oct 8, 2022
44fd10d
unchecked "save as one file" in Heating package
hcasperfu Oct 11, 2022
45129d2
assigned medium model
hcasperfu Oct 11, 2022
c204d45
removed duplicate declaration
hcasperfu Oct 11, 2022
0ecc358
removed duplicate medium assignment
hcasperfu Oct 11, 2022
79d5dd3
gave havePEle value in example model
hcasperfu Oct 11, 2022
304b519
removed unnecessary annotation that caused error
hcasperfu Oct 11, 2022
99bbeca
corrected annotation
hcasperfu Oct 11, 2022
390cff3
fixed connector error with souDcw
hcasperfu Oct 11, 2022
91c42c3
new base classes for daily and annual load schedules
Oct 20, 2022
c9576df
modified icons for heat generation devices
Oct 20, 2022
ba82922
reorganized examples to separate heater and fixture testing
Oct 20, 2022
7ecca9d
modified thermostatic mixing valve icon with colored fluid streams
Oct 20, 2022
9f901b5
reorganized DHW package to remove complete models from base classes
Oct 21, 2022
d61a8b0
updated HPWH specs to 50 gallon (really 45 gallon) Rheem or A.O. Smith
Oct 26, 2022
699a7c8
adding parameter for controller type to TMV
Nov 10, 2022
b86bcd0
adding nominal pressure drop across TMV for design flow of 6.5 gpm
Nov 10, 2022
a7919c3
adding circulation pump between heat pump and tank with flow as input
Nov 10, 2022
8bab34f
added documentation to substation models
Nov 16, 2022
5ec1aba
exposing eps and QMax_flow parameters for HX+ER substation
Nov 16, 2022
f53f795
adding hysteresis to control thermostatic mixing valve
Nov 16, 2022
bad491a
exposing HPWH parameters; to be stored in records
Nov 16, 2022
279da70
Merge branch 'master' into issue3063_dhwLoaDisHea
Nov 16, 2022
72d78a6
create package for data records to parameterize gen and load models
Nov 22, 2022
118b46f
add equipment specification records within new data package
Nov 22, 2022
092c3a5
call data record to parameterize equipment in example models
Nov 22, 2022
b6937c1
clean up connections in DomesticWaterMixer model
Nov 22, 2022
82d6ea4
add PI control for HPWH pump flow
Nov 22, 2022
f4eddd9
update parameterization within HPWH model
Nov 22, 2022
05fce23
Merge remote-tracking branch 'origin/master' into issue3063_dhwLoaDisHea
Dec 21, 2022
df62e7e
debugged HPWH model
Dec 21, 2022
53482ee
updating HPWH parametrization: model requires hTan have a non-zero value
Dec 21, 2022
9cb7e09
updating annotation for generation and fixture models
Dec 21, 2022
400919a
update records in data package
Dec 21, 2022
18ce461
include HP dT as parameters in HPWH model
Dec 21, 2022
b888611
move one of the DHW load models to delete folder
Dec 21, 2022
6a58dd9
refactor models with DHW load that has schedule as an input
Dec 21, 2022
0a5db0c
update domestic water heater model to have dynamic temperature input
Dec 21, 2022
c88b3bc
create simulate and plot script for DomesticWaterHeater example
Dec 21, 2022
d18d3a6
create simulate and plot script for DomesticWaterFixture example
Dec 23, 2022
acf390e
update default TMV controller parameters
Dec 23, 2022
c3b2c39
Fix Ti parameter declaration and align time scale on simulate and plot
dhblum Jan 5, 2023
b60857c
Merge branch 'master' into issue3063_dhwLoaDisHea
dhblum Jan 27, 2023
ad10f43
Add pressure boundary to hx loop, remove duplicate dhw flow sink, giv…
dhblum Jan 27, 2023
aa1357a
Merge branch 'master' into issue3063_dhwLoaDisHea
dhblum Feb 2, 2023
6d934ec
Move evapoarator pump outside heatpump-tank model
dhblum Feb 2, 2023
36b3a35
Add PI control of tank temperature by circulation pump
dhblum Feb 2, 2023
105dd98
Merge branch 'master' into issue3063_dhwLoaDisHea
dhblum Feb 14, 2023
0aaf2c6
Make PEle 0 if no electric heating, modify aux heat parameter
dhblum Feb 14, 2023
73f366c
Make heat pump water heater performance a record
dhblum Feb 14, 2023
039c86e
Remove havePEle flag from record
dhblum Feb 15, 2023
35be823
Simplify and tune defaults of tmv controller parameters
dhblum Feb 15, 2023
917689c
Tune and expose circulation pump controller parameters, make dTHex eq…
dhblum Feb 15, 2023
51512cd
Merge branch 'master' into issue3063_dhwLoaDisHea
dhblum Feb 22, 2023
7d21d3c
Merge branch 'master' into issue3063_dhwLoaDisHea
dhblum Apr 5, 2023
2d11813
Add Combined BuildingTimeSeriesWithETS example model
dhblum May 2, 2023
50f4b6f
Update package order
dhblum May 2, 2023
a5f96c6
Make DHW draw through in HeatPumpHeatExchanger
dhblum May 2, 2023
e059ada
Change names of dhw sou and sin
dhblum May 8, 2023
0e7ade4
Initial implementation of DHW ETS
dhblum May 8, 2023
2fc563c
Merge branch 'master' into issue3063_dhwLoaDisHea and create partialH…
dhblum Jul 27, 2023
47d1991
Merge branch 'master' into issue3063_dhwLoaDisHea and move DHW package
dhblum Aug 29, 2023
6e3989d
Upate for CDL.Continuous to CDL.Reals
dhblum Aug 29, 2023
87939b2
Merge branch 'master' into issue3063_dhwLoaDisHea
dhblum Sep 5, 2023
e651d76
Make ETS with Tank extend original ETS
dhblum Sep 5, 2023
5178135
Delete excess models
dhblum Sep 5, 2023
f6fdbab
Add tmv, adjust parameters
dhblum Sep 5, 2023
adf7806
Increase nominal hex flow in example with tank
dhblum Sep 5, 2023
15bd24d
Decrease max heat pump heat flow in example with tank
dhblum Sep 5, 2023
fc10413
Expose hot water and cold water nominal supply temp to tap
dhblum Sep 6, 2023
85599ea
Use COP_nominal for DHW heat pump instead of calculating - aligns wit…
dhblum Sep 6, 2023
dcdbab7
Delete old models
dhblum Sep 6, 2023
f2ffb5f
Delete old models
dhblum Sep 6, 2023
d4b28a3
Merge branch 'master' into issue3063_dhwLoaDisHea
dhblum Sep 7, 2023
591ba2b
Initial cleanup hot water package
dhblum Sep 7, 2023
4aebbe2
Update TimeSeries implementation
dhblum Sep 7, 2023
4e74cf6
Merge branch 'master' into issue3063_dhwLoaDisHea
dhblum Sep 8, 2023
1210de8
ChangeHot to HotSou and Tem to Hot
dhblum Sep 8, 2023
e7ef1ef
Add dT between tank and hx
dhblum Sep 8, 2023
aecaa4f
Update docs for HotWater package
dhblum Sep 11, 2023
7b4b03b
Add ditribution doc reference
dhblum Sep 11, 2023
812b2c5
Update doc
dhblum Sep 11, 2023
fa4a1ec
Update doc
dhblum Sep 11, 2023
8e0c471
Update doc
dhblum Sep 11, 2023
2d8c465
Add documentation of system level models
dhblum Sep 13, 2023
037292b
Small doc and naming edits
dhblum Sep 13, 2023
54dd6d5
Small edits
dhblum Sep 13, 2023
e4aa949
Add unit test scripts for dhw package and ETS with dhw tank example
dhblum Sep 13, 2023
55a357e
Remove DHW package files already copied to new package
dhblum Sep 13, 2023
6962827
Remove DHW package files already copied to new package
dhblum Sep 13, 2023
134752a
Add and update unit test results, fix initial conditions
dhblum Sep 13, 2023
27485e2
Merge branch 'master' into issue3063_dhwLoaDisHea
dhblum Sep 13, 2023
b1fd638
Merge branch 'master' into issue3063_dhwLoaDisHea
dhblum Sep 16, 2023
1f5841e
Remove BOM
dhblum Sep 16, 2023
c7b67dd
Fix html and remove old DHW pacakge
dhblum Sep 16, 2023
d618436
Fix package order
dhblum Sep 16, 2023
b935088
Fix strings
dhblum Sep 16, 2023
c3fd45a
Extend record icon
dhblum Sep 16, 2023
40f9425
Update reference result for SeriesConstantFlow example
dhblum Sep 20, 2023
c61a062
changed port name, revised model
mwetter Sep 29, 2023
37b7ae3
Revised model, corrected icon syntax
mwetter Sep 29, 2023
3fb5d35
Simplified by changing Add to Subtract
mwetter Sep 29, 2023
dfe8d9e
Merge branch 'master' into issue3063_dhwLoaDisHea
mwetter Sep 29, 2023
30fa9b4
Revised implementation
mwetter Sep 29, 2023
5d2d4e3
Revised models
mwetter Sep 29, 2023
ed89b88
Renamed models
mwetter Sep 29, 2023
26162ea
Renamed models
mwetter Sep 29, 2023
5f09208
Added icon
mwetter Sep 29, 2023
7b9ae70
Corrected figure name
mwetter Oct 2, 2023
c87a6cc
Changed icon and connector names
mwetter Oct 2, 2023
c7256a6
Refactored domestic hot water load
mwetter Oct 2, 2023
ce2bb61
Renamed connector
mwetter Oct 2, 2023
6c17345
Added fixme
mwetter Oct 2, 2023
68598db
Merge branch 'issue3063_dhwLoaDisHea' of https://github.com/lbl-srg/m…
dhblum Oct 3, 2023
77a05dc
Worked on refactoring domestic hot water
mwetter Oct 5, 2023
ba8bc25
Revised hot water load models [ci skip]
mwetter Oct 18, 2023
29327b2
Revised hot water load models [ci skip]
mwetter Oct 18, 2023
ca1a781
Revised hot water load models [ci skip]
mwetter Oct 18, 2023
74ef817
Revised hot water load models [ci skip]
mwetter Oct 19, 2023
a1fdb94
Merge branch 'issue3063_dhwLoaDisHea' of https://github.com/lbl-srg/m…
dhblum Oct 19, 2023
6063786
Revised hot water load models [ci skip]
mwetter Oct 19, 2023
f82d98a
Merge branch 'issue3063_dhwLoaDisHea' of https://github.com/lbl-srg/m…
dhblum Oct 19, 2023
cd6c82f
Add stop charging when bottom tank temp above set point
dhblum Oct 27, 2023
656593c
Add new schedule data and fix parameterization
dhblum Oct 30, 2023
0484ea5
Add validation model, fix structural singularity, and tune PI control
dhblum Oct 31, 2023
e554261
Remove uEna as not needed
dhblum Oct 31, 2023
900efdb
BuildingTimeSeriesWithDHW example simulates
dhblum Oct 31, 2023
f1d5ef2
Create heat pump base class, update space heating heat pump and direc…
dhblum Nov 1, 2023
ea58eff
Name and package order changes
dhblum Nov 2, 2023
8dd0569
Tank charge controller fix
dhblum Nov 11, 2023
6adbb31
Merge branch 'issue3063_dhwLoaDisHea' of https://github.com/lbl-srg/m…
dhblum Nov 11, 2023
8b53e5d
Change TMix to TDom and description
dhblum Nov 11, 2023
d41f2bb
Add heater loop with constant dT
dhblum Nov 11, 2023
04a8097
Update direct hx and heater and remove old tank model
dhblum Nov 15, 2023
f5c5d88
More example cleanup
dhblum Nov 15, 2023
5fd4610
Delete old heat pump subsystem model
dhblum Nov 15, 2023
ebf1580
Clean parameter documentation in hot water models
dhblum Nov 15, 2023
e64cb59
Clean parameter documentation in hot water models
dhblum Nov 15, 2023
e043a24
Configure unit tests for hot water examples
dhblum Nov 15, 2023
7a9d2f5
Add unit test results for HotWater loads
dhblum Nov 15, 2023
56d13b1
Update docs for heat pump ETS base class (space heating and cooling)
dhblum Nov 16, 2023
b869ed9
Update heat pump sub system docs
dhblum Nov 16, 2023
64bac29
Merge branch 'master' into issue3063_dhwLoaDisHea
dhblum Nov 28, 2023
0c0bfdf
Update docs, HeatPumpDHWTank validation, subsystem validation test sc…
dhblum Nov 28, 2023
0105175
Fix mos script and add subsystem validation unit test results
dhblum Nov 28, 2023
4da406b
Update docs for ETSs
dhblum Nov 28, 2023
a446ec4
Update unit test scripts
dhblum Nov 28, 2023
aa08f8b
Update unit test results for BuildingTimeSeries examples
dhblum Nov 28, 2023
e8c2d01
Update unit test ref results
dhblum Nov 28, 2023
49e369d
Extend DHWTank subsystem from partial base class
dhblum Nov 28, 2023
1f3c7f0
Remove BOM
dhblum Nov 28, 2023
907071e
Remove BOM
dhblum Nov 28, 2023
f21041a
Fix html
dhblum Nov 28, 2023
d03c49b
Fix html
dhblum Nov 28, 2023
f87b1a6
Fix html
dhblum Nov 28, 2023
4a27d5e
Fix experiment section
dhblum Nov 28, 2023
f238fff
Remove old code
dhblum Nov 28, 2023
449ef30
Fix invalid strings
dhblum Nov 28, 2023
28bc9c5
Remove old OM script file
dhblum Nov 28, 2023
6cd0c32
Fix parameter reference
dhblum Nov 29, 2023
d65b851
Remove BOM
dhblum Nov 29, 2023
894cb01
Refactor extension of BuildingTimeSeries so examples compile in OM
dhblum Dec 6, 2023
a28d2c9
Add junction to dhw mixer
dhblum Dec 7, 2023
daf3dae
Use long paths
dhblum Dec 7, 2023
cc7053b
Merge branch 'master' into issue3063_dhwLoaDisHea
dhblum Dec 8, 2023
ffdd7bc
Update unit test results for examples.combined
dhblum Dec 8, 2023
4578598
Updated figure [ci skip]
mwetter Dec 14, 2023
d147946
Added label [ci skip]
mwetter Dec 14, 2023
376e573
Removed duplicate name [ci skip]
mwetter Dec 14, 2023
2ab76ca
Changed icon
mwetter Dec 14, 2023
ab9368e
Added figure
mwetter Dec 15, 2023
0f16df5
Corrected capitalization to be uniform
mwetter Dec 15, 2023
eb800cf
Added color to figure, and link to other model in info section
mwetter Dec 15, 2023
3b3d75b
Update port locations and icons
dhblum Dec 16, 2023
a0db705
Update unit test results
dhblum Dec 16, 2023
ba596d3
Merge branch 'master' into issue3063_dhwLoaDisHea
dhblum Dec 16, 2023
d6402c1
Remove BOM
dhblum Dec 16, 2023
3a26d18
Revert connection change
dhblum Dec 18, 2023
89e76c6
Fix typo in docs
dhblum Dec 18, 2023
65dd4ed
Update release notes
dhblum Dec 18, 2023
378323d
Remove BOM
dhblum Dec 18, 2023
2f3b7d2
Changed layout and icons to color
mwetter Dec 19, 2023
a8b25bf
Merge branch 'master' into issue3063_dhwLoaDisHea
dhblum Dec 20, 2023
f29e4dc
Update conf.py for optimica and openmodelica
dhblum Dec 21, 2023
98e5a48
Merge branch 'master' into issue3063_dhwLoaDisHea
dhblum Jan 3, 2024
ae568cd
Remove improper each
dhblum Jan 3, 2024
3fcbb30
Delete unneeded large data file
dhblum Jan 3, 2024
c965332
Add uEna to dhw tank subsystem for consistency
dhblum Jan 4, 2024
c4483ac
Merge branch 'master' into issue3063_dhwLoaDisHea
dhblum Jan 4, 2024
3359757
Remove BOM
dhblum Jan 4, 2024
1ef2c1f
Clean up revisions docs
dhblum Jan 5, 2024
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
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ model PartialDirect
"Bandwidth around reference signal for on/off controller"
annotation (Dialog(tab="Advanced"));

Modelica.Blocks.Interfaces.RealInput TSetDisRet(
Modelica.Blocks.Interfaces.RealInput TDisRetSet(
final unit="K",
displayUnit="degC")
"Setpoint for the district return temperature (min for cooling, max for heating)"
Expand Down Expand Up @@ -197,7 +197,7 @@ equation
connect(senTDisSup.T,dTDis. u2)
annotation (Line(points={{-170,-269},{-172,-269},{-172,-184},{60,-184},{60,-110},
{78,-110}}, color={0,0,127}));
connect(TSetDisRet, con.u_s)
connect(TDisRetSet, con.u_s)
annotation (Line(points={{-318,0},{-272,0},{-272,250},{-222,250}},
color={0,0,127}));
connect(senTBuiRet.T, con.u_m)
Expand All @@ -224,7 +224,7 @@ cooling network is at or above the minimum specified value. This configuration
naturally results in a fluctuating building supply tempearture.
</p>
<p align=\"center\">
<img src=\"modelica://Buildings/Resources/Images/Experimental/DHC/EnergyTransferStations/Cooling/Direct.PNG\" alt=\"DC ETS Direct\"/>
<img src=\"modelica://Buildings/Resources/Images/Experimental/DHC/EnergyTransferStations/Cooling/Direct.png\" alt=\"DC ETS Direct\"/>
</p>
<h4>
Reference
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ model PartialIndirect
parameter Real yMin=0.01
"Lower limit of output"
annotation (Dialog(group="PID controller"));
Modelica.Blocks.Interfaces.RealInput TSetBuiSup
Modelica.Blocks.Interfaces.RealInput TBuiSupSet
"Setpoint temperature for building supply"
annotation (Placement(transformation(extent={{-340,-20},{-300,20}})));
Modelica.Blocks.Interfaces.RealOutput Q_flow(
Expand Down Expand Up @@ -201,7 +201,7 @@ equation
annotation (Line(points={{-26,-193},{-26,-180},{-140,-180},{-140,-240},{-120,
-240},{-120,-232}},
color={0,0,127}));
connect(TSetBuiSup, con.u_s)
connect(TBuiSupSet, con.u_s)
annotation (Line(points={{-320,0},{-240,0},{-240,-220},{-132,-220}},
color={0,0,127}));
connect(con.y, conVal.y)
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -223,9 +223,11 @@ equation
annotation (Line(points={{282,-60},{290,-60},{290,-40},{320,-40}},
color={0,0,127}));
connect(hex.yValIso_actual[1],valIsoCon.y_actual)
annotation (Line(points={{-12,-251},{-40,-251},{-40,-113},{-55,-113}},color={0,0,127}));
annotation (Line(points={{-12,-251.5},{-40,-251.5},{-40,-113},{-55,-113}},
color={0,0,127}));
connect(hex.yValIso_actual[2],valIsoEva.y_actual)
annotation (Line(points={{-12,-253},{-16,-253},{-16,-240},{40,-240},{40,-113},{55,-113}},color={0,0,127}));
annotation (Line(points={{-12,-252.5},{-16,-252.5},{-16,-240},{40,-240},{40,
-113},{55,-113}}, color={0,0,127}));
connect(valIsoEva.port_b,colAmbWat.port_bDisSup)
annotation (Line(points={{50,-120},{30,-120},{30,-106},{20,-106}},color={0,127,255}));
connect(valIsoCon.port_b,colAmbWat.port_aDisSup)
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
PartialHeatPumpHeatExchanger
PartialParallel
Original file line number Diff line number Diff line change
Expand Up @@ -266,9 +266,11 @@ equation
connect(conSup.yAmb[1],borFie.u)
annotation (Line(points={{-238,25},{-200,25},{-200,-212},{-82,-212}},color={0,0,127}));
connect(valIsoCon.y_actual,borFie.yValIso_actual[1])
annotation (Line(points={{-55,-113},{-40,-113},{-40,-198},{-90,-198},{-90,-217},{-82,-217}},color={0,0,127}));
annotation (Line(points={{-55,-113},{-40,-113},{-40,-198},{-90,-198},{-90,
-216.5},{-82,-216.5}}, color={0,0,127}));
connect(valIsoEva.y_actual,borFie.yValIso_actual[2])
annotation (Line(points={{55,-113},{40,-113},{40,-200},{-88,-200},{-88,-215},{-82,-215}},color={0,0,127}));
annotation (Line(points={{55,-113},{40,-113},{40,-200},{-88,-200},{-88,
-215.5},{-82,-215.5}}, color={0,0,127}));
connect(borFie.PPum,totPPum.u[3])
annotation (Line(points={{-58,-216},{250,-216},{250,-62},{258,-62},{258,-60}},color={0,0,127}));
connect(zerPPum.y,totPPum.u[3])
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
within Buildings.Experimental.DHC.EnergyTransferStations.Combined;
model HeatPumpHeatExchangerDHWTank
"Model of a substation with heat pump for heating, heat pump with storage tank for domestic hot water, and compressor-less cooling"
extends
Buildings.Experimental.DHC.EnergyTransferStations.Combined.BaseClasses.PartialHeatPumpHeatExchanger(
volMix_b(nPorts=4),
volMix_a(nPorts=4));
Buildings.Fluid.Sources.Boundary_pT souDCW(
redeclare final package Medium = MediumBui,
use_T_in=true,
nPorts=1) if have_hotWat "Source for domestic cold water"
annotation (Placement(
transformation(
extent={{10,-10},{-10,10}},
rotation=180,
origin={-52,-56})));
Buildings.Experimental.DHC.EnergyTransferStations.Combined.Subsystems.HeatPumpDHWTank proHotWat(
redeclare final package Medium1 = MediumBui,
redeclare final package Medium2 = MediumSer,
final COP_nominal=COPHotWat_nominal,
TCon_nominal=THotWatSup_nominal,
TEva_nominal=TDisWatMin - dT_nominal,
QHotWat_flow_nominal=QHotWat_flow_nominal,
dT_nominal=dT_nominal,
final allowFlowReversal1=allowFlowReversalBui,
final allowFlowReversal2=allowFlowReversalSer,
dp1_nominal=6000,
dp2_nominal=6000,
datWatHea=datWatHea) if have_hotWat
"Subsystem for hot water production"
annotation (Placement(transformation(extent={{30,24},{50,44}})));
parameter Buildings.Experimental.DHC.Loads.HotWater.Data.GenericDomesticHotWaterWithHeatExchanger
datWatHea "Performance data"
annotation (Placement(transformation(extent={{36,48},{48,60}})));
Buildings.Experimental.DHC.Loads.HotWater.ThermostaticMixingValve theMixVal(
redeclare package Medium = MediumBui,
mMix_flow_nominal=QHotWat_flow_nominal/cpBui_default/(THotWatSup_nominal - TColWat_nominal))
if have_hotWat
"Thermostatic mixing valve"
annotation (Placement(transformation(extent={{-20,50},{-40,72}})));
Buildings.Experimental.DHC.EnergyTransferStations.BaseClasses.Junction dcwSpl(
redeclare final package Medium = MediumBui, final m_flow_nominal=
datWatHea.mDom_flow_nominal*{1,-1,-1})
"Splitter for domestic cold water"
annotation (Placement(transformation(
extent={{-10,-10},{10,10}},
rotation=90,
origin={-10,0})));
Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter gai(
k=1/QHotWat_flow_nominal) if have_hotWat
annotation (Placement(transformation(extent={{-80,50},{-60,70}})));
equation

connect(proHotWat.port_b2, volMix_b.ports[4])
annotation (Line(points={{30,28},{28,28},{28,0},{260,0},{260,-360}},
color={0,127,255}));
connect(proHotWat.PHea, PHeaTot.u[2]) annotation (Line(points={{52,37},{66,37},
{66,38},{268,38},{268,80.5}},
color={0,0,127}));
connect(proHotWat.PPum, PPumHeaTot.u[2]) annotation (Line(points={{52,34},{
176,34},{176,420.5},{188,420.5}},
color={0,0,127}));
connect(proHotWat.mEva_flow, masFloHeaTot.u[2]) annotation (Line(points={{52,31},
{68,31},{68,30},{256,30},{256,-139.5},{268,-139.5}},
color={0,0,127}));
connect(proHotWat.mEva_flow, masFloHea.u2) annotation (Line(points={{52,31},{
58,31},{58,-242},{-6,-242},{-6,-252}},
color={0,0,127}));
connect(proHotWat.port_a2, volMix_a.ports[4]) annotation (Line(points={{50,28},
{54,28},{54,20},{-260,20},{-260,-360}}, color={0,127,255}));
connect(souDCW.ports[1], dcwSpl.port_1) annotation (Line(points={{-42,-56},{
-10,-56},{-10,-10}},color={0,127,255}));
connect(dcwSpl.port_3, proHotWat.port_a1)
annotation (Line(points={{0,-6.66134e-16},{10,-6.66134e-16},{10,40},{30,40}},
color={0,127,255}));
connect(dcwSpl.port_2, theMixVal.port_col) annotation (Line(points={{-10,10},
{-10,52.2},{-20,52.2}}, color={0,127,255}));
connect(proHotWat.port_b1, theMixVal.port_hot) annotation (Line(points={{50,40},
{60,40},{60,80},{0,80},{0,56.6},{-20,56.6}},
color={0,127,255}));
connect(souDCW.T_in, TColWat) annotation (Line(points={{-64,-60},{-156,-60},{
-156,-80},{-320,-80}}, color={0,0,127}));
connect(THotWatSupSet, theMixVal.TMixSet) annotation (Line(points={{-320,-40},
{-32,-40},{-32,32},{-6,32},{-6,64},{-14,64},{-14,63.2},{-19,63.2}},
color={0,0,127}));
connect(QReqHotWat_flow, gai.u) annotation (Line(points={{-320,-120},{-288,-120},
{-288,60},{-82,60}},
color={0,0,127}));
connect(gai.y, theMixVal.yMixSet) annotation (Line(points={{-58,60},{-48,60},
{-48,78},{-6,78},{-6,70},{-12,70},{-12,69.8},{-19,69.8}},
color={0,0,127}));
connect(enaSHW.y, proHotWat.uEna) annotation (Line(points={{-118,80},{-108,80},
{-108,43},{28,43}}, color={255,0,255}));
annotation (
Documentation(info="<html>
<p>
This model uses the base energy transfer station defined in
<a href=\"modelica://Buildings.Experimental.DHC.EnergyTransferStations.Combined.BaseClasses.PartialHeatPumpHeatExchanger\">
Buildings.Experimental.DHC.EnergyTransferStations.Combined.BaseClasses.PartialHeatPumpHeatExchanger</a>.
</p>
<h4>Domestic Hot Water</h4>
<p>
Domestic hot water is produced using a dedicated water-to-water heat pump
with storage tank.
</p>
<p>
Heating is enabled based on the input signal <code>uSHW</code>
which is held for <i>15</i> minutes, meaning that,
when enabled, the mode remains active for at least <i>15</i> minutes and,
when disabled, the mode cannot be enabled again for at least <i>15</i> minutes.
The enable signal should be computed externally based
on a schedule (to lock out the system during off-hours), ideally in conjunction
with the number of requests or any other signal representative of the load.
</p>
<p>
When enabled,
</p>
<ul>
<li>
The heat pump and the evaporator and condenser hydronics are controlled
based on the principles described in
<a href=\"modelica://Buildings.Experimental.DHC.EnergyTransferStations.Combined.Subsystems.HeatPumpDHWTank\">
Buildings.Experimental.DHC.EnergyTransferStations.Combined.Subsystems.HeatPumpDHWTank</a>.
</li>
<li>
The mass flow rate of water leaving the domestic hot water heat exchanger is computed based on the domestic hot water
heating load (input <code>QReqHotWat_flow</code>) combined with the operation of a thermostatic
mixing valve used to mix down the temperature of hot water leaving the domestic hot water heat exchanger
to the temperature distributed to fixtures (parameter <code>THotWatSup_nominal</code>)
using domestic cold water at the cold water temperature (input <code>TColWat</code>).
The desired water flow rate leaving the thermostatic mixing valve
is determined according to the following equation:
<p align=\"center\" style=\"font-style:italic;\">
<code>QReqHotWat_flow</code> = m&#775; cp (<code>THotWatSup_nominal</code> - <code>TColWat</code>)
</p>
</li>
</ul>
</html>",
revisions="<html>
<ul>
<li>
September 13, 2023, by David Blum:<br/>
First implementation, extended from partial base class.
This is for
<a href=\"https://github.com/lbl-srg/modelica-buildings/issues/3063\">
issue 3063</a>.
</li>
</ul>
</html>"), Icon(graphics={
Rectangle(
extent={{-70,36},{-68,26}},
lineColor={0,0,255},
pattern=LinePattern.None,
fillColor={175,175,175},
fillPattern=FillPattern.Solid),
Rectangle(
extent={{-1.5,5.5},{1.5,-5.5}},
lineColor={0,0,255},
pattern=LinePattern.None,
fillColor={175,175,175},
fillPattern=FillPattern.Solid,
origin={-13.5,26.5},
rotation=90)}));
end HeatPumpHeatExchangerDHWTank;
Loading