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

Issue1576 Heat pump model integration #1628

Merged
merged 470 commits into from
May 10, 2024
Merged
Show file tree
Hide file tree
Changes from 63 commits
Commits
Show all changes
470 commits
Select commit Hold shift + click to select a range
003e251
fix html and remaining not useful names
Nov 10, 2023
f7dba66
Add data with currently working reference link, fix minor bad assignm…
Nov 10, 2023
1a19741
update description of m_flow warning
Nov 10, 2023
00fa364
adjust doc of bus and html
Nov 10, 2023
3b3d5d8
Revert protected include and &amp escape
Nov 10, 2023
90b755b
fix remaining errors and adjust unit in example
Nov 10, 2023
b8ff7a8
merged master
hcasperfu Nov 10, 2023
55d3735
updated results IBPSA.Fluid.Chillers
hcasperfu Nov 10, 2023
ec2c4b9
updated results IBPSA.Fluid.HeatPumps
hcasperfu Nov 10, 2023
762696d
html workaround
hcasperfu Nov 10, 2023
39de014
removed BOM
hcasperfu Nov 10, 2023
37a3b35
fix default value for COP and EER calculation
Nov 13, 2023
2eccb26
Add validation package for chiller carnot models, fix smaller model e…
Nov 13, 2023
82ffd5f
minor annotation fixes, fix missing input, add doc
Nov 14, 2023
6d92524
Add TableData2D.mo validation, fix table inputs
Nov 14, 2023
c431c83
fix BOM
Nov 14, 2023
8a57a87
Add comparative validation for heat pumps as well
Nov 14, 2023
bf879c6
fix heating carnot and change table values for heat pump
Nov 14, 2023
a844e48
updated results Fluid.Chillers
hcasperfu Nov 15, 2023
e173309
updated results Fluid.HeatPumps
hcasperfu Nov 15, 2023
7c20e52
fix T_start and wrong mos-names
Nov 16, 2023
aec9937
remove code duplicates
Nov 16, 2023
8c066b6
Add option for constant approach temperature, update doc
Nov 16, 2023
849f908
remove redundant Evaluate
Nov 16, 2023
c9ca834
Merge branch 'issue1576_heatPumpModelIntegration' of https://github.c…
Nov 16, 2023
970ffde
updated results Fluid.Chillers
hcasperfu Nov 16, 2023
eca9d7b
updated results Fluid.HeatPumps
hcasperfu Nov 16, 2023
8c59a23
excluded model from OMC
hcasperfu Nov 16, 2023
38719cf
minor text tweaks [ci skip]
hcasperfu Nov 17, 2023
cbd03f8
Update IBPSA/Fluid/Chillers/ModularReversible/RefrigerantCycle/BaseCl…
FWuellhorst Nov 17, 2023
dd48823
Update IBPSA/Fluid/HeatPumps/ModularReversible/ReversibleCarnotWithLo…
FWuellhorst Nov 17, 2023
6dfbb6b
Update IBPSA/Fluid/HeatPumps/ModularReversible/RefrigerantCycle/BaseC…
FWuellhorst Nov 17, 2023
1e6a5a9
Update IBPSA/Fluid/HeatPumps/ModularReversible/ReversibleCarnotWithLo…
FWuellhorst Nov 17, 2023
93b4f92
Update IBPSA/Fluid/HeatPumps/ModularReversible/RefrigerantCycle/Const…
FWuellhorst Nov 17, 2023
c7e1aa4
Update IBPSA/Fluid/HeatPumps/ModularReversible/RefrigerantCycle/Const…
FWuellhorst Nov 17, 2023
4df9e1c
Add changes based on review
Nov 17, 2023
e5c235b
fix missing change
Nov 17, 2023
d95342c
update reference results [ci skip]
Nov 17, 2023
0e79395
Update reference results
Nov 17, 2023
0e46338
minor text tweak [ci skip]
hcasperfu Nov 17, 2023
9b07fb9
removed trailing spaces
hcasperfu Nov 17, 2023
37680cd
removed trailing spaces
hcasperfu Nov 17, 2023
32436ce
[ci skip]
hcasperfu Nov 17, 2023
b3792b5
Update IBPSA/Fluid/HeatPumps/ModularReversible/UsersGuide.mo [ci skip]
FWuellhorst Nov 18, 2023
5d91624
Use default values for Boolean selectors to avoid errors in OM
Nov 18, 2023
97c5772
Corrected html
mwetter Dec 5, 2023
cb86666
Revised user's guide
mwetter Dec 5, 2023
63c8a7d
Changed 'Nominal Design' to 'Nominal condition' for consistency with …
mwetter Dec 5, 2023
bfb027c
Corrected capitalization
mwetter Dec 5, 2023
4120522
Added graphical annotations to records
mwetter Dec 5, 2023
ad6abfc
fix wrong path in html section, fix contribution link [ci skip]
FWuellhorst Dec 6, 2023
9c60776
Re-arrange models to avoid connections and blocks on the border [ci s…
FWuellhorst Dec 6, 2023
c6c73a3
move fuzzy logic to separate model, make preOnOff name clear and hope…
FWuellhorst Dec 6, 2023
1998b11
fix package.order, rm redundant limit
FWuellhorst Dec 6, 2023
0e262d4
Added contribution citation
mwetter Dec 6, 2023
18aa83c
Revised model and documentation
mwetter Dec 6, 2023
1507632
Revised documentation
mwetter Dec 6, 2023
114211a
Revised documentation
mwetter Dec 6, 2023
fe8645a
Revised models
mwetter Dec 6, 2023
1bc6f54
Reviewed implementation
mwetter Dec 6, 2023
df5cba1
Address review comments
FWuellhorst Dec 7, 2023
ad87d5e
fix hrefs
FWuellhorst Dec 7, 2023
7328299
fix hrefs [ci skip]
FWuellhorst Dec 7, 2023
6799294
Improved documentation
mwetter Dec 7, 2023
c4f97fe
Changed function to be differentiable
mwetter Dec 7, 2023
d5f8f2d
Corrected html
mwetter Dec 7, 2023
3d70615
Revised documentation
mwetter Dec 7, 2023
742fdd2
Refactored to use graphical implementation
mwetter Dec 7, 2023
67ac8ac
Reformatted file
mwetter Dec 7, 2023
5f26fa6
Removed spurios comment
mwetter Dec 7, 2023
03ceec8
Refactored to use graphical implementation, revised documentation
mwetter Dec 7, 2023
c312cb3
Replaced html with simple comma
mwetter Dec 7, 2023
a6aa494
Corrected html
mwetter Dec 7, 2023
379aa35
Removed BOM
mwetter Dec 7, 2023
ec91e2b
Add comment to fuzzy logic model
FWuellhorst Dec 8, 2023
7ba6205
Set default y_nominal to 1, add units and assertion
FWuellhorst Dec 8, 2023
ff7b3ee
clarify comment
FWuellhorst Dec 8, 2023
e70b43f
fix unit and description
FWuellhorst Dec 8, 2023
8290899
fix diagrams in examples
FWuellhorst Dec 8, 2023
66cbefd
Flipped hysteresis
mwetter Dec 8, 2023
a887663
Capitalized Carnot as it is a name
mwetter Dec 8, 2023
8a51a57
Corrected typo
mwetter Dec 8, 2023
c7d6bb3
Removed overlapping text
mwetter Dec 8, 2023
b44cc7e
Enabled LargeScaleWaterToWater_OneRoomRadiator for OpenModelica
mwetter Dec 8, 2023
3463a58
Merge branch 'master' into issue1576_heatPumpModelIntegration
mwetter Dec 8, 2023
6b387a2
Fix wrong use of y_nominal
FWuellhorst Dec 10, 2023
5e487dd
Added units to EER_nominal
mwetter Dec 12, 2023
6784599
Add units to COP as well
FWuellhorst Dec 14, 2023
4a4fdef
fix bad name ySet_nominal
FWuellhorst Dec 14, 2023
9e2f342
Rename quality grade to CarnotEffectiveness
FWuellhorst Dec 14, 2023
b1afe62
translate excel sheet, move to correct path
FWuellhorst Dec 14, 2023
9951b0f
rm BOM
FWuellhorst Dec 14, 2023
9d507e1
Remove non-existing plot variable due to separation of Carnot COP and…
FWuellhorst Dec 15, 2023
8715984
Added graphical annotation for table data
mwetter Dec 15, 2023
8034742
Added graphical annotation for table data
mwetter Dec 15, 2023
2a65fcf
Set displayUnit to Pa
mwetter Dec 15, 2023
504e87f
Corrected punctuation
mwetter Dec 15, 2023
ce3ace2
Formatted file
mwetter Dec 15, 2023
6675fdb
Corrected formatting
mwetter Dec 15, 2023
53439fd
Expanded comment to state what it is used for
mwetter Dec 15, 2023
cb8f1af
Added model name to assertion
mwetter Dec 15, 2023
1c21b47
Add better doc for y_nominal
FWuellhorst Dec 18, 2023
b8ad9b6
rm unnecessary defaults
FWuellhorst Dec 18, 2023
9066da6
improve doc and warning on datSou
FWuellhorst Dec 18, 2023
411baa9
fix BOM
FWuellhorst Dec 18, 2023
b881729
Formatted file
mwetter Dec 18, 2023
18230fd
Removed white space
mwetter Dec 18, 2023
d374bae
Changed pumps to use pre-configured pumps
mwetter Dec 18, 2023
3904802
Set displayUnit
mwetter Dec 18, 2023
d379aa0
Formatted file
mwetter Dec 18, 2023
2664ca2
Formatted file
mwetter Dec 18, 2023
f1e0d9b
Added icon
mwetter Dec 18, 2023
b7b0c0c
Set cp and rho as function of media
mwetter Dec 18, 2023
ade8c9a
Removed BOM
mwetter Dec 18, 2023
519d5df
Merge branch 'issue1576_heatPumpModelIntegration' into issue1576_heat…
mwetter Dec 18, 2023
76726b2
Add cpCon and cpEva to PartialRefrigerantCycle.mo, as it will be usef…
FWuellhorst Dec 19, 2023
92cffea
Use 200 Pa dp_nominal for air source devices
FWuellhorst Dec 19, 2023
bd8af39
Add better warnings for possibly wrong mass flow rates in 2D table data
FWuellhorst Dec 19, 2023
e2316ea
fix bad use of QCoo_flow_nominal and final setting of scaFac when com…
FWuellhorst Dec 19, 2023
e5d0b7b
fix bad use of QCoo_flow_nominal and final setting of scaFac when com…
FWuellhorst Dec 19, 2023
79c5a22
remove defaults and anti-freeze for air-source, fix doc
FWuellhorst Dec 19, 2023
eb43b15
Update reference results
FWuellhorst Dec 19, 2023
b40de93
Move required parameters to General tab and revisit other group and t…
FWuellhorst Dec 20, 2023
4ebe280
Merge pull request #1820 from ibpsa/issue1576_heatPumpModelIntegratio…
FWuellhorst Dec 20, 2023
3354350
Grouped parameters for condenser and evaporator, set dTEva_nominal = …
mwetter Dec 21, 2023
94aa25c
Grouped parameters for condenser and evaporator
mwetter Dec 21, 2023
be66e43
Negate tables
FWuellhorst Dec 22, 2023
0770750
add missing defaults in case of NoCooling / Heating
FWuellhorst Dec 22, 2023
0dde1f8
Negate ConstantCarnotEffectiveness.mo
FWuellhorst Dec 22, 2023
ced0034
Merge branch 'issue1576_heatPumpModelIntegration_removeCp_and_rho_par…
FWuellhorst Dec 22, 2023
40038dc
remote negate in RefrigerantCycle.mo and fix bad connection of con to…
FWuellhorst Dec 22, 2023
627a3ee
Split QUse to QHea and QCoo, fix balance
FWuellhorst Dec 22, 2023
44e4deb
fix error in Carnot approach due to negative sign
FWuellhorst Dec 28, 2023
623f00a
fix BOM
FWuellhorst Dec 28, 2023
a156827
update reference results
FWuellhorst Jan 3, 2024
e14ec6d
negate table data in validation model as well
FWuellhorst Jan 6, 2024
22b9281
add negative gain for EER calculation input
FWuellhorst Jan 6, 2024
b1be5e4
Merge branch 'master' into issue1576_heatPumpModelIntegration
mwetter Jan 10, 2024
6391ef7
Added LargeScaleWaterToWater_OneRoomRadiator to exclude list
mwetter Jan 10, 2024
b3f932a
make reverse models conditional
FWuellhorst Jan 11, 2024
6345059
Merge branch 'issue1576_heatPumpModelIntegration' of https://github.c…
FWuellhorst Jan 11, 2024
c470fdc
fix missing if
FWuellhorst Jan 15, 2024
6054160
add outputs, rename .mos files
FWuellhorst Jan 15, 2024
2a31416
rename reference results as well
FWuellhorst Jan 15, 2024
1ce865e
fix align of changed inputs [ci skip]
FWuellhorst Jan 15, 2024
88773e1
Removed final in displayUnit
mwetter Jan 15, 2024
eab10d6
Corrected format
mwetter Jan 15, 2024
5ad5b5e
add dummy defaults to avoid error on check for partial models
FWuellhorst Jan 15, 2024
8f04ae5
Merge branch 'issue1576_heatPumpModelIntegration' of https://github.c…
FWuellhorst Jan 15, 2024
edecd1f
Removed more final displayUnit entries
mwetter Jan 15, 2024
fb7c08d
Merge branch 'issue1576_heatPumpModelIntegration' of github.com:ibpsa…
mwetter Jan 15, 2024
b88d559
Removed all 'kW' declarations
mwetter Jan 15, 2024
cafa91c
Merge pull request #1828 from ibpsa/issue1576_heatPumpModelIntegratio…
FWuellhorst Jan 15, 2024
9b465b2
fix inlet and outlet assign in TableData2D
FWuellhorst Jan 16, 2024
585cc1a
move COP and EER calculation to top level
FWuellhorst Jan 16, 2024
857475a
Merge branch 'issue1576_heatPumpModelIntegration' of https://github.c…
FWuellhorst Jan 16, 2024
43a1c30
move model
FWuellhorst Jan 16, 2024
0e8ea23
revert wrong move, add Q1 and Q2_flow
FWuellhorst Jan 17, 2024
4a67187
fix connect to optional connector
FWuellhorst Jan 20, 2024
099452e
Update reference results
FWuellhorst Jan 22, 2024
cfa9252
Improve graphics view
FWuellhorst Feb 1, 2024
2485150
Improve control in all examples to avoid frequent switches and enable…
FWuellhorst Feb 1, 2024
09a25fb
fix BOM
FWuellhorst Feb 1, 2024
f593304
Use preconfigured pumps to avoid warnings about unspecified generic c…
FWuellhorst Feb 1, 2024
180c455
fix pedantic warnings aside from conditionally enabled coo
FWuellhorst Feb 2, 2024
ad6789d
Update reference results
FWuellhorst Feb 2, 2024
a33e510
fix BOM [ci skip]
FWuellhorst Feb 2, 2024
3704dd0
remove conditional reverse operation as it leads to pedantic warnings…
FWuellhorst Feb 2, 2024
81b7ce5
Update reference results
FWuellhorst Feb 2, 2024
4fdd8d3
fix wrong cp in table data
FWuellhorst Feb 3, 2024
2ca2e77
Change dTEva_nominal as an informative parameter
FWuellhorst Feb 5, 2024
1928c22
remove redundant safety record
FWuellhorst Feb 5, 2024
c445e0a
fix connections of OperationalEnvelope.mo in reversed mode
FWuellhorst Feb 28, 2024
adc727d
rework nominal condition approach for reversible operation, fix minor…
FWuellhorst Feb 29, 2024
02311e8
fix BOMs
FWuellhorst Feb 29, 2024
cdb8a67
fix wrong annotation
FWuellhorst Mar 1, 2024
cb5e624
add yMea as an output
FWuellhorst Mar 2, 2024
38af9d1
rm BOM
FWuellhorst Mar 4, 2024
9a1e90c
updated results
hcasperfu Mar 6, 2024
57854a5
fix bad unit
FWuellhorst Mar 11, 2024
fc24e79
Merge branch 'issue1576_heatPumpModelIntegration' of https://github.c…
FWuellhorst Mar 11, 2024
dc34155
Add generic pressure curve to avoid OM error
FWuellhorst Mar 11, 2024
b3baaa9
Revert "Add generic pressure curve to avoid OM error"
hcasperfu Mar 11, 2024
3090e29
updated results
hcasperfu Mar 11, 2024
757f127
added model to exclusion list
hcasperfu Mar 13, 2024
eaa8898
fixed figure size
hcasperfu Mar 14, 2024
21d6833
fixed figure positions
hcasperfu Mar 14, 2024
5fe814d
add second scaFac [skip ci]
FWuellhorst Mar 16, 2024
3c244ab
Merge branch 'issue1576_heatPumpModelIntegration' of https://github.c…
FWuellhorst Mar 16, 2024
d7b356b
Create partial TableData2D.mo model as requested, make LargeScaleWate…
FWuellhorst Apr 3, 2024
7e0eedb
add warnings about different scalings, rm default cooling values
FWuellhorst Apr 3, 2024
3456093
Update documentation for new approach
FWuellhorst Apr 3, 2024
4efca2b
fix BOM
FWuellhorst Apr 3, 2024
59b9079
rm OM exclude
FWuellhorst Apr 3, 2024
0b18dd8
rn examples
FWuellhorst Apr 3, 2024
8577123
rm reversible from model names
FWuellhorst Apr 3, 2024
18f29ba
fix bad extend
FWuellhorst Apr 3, 2024
d8379f8
fix bad rename of mos script in move_class
FWuellhorst Apr 5, 2024
63fb367
update reference results
FWuellhorst Apr 5, 2024
da49334
add models to exclude list as discussed in working group meeting
FWuellhorst Apr 9, 2024
017ab7e
fix filename in conf.yml
FWuellhorst Apr 10, 2024
de9596f
Calculate COP and EER with inversedXReg function
FWuellhorst Apr 12, 2024
9f4043e
address minor review comments
FWuellhorst Apr 12, 2024
35e0c26
fix BOM
FWuellhorst Apr 12, 2024
89cf7cd
Fix amb and use side in OperationalEnvelope
FWuellhorst Apr 12, 2024
471df69
fix BOM
FWuellhorst Apr 12, 2024
ca9f443
fix order of conf.yml [ci skip]
FWuellhorst Apr 15, 2024
7ac3441
Update reference results
FWuellhorst Apr 15, 2024
1cbfb1d
Update default and doc about reversibility
FWuellhorst Apr 15, 2024
274e3cd
Make redeclarations replaceable
FWuellhorst Apr 15, 2024
8a48ed9
Move TableData2D.mo
FWuellhorst Apr 15, 2024
91cc849
fix bad m_flow assignment
FWuellhorst Apr 15, 2024
0590633
fix BOM
FWuellhorst Apr 15, 2024
7fea166
remove default binding, update UsersGuide.mo with load and source, up…
FWuellhorst Apr 17, 2024
b2fe1ae
fix BOM [ci skip]
FWuellhorst Apr 17, 2024
540e0a4
Update UsersGuide.mo and docstring [ci skip]
FWuellhorst Apr 17, 2024
326dfde
fix missing defaults and enable annotation [ci skip]
FWuellhorst Apr 17, 2024
733433f
Update Reference results
FWuellhorst Apr 17, 2024
1f024ec
Resized connectors to be the same size, added labels
mwetter May 1, 2024
8bee8a6
Changed layout, added icons
mwetter May 1, 2024
c4ea984
Added icon
mwetter May 1, 2024
72a1550
Merge branch 'master' into issue1576_heatPumpModelIntegration
mwetter May 1, 2024
62395e7
Added comment
mwetter May 1, 2024
371d4eb
Removed line
mwetter May 1, 2024
433a2e4
Added full package name
mwetter May 1, 2024
9b9cf15
Removed non-used source block
mwetter May 1, 2024
be50582
Removed connector to itself
mwetter May 1, 2024
6c196f9
Removed use of string connectors
mwetter May 2, 2024
12cea1d
Changed datSou to devIde for consistency with data record naming
mwetter May 2, 2024
6ec5a11
Added parameter allowDifferentDeviceIdentifiers
mwetter May 2, 2024
a4b716c
Fixed formatting
mwetter May 2, 2024
af3cdc2
Corrected syntax error
mwetter May 2, 2024
be08c48
Corrected location of protected keyword
mwetter May 2, 2024
2920a6f
Merge branch 'issue1575_heatPumpModelIntegration' into issue1576_heat…
mwetter May 2, 2024
8111280
Set new boolean flag
mwetter May 2, 2024
ba0b499
Set new boolean flag
mwetter May 2, 2024
f02cce3
Removed checkbox
mwetter May 2, 2024
b0e18d3
Merge pull request #1872 from ibpsa/issue1576_heatPumpModelIntegratio…
mwetter May 2, 2024
4ad4543
Corrected typo (and line endings)
mwetter May 3, 2024
22bffa8
Corrected grammar
mwetter May 3, 2024
d9f33d4
Changed limWarDifSca to ratio rather than percentage, and renamed to …
mwetter May 3, 2024
fb3c61f
Updated user guide regarding scaling
mwetter May 3, 2024
4446027
Added icon
mwetter May 3, 2024
a866e71
Added icon
mwetter May 3, 2024
681efd5
Removed InflowTemperatureSensor.mo
mwetter May 3, 2024
a1f2e08
Changed layout
mwetter May 3, 2024
842406c
fix QUse usage
FWuellhorst May 6, 2024
645880c
change scaFac doc
FWuellhorst May 6, 2024
6d41c6c
Removed whitespace
mwetter May 8, 2024
83fc750
Merge branch 'master' into issue1576_heatPumpModelIntegration
mwetter May 8, 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
192 changes: 192 additions & 0 deletions IBPSA/Fluid/Chillers/BaseClasses/BlackBoxVapourCompressionCycle.mo
Original file line number Diff line number Diff line change
@@ -0,0 +1,192 @@
within IBPSA.Fluid.Chillers.BaseClasses;
model BlackBoxVapourCompressionCycle
"Blackbox model of refrigerant cycle of a chiller"
extends
IBPSA.Fluid.HeatPumps.BaseClasses.PartialBlackBoxVapourCompressionCycle;
// Setting all values to zero avoids errors when checking this model.
// The values are correctly propagated by the heat pump / chiller model anyway
replaceable model BlackBoxChillerCooling =
IBPSA.Fluid.Chillers.BlackBoxData.BaseClasses.PartialChillerBlackBox (
QUse_flow_nominal=0,
QUseBlaBox_flow_nominal=0,
scaFac=0,
TCon_nominal=0,
TEva_nominal=0,
dTCon_nominal=0,
dTEva_nominal=0,
mCon_flow_nominal=0,
mEva_flow_nominal=0,
y_nominal=0)
constrainedby
IBPSA.Fluid.Chillers.BlackBoxData.BaseClasses.PartialChillerBlackBox
"Replaceable model for black-box model of a chiller in main operation mode"
annotation (choicesAllMatching=true);

replaceable model BlackBoxChillerHeating =
IBPSA.Fluid.HeatPumps.BlackBoxData.BaseClasses.NoHeating
constrainedby
IBPSA.Fluid.HeatPumps.BlackBoxData.BaseClasses.PartialHeatPumpBlackBox
"Replaceable model for black-box model of a chiller in reversible operation mode"
annotation (Dialog(enable=use_rev),choicesAllMatching=true);

BlackBoxChillerCooling blaBoxChiCoo
annotation (Placement(transformation(extent={{21,40},{60,80}},rotation=0)));
BlackBoxChillerHeating blaBoxChiHea
annotation (Placement(transformation(extent={{-80,38},{-39,80}}, rotation=0)));

Modelica.Blocks.Math.Gain gainEva(final k=-1)
"Negate QEva to match definition of heat flow direction" annotation (Placement(
transformation(extent={{-10,-10},{10,10}},
rotation=180,
origin={-10,12})));
Modelica.Blocks.Math.Gain gainCon(final k=-1) if use_rev
"Negate QCon to match definition of heat flow direction" annotation (
Placement(transformation(
extent={{-10,-10},{10,10}},
rotation=0,
origin={30,-8})));
protected
IBPSA.Utilities.IO.Strings.StringPassThrough strPasThr
"String pass through to enable conditional string data";
IBPSA.Utilities.IO.Strings.ConstStringSource conStrSou(
final k=blaBoxChiCoo.datSou) if not use_rev
"Constant String data source";
initial equation
assert(
strPasThr.y == blaBoxChiCoo.datSou,
"Data sources for reversible operation are not equal!
Only continue if this is intended",
AssertionLevel.warning);
equation
connect(conStrSou.y, strPasThr.u);
connect(blaBoxChiHea.datSouOut, strPasThr.u);
connect(blaBoxChiCoo.Pel, switchPel.u1) annotation (Line(points={{40.5,38},{
40,38},{40,8},{8,8},{8,-58}},
color={0,0,127}));
connect(blaBoxChiHea.Pel, switchPel.u3) annotation (Line(
points={{-59.5,35.9},{-58,35.9},{-58,26},{-24,26},{-24,-58},{-8,-58}},
color={0,0,127},
pattern=LinePattern.Dash));
connect(constZero.y, switchPel.u3) annotation (Line(points={{-59,-70},{-34,-70},
{-34,-58},{-8,-58}},
color={0,0,127},
pattern=LinePattern.Dash));
connect(constZero.y, switchQEva.u3) annotation (Line(
points={{-59,-70},{-52,-70},{-52,-8},{-58,-8}},
color={0,0,127},
pattern=LinePattern.Dash));
connect(constZero.y, switchQCon.u3) annotation (Line(points={{-59,-70},{-52,-70},
{-52,-38},{58,-38},{58,-8}}, color={0,0,127},
pattern=LinePattern.Dash));
connect(sigBus, blaBoxChiHea.sigBus) annotation (Line(
points={{0,102},{0,92},{-59.295,92},{-59.295,80.84}},
color={255,204,51},
thickness=0.5));
connect(sigBus, blaBoxChiCoo.sigBus) annotation (Line(
points={{0,102},{0,92},{40.695,92},{40.695,80.8}},
color={255,204,51},
thickness=0.5));

connect(blaBoxChiCoo.QEva_flow, gainEva.u) annotation (Line(points={{56.1,38},
{56.1,26},{14,26},{14,12},{2,12}}, color={0,0,127}));
connect(gainEva.y, switchQEva.u1) annotation (Line(points={{-21,12},{-50,12},
{-50,8},{-58,8}}, color={0,0,127}));
connect(blaBoxChiHea.QEva_flow, switchQEva.u3) annotation (Line(
points={{-43.1,35.9},{-42,35.9},{-42,-10},{-52,-10},{-52,-8},{-58,-8}},
color={0,0,127},
pattern=LinePattern.Dash));
connect(blaBoxChiHea.QCon_flow, gainCon.u) annotation (Line(
points={{-75.9,35.9},{-74,35.9},{-74,20},{-34,20},{-34,-8},{18,-8}},
color={0,0,127},
pattern=LinePattern.Dash));
connect(gainCon.y, switchQCon.u3)
annotation (Line(points={{41,-8},{58,-8}}, color={0,0,127},
pattern=LinePattern.Dash));
connect(blaBoxChiCoo.QCon_flow, switchQCon.u1) annotation (Line(points={{24.9,38},
{24.9,36},{24,36},{24,24},{50,24},{50,8},{58,8}},
color={0,0,127}));
annotation (Icon(coordinateSystem(preserveAspectRatio=false), graphics={
Rectangle(
extent={{-100,100},{100,-100}},
lineColor={238,46,47},
fillColor={0,0,0},
fillPattern=FillPattern.Solid),
Ellipse(
extent={{-24,88},{22,44}},
lineColor={28,108,200},
lineThickness=0.5),
Line(
points={{-16,82},{20,74}},
color={28,108,200},
thickness=0.5),
Line(
points={{-18,52},{20,58}},
color={28,108,200},
thickness=0.5),
Rectangle(
extent={{-98,40},{-60,-28}},
lineColor={28,108,200},
lineThickness=0.5),
Line(
points={{-20,-60},{-20,-70},{-20,-80},{20,-60},{20,-80},{-20,-60}},
color={28,108,200},
thickness=0.5),
Line(
points={{-122,34},{-66,34},{-82,10},{-66,-22},{-120,-22}},
color={28,108,200},
thickness=0.5),
Rectangle(
extent={{60,40},{98,-28}},
lineColor={28,108,200},
lineThickness=0.5),
Line(
points={{120,34},{64,34},{80,10},{64,-22},{118,-22}},
color={28,108,200},
thickness=0.5),
Line(
points={{-80,40},{-80,68},{-24,68}},
color={28,108,200},
thickness=0.5),
Line(
points={{22,66},{80,66},{80,40}},
color={28,108,200},
thickness=0.5),
Line(
points={{78,-28},{78,-70}},
color={28,108,200},
thickness=0.5),
Line(
points={{78,-70},{62,-70},{20,-70}},
color={28,108,200},
thickness=0.5),
Line(
points={{-80,-26},{-80,-68},{-20,-68}},
color={28,108,200},
thickness=0.5),
Text(
extent={{-151,147},{149,107}},
textColor={0,0,255},
fillPattern=FillPattern.HorizontalCylinder,
fillColor={0,127,255},
textString="%name")}), Diagram(coordinateSystem(preserveAspectRatio=false)),
Documentation(revisions="<html><ul>
<li>
<i>May 22, 2019&#160;</i> by Julian Matthes:<br/>
First implementation (see issue <a href=
\"https://github.com/RWTH-EBC/AixLib/issues/715\">AixLib #715</a>)
</li>
</ul>
</html>", info="<html>
<p>This black-box model represents the refrigerant cycle of a chiller.
Used in <a href=\"modelica://IBPSA.Fluid.Chillers.Chiller\">IBPSA.Fluid.Chillers.Chiller</a>,
this model serves the simulation of a
reversible chiller. Thus, data both of chillers and heat pumps can be used to
calculate the three relevant values <code>P_el</code>, <code>QCon</code> and
<code>QEva</code>. The <code>mode</code> of the chiller is used to switch
between the black-box model of the chiller and the heat pump. </p>
<p>The user can choose between different types of black-box model or implement
a new black-box model by extending from
<a href=\"modelica://IBPSA.Fluid.Chillers.BlackBoxData.BaseClasses.PartialChillerBlackBox\">
IBPSA.Fluid.Chillers.BlackBoxData.BaseClasses.PartialChillerBlackBox</a>. </p>
</html>"));
end BlackBoxVapourCompressionCycle;
20 changes: 10 additions & 10 deletions IBPSA/Fluid/Chillers/BaseClasses/Carnot.mo
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ partial model Carnot
parameter Modelica.Units.SI.HeatFlowRate QCon_flow_nominal(min=0)
"Nominal heating flow rate" annotation (Dialog(group="Nominal condition"));

parameter Modelica.Units.SI.TemperatureDifference dTEva_nominal(final max=0)
= -10 "Temperature difference evaporator outlet-inlet"
parameter Modelica.Units.SI.TemperatureDifference dTEva_nominal(final max=0)=
-10 "Temperature difference evaporator outlet-inlet"
FWuellhorst marked this conversation as resolved.
Show resolved Hide resolved
annotation (Dialog(group="Nominal condition"));
parameter Modelica.Units.SI.TemperatureDifference dTCon_nominal(final min=0)
= 10 "Temperature difference condenser outlet-inlet"
parameter Modelica.Units.SI.TemperatureDifference dTCon_nominal(final min=0)=
10 "Temperature difference condenser outlet-inlet"
annotation (Dialog(group="Nominal condition"));

// Efficiency
Expand Down Expand Up @@ -52,12 +52,12 @@ partial model Carnot
"Pressure difference over evaporator"
annotation (Dialog(group="Nominal condition"));

parameter Modelica.Units.SI.TemperatureDifference TAppCon_nominal(min=0) =
parameter Modelica.Units.SI.TemperatureDifference TAppCon_nominal(min=0)=
if cp1_default < 1500 then 5 else 2
"Temperature difference between refrigerant and working fluid outlet in condenser"
annotation (Dialog(group="Efficiency"));

parameter Modelica.Units.SI.TemperatureDifference TAppEva_nominal(min=0) =
parameter Modelica.Units.SI.TemperatureDifference TAppEva_nominal(min=0)=
if cp2_default < 1500 then 5 else 2
"Temperature difference between refrigerant and working fluid outlet in evaporator"
annotation (Dialog(group="Efficiency"));
Expand Down Expand Up @@ -137,12 +137,12 @@ partial model Carnot
x2=TConAct - TEvaAct,
deltaX=0.25) "Carnot efficiency";

Modelica.Units.SI.Temperature TConAct(start=TCon_nominal + TAppCon_nominal)
= Medium1.temperature(staB1) + QCon_flow/QCon_flow_nominal*TAppCon_nominal
Modelica.Units.SI.Temperature TConAct(start=TCon_nominal + TAppCon_nominal)=
Medium1.temperature(staB1) + QCon_flow/QCon_flow_nominal*TAppCon_nominal
"Condenser temperature used to compute efficiency, taking into account pinch temperature between fluid and refrigerant";

Modelica.Units.SI.Temperature TEvaAct(start=TEva_nominal - TAppEva_nominal)
= Medium2.temperature(staB2) - QEva_flow/QEva_flow_nominal*TAppEva_nominal
Modelica.Units.SI.Temperature TEvaAct(start=TEva_nominal - TAppEva_nominal)=
Medium2.temperature(staB2) - QEva_flow/QEva_flow_nominal*TAppEva_nominal
"Evaporator temperature used to compute efficiency, taking into account pinch temperature between fluid and refrigerant";

protected
Expand Down
4 changes: 2 additions & 2 deletions IBPSA/Fluid/Chillers/BaseClasses/PartialCarnot_y.mo
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,9 @@ partial model PartialCarnot_y
annotation (Placement(transformation(extent={{-140,70},{-100,110}})));

protected
Modelica.Units.SI.HeatFlowRate QCon_flow_internal(start=QCon_flow_nominal) =
Modelica.Units.SI.HeatFlowRate QCon_flow_internal(start=QCon_flow_nominal)=
P - QEva_flow_internal "Condenser heat input";
Modelica.Units.SI.HeatFlowRate QEva_flow_internal(start=QEva_flow_nominal) =
Modelica.Units.SI.HeatFlowRate QEva_flow_internal(start=QEva_flow_nominal)=
if COP_is_for_cooling then -COP*P else (1 - COP)*P "Evaporator heat input";

Modelica.Blocks.Sources.RealExpression yEva_flow_in(
Expand Down
1 change: 1 addition & 0 deletions IBPSA/Fluid/Chillers/BaseClasses/package.order
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
BlackBoxVapourCompressionCycle
Carnot
PartialCarnot_T
PartialCarnot_y
41 changes: 41 additions & 0 deletions IBPSA/Fluid/Chillers/BlackBoxData/BaseClasses/NoCooling.mo
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
within IBPSA.Fluid.Chillers.BlackBoxData.BaseClasses;
model NoCooling
"No Cooling. Used to avoid warnings about partial model must be replaced"
extends PartialChillerBlackBox(
redeclare final IBPSA.Fluid.HeatPumps.BlackBoxData.Frosting.NoFrosting
iceFacCalc,
datSou="",
QUseBlaBox_flow_nominal=0,
scaFac=0,
y_nominal=0,
mEva_flow_nominal=1,
mCon_flow_nominal=1,
dTEva_nominal=0,
dTCon_nominal=0,
TEva_nominal=273.15,
TCon_nominal=273.15,
QUse_flow_nominal=0);
Modelica.Blocks.Sources.Constant const(final k=0)
annotation (Placement(transformation(extent={{-88,16},{-68,36}})));
FWuellhorst marked this conversation as resolved.
Show resolved Hide resolved
equation
connect(const.y, feedbackHeatFlowEvaporator.u1) annotation (Line(points={{-67,
26},{-62,26},{-62,4},{-94,4},{-94,-10},{-78,-10}}, color={0,0,127}));
connect(const.y, feedbackHeatFlowEvaporator.u2) annotation (Line(points={{-67,
26},{-62,26},{-62,4},{-94,4},{-94,-10},{-84,-10},{-84,-24},{-70,-24},{
-70,-18}}, color={0,0,127}));
connect(const.y, calcRedQCon.u2) annotation (Line(points={{-67,26},{-62,26},{-62,
4},{64,4},{64,-58}}, color={0,0,127}));
connect(const.y, Pel)
annotation (Line(points={{-67,26},{0,26},{0,-110}}, color={0,0,127}));
annotation (Documentation(info="<html>
<p>Model to use to avoid warnings about partial model must be replaced.
Using this model, the chiller will always be off.</p>
</html>", revisions="<html><ul>
<li>
<i>October 2, 2022</i> by Fabian Wuellhorst:<br/>
First implementation (see issue <a href=
\"https://github.com/ibpsa/modelica-ibpsa/issues/1576\">#1576</a>)
</li>
</ul>
</html>"));
end NoCooling;
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
within IBPSA.Fluid.Chillers.BlackBoxData.BaseClasses;
partial model PartialChillerBlackBox
"Partial black-box model of vapour compression cycles used for chiller applications"
extends IBPSA.Fluid.HeatPumps.BlackBoxData.BaseClasses.PartialBlackBox;

equation
connect(iceFacCalc.iceFac, sigBus.iceFacChiMea) annotation (Line(points={{
-79,-42},{-72,-42},{-72,-26},{-102,-26},{-102,104},{1,104}}, color=
{0,0,127}), Text(
string="%second",
index=1,
extent={{6,3},{6,3}},
horizontalAlignment=TextAlignment.Left));
annotation (Icon(graphics={Rectangle(
extent={{-100,-100},{100,100}},
lineColor={0,0,255},
fillColor={255,255,255},
fillPattern=FillPattern.Solid), Text(
extent={{-57.5,-35},{57.5,35}},
lineColor={0,0,255},
pattern=LinePattern.Dash,
textString="%name", origin={-3.5,-15},
rotation=180)}),
Documentation(
info="<html>
<p>Partial model for calculation of electrical power <code>P_el</code>,
FWuellhorst marked this conversation as resolved.
Show resolved Hide resolved
condenser heat flow <code>QCon</code> and evaporator heat flow <code>QEva</code>
based on the values in the sigBus for a chiller.</p>
</html>"));
end PartialChillerBlackBox;
31 changes: 31 additions & 0 deletions IBPSA/Fluid/Chillers/BlackBoxData/BaseClasses/package.mo
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
within IBPSA.Fluid.Chillers.BlackBoxData;
package BaseClasses "Package with partial classes of performance Data"
annotation (Icon(graphics={
Rectangle(
lineColor={200,200,200},
fillColor={248,248,248},
fillPattern=FillPattern.HorizontalCylinder,
extent={{-100.0,-100.0},{100.0,100.0}},
radius=25.0),
Rectangle(
lineColor={128,128,128},
extent={{-100.0,-100.0},{100.0,100.0}},
radius=25.0),
Ellipse(
extent={{-30.0,-30.0},{30.0,30.0}},
lineColor={128,128,128},
fillColor={255,255,255},
fillPattern=FillPattern.Solid)}), Documentation(revisions="<html><ul>
<li>
<i>May 22, 2019&#160;</i> by Julian Matthes:<br/>
First implementation (see issue <a href=
\"https://github.com/RWTH-EBC/AixLib/issues/715\">AixLib #715</a>)
</li>
</ul>
</html>", info="<html>
<p>
This package contains base classes for the package <a href=
\"IBPSA.Fluid.Chillers.BlackBoxData\">IBPSA.Fluid.Chillers.BlackBoxData</a>.
</p>
</html>"));
end BaseClasses;
2 changes: 2 additions & 0 deletions IBPSA/Fluid/Chillers/BlackBoxData/BaseClasses/package.order
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
NoCooling
PartialChillerBlackBox
Loading