From 0f3480f6ffd43eda693e085307b5d81f4510eca9 Mon Sep 17 00:00:00 2001
From: "Philipp.Schmitz3"
Date: Wed, 15 Feb 2023 14:02:52 +0100
Subject: [PATCH 01/23] fixed dead link and added message
---
BESMod/Systems/Control/NoControl.mo | 3 +++
BESMod/UsersGuide/Conventions/package.mo | 12 +++---------
BESMod/UsersGuide/GettingStarted/package.mo | 2 +-
3 files changed, 7 insertions(+), 10 deletions(-)
diff --git a/BESMod/Systems/Control/NoControl.mo b/BESMod/Systems/Control/NoControl.mo
index 2cead548..3113f62d 100644
--- a/BESMod/Systems/Control/NoControl.mo
+++ b/BESMod/Systems/Control/NoControl.mo
@@ -1,4 +1,7 @@
within BESMod.Systems.Control;
model NoControl "No HEMS control"
extends BaseClasses.PartialControl;
+ annotation (Documentation(info="
+When no supervisory controll is needed, this class is meant to be selected.
+"));
end NoControl;
diff --git a/BESMod/UsersGuide/Conventions/package.mo b/BESMod/UsersGuide/Conventions/package.mo
index 6d2ca277..865a96f9 100644
--- a/BESMod/UsersGuide/Conventions/package.mo
+++ b/BESMod/UsersGuide/Conventions/package.mo
@@ -2,14 +2,8 @@ within BESMod.UsersGuide;
package Conventions "Conventions"
extends Modelica.Icons.Information;
-annotation (Documentation(info="
- Please be aware of the model development and documentation
- guidelines: https://github.com/RWTH-EBC/IBPSA/wiki/Modelica-guidelines.
-
-
- This Conventions package includes documentation templates for
- models and records.
-
+annotation (Documentation(info="
+Please be aware of the model development and documentation guidelines: https://github.com/ibpsa/modelica-ibpsa/wiki.
+This Conventions package includes documentation templates for models and records.
"));
end Conventions;
diff --git a/BESMod/UsersGuide/GettingStarted/package.mo b/BESMod/UsersGuide/GettingStarted/package.mo
index b24c01df..29c4a39d 100644
--- a/BESMod/UsersGuide/GettingStarted/package.mo
+++ b/BESMod/UsersGuide/GettingStarted/package.mo
@@ -3,7 +3,7 @@ package GettingStarted "Getting Started"
extends Modelica.Icons.Information;
annotation (Documentation(info="
-Please be aware of the model development and documentation guidelines: https://github.com/RWTH-EBC/IBPSA/wiki/Modelica-guidelines.
+Please be aware of the model development and documentation guidelines: https://github.com/ibpsa/modelica-ibpsa/wiki.
This Getting Started package includes documentation on how to use the library and build your own models.
"));
end GettingStarted;
From d3195e12c94f62c533111f2b0032171124d9500d Mon Sep 17 00:00:00 2001
From: "Philipp.Schmitz3"
Date: Thu, 2 Mar 2023 18:50:26 +0100
Subject: [PATCH 02/23] added some missing documentation
---
.../UseCaseModelicaConferencePaper/package.mo | 4 ++++
BESMod/Systems/Control/DHWSuperheating.mo | 3 +++
BESMod/Systems/Control/NoControl.mo | 2 +-
.../Demand/Building/RecordsCollection/RefAachen.mo | 3 +++
BESMod/Systems/Demand/DHW/RecordsCollection/NoDHW.mo | 3 +++
.../Demand/DHW/TappingProfiles/PassThrough.mo | 3 +++
BESMod/Systems/Electrical/Control/NoControl.mo | 5 ++++-
BESMod/Systems/Electrical/Generation/NoGeneration.mo | 5 ++++-
.../Electrical/Generation/PVSystemMultiSub.mo | 4 +++-
BESMod/Systems/Electrical/Interfaces/package.mo | 3 +++
.../Components/DHWSetControl/ConstTSet_DHW.mo | 5 ++++-
.../Components/OnOffController/ConstantHysteresis.mo | 4 +++-
.../Hydraulical/Control/MonovalentGasBoiler.mo | 12 ++++++++----
BESMod/Systems/Hydraulical/Control/NoControl.mo | 3 +++
.../Systems/Hydraulical/Distribution/BuildingOnly.mo | 3 +++
BESMod/Systems/Hydraulical/Distribution/DHWOnly.mo | 3 +++
.../Distribution/DistributionTwoStorageParallel.mo | 3 +++
.../Hydraulical/Distribution/Tests/package.mo | 3 +++
.../Hydraulical/Generation/ElectricalHeater.mo | 3 +++
.../Systems/Hydraulical/Generation/NoGeneration.mo | 3 +++
BESMod/Systems/Hydraulical/Interfaces/package.mo | 3 +++
.../Systems/Hydraulical/Transfer/NoHeatTransfer.mo | 3 +++
BESMod/Systems/Interfaces/package.mo | 3 +++
BESMod/Systems/Ventilation/Control/NoControl.mo | 3 +++
.../Systems/Ventilation/Generation/NoVentilation.mo | 3 +++
BESMod/Systems/Ventilation/Interfaces/package.mo | 3 +++
BESMod/Systems/Ventilation/NoVentilation.mo | 3 +++
BESMod/Tutorial/MyOwnModule.mo | 4 ++--
BESMod/Tutorial/package.mo | 3 +++
BESMod/Utilities/Icons/package.mo | 3 +++
30 files changed, 96 insertions(+), 12 deletions(-)
diff --git a/BESMod/Examples/UseCaseModelicaConferencePaper/package.mo b/BESMod/Examples/UseCaseModelicaConferencePaper/package.mo
index e66d88f5..c948abe6 100644
--- a/BESMod/Examples/UseCaseModelicaConferencePaper/package.mo
+++ b/BESMod/Examples/UseCaseModelicaConferencePaper/package.mo
@@ -1,4 +1,8 @@
within BESMod.Examples;
package UseCaseModelicaConferencePaper "The use cases described in the BESMod publication"
extends Modelica.Icons.ExamplesPackage;
+
+annotation (Documentation(info="
+More Information on this example system can be found with the following link:https://2022.american.conference.modelica.org/documents/01_papers/02_full/1_Wullhorst.pdf
+ "));
end UseCaseModelicaConferencePaper;
diff --git a/BESMod/Systems/Control/DHWSuperheating.mo b/BESMod/Systems/Control/DHWSuperheating.mo
index 92e0b6d6..f35dd6b2 100644
--- a/BESMod/Systems/Control/DHWSuperheating.mo
+++ b/BESMod/Systems/Control/DHWSuperheating.mo
@@ -38,4 +38,7 @@ equation
index=1,
extent={{6,3},{6,3}},
horizontalAlignment=TextAlignment.Left));
+ annotation (Documentation(info="
+This supervisory control increases the DHW set temperature by 5 K at 12pm for 1h.
+"));
end DHWSuperheating;
diff --git a/BESMod/Systems/Control/NoControl.mo b/BESMod/Systems/Control/NoControl.mo
index 3113f62d..ff1e418e 100644
--- a/BESMod/Systems/Control/NoControl.mo
+++ b/BESMod/Systems/Control/NoControl.mo
@@ -2,6 +2,6 @@ within BESMod.Systems.Control;
model NoControl "No HEMS control"
extends BaseClasses.PartialControl;
annotation (Documentation(info="
-When no supervisory controll is needed, this class is meant to be selected.
+This class is meant to be selected, when no supervisory control is needed.
"));
end NoControl;
diff --git a/BESMod/Systems/Demand/Building/RecordsCollection/RefAachen.mo b/BESMod/Systems/Demand/Building/RecordsCollection/RefAachen.mo
index 1eb975ae..cc1da9f0 100644
--- a/BESMod/Systems/Demand/Building/RecordsCollection/RefAachen.mo
+++ b/BESMod/Systems/Demand/Building/RecordsCollection/RefAachen.mo
@@ -91,4 +91,7 @@ record RefAachen "Reference Building for Aachen"
TThresholdCooler=295.15,
heaLoadFacGrd=0,
heaLoadFacOut=0);
+ annotation (Documentation(info="
+Reference Building for Aachen, which sets the building paramters to the values shown in the table below.
+"));
end RefAachen;
diff --git a/BESMod/Systems/Demand/DHW/RecordsCollection/NoDHW.mo b/BESMod/Systems/Demand/DHW/RecordsCollection/NoDHW.mo
index 6393c499..c6d129f8 100644
--- a/BESMod/Systems/Demand/DHW/RecordsCollection/NoDHW.mo
+++ b/BESMod/Systems/Demand/DHW/RecordsCollection/NoDHW.mo
@@ -6,4 +6,7 @@ record NoDHW
final m_flow_nominal=0,
final table=[0,0,0,10,10; 86400,0,0,10,10],
final VDHWDay=0);
+ annotation (Documentation(info="
+This record is meant to be selected, when no DHW is being used.
+"));
end NoDHW;
diff --git a/BESMod/Systems/Demand/DHW/TappingProfiles/PassThrough.mo b/BESMod/Systems/Demand/DHW/TappingProfiles/PassThrough.mo
index d26bf0ce..75703351 100644
--- a/BESMod/Systems/Demand/DHW/TappingProfiles/PassThrough.mo
+++ b/BESMod/Systems/Demand/DHW/TappingProfiles/PassThrough.mo
@@ -4,4 +4,7 @@ model PassThrough "Just extract the water from the DHW tank"
equation
connect(m_flow_in, m_flow_out) annotation (Line(points={{-120,60},{-6,60},{
-6,0},{110,0}}, color={0,0,127}));
+ annotation (Documentation(info="
+This tapping profile directly extracts water from the DHW tank, without calculation of an equivalent mass flow.
+"));
end PassThrough;
diff --git a/BESMod/Systems/Electrical/Control/NoControl.mo b/BESMod/Systems/Electrical/Control/NoControl.mo
index 5e17a7f5..88f99f7f 100644
--- a/BESMod/Systems/Electrical/Control/NoControl.mo
+++ b/BESMod/Systems/Electrical/Control/NoControl.mo
@@ -3,5 +3,8 @@ model NoControl
extends BESMod.Systems.Electrical.Control.BaseClasses.PartialControl;
annotation (Icon(graphics,
coordinateSystem(preserveAspectRatio=false)), Diagram(graphics,
- coordinateSystem(preserveAspectRatio=false)));
+ coordinateSystem(preserveAspectRatio=false)),
+ Documentation(info="
+This class is meant to be selected, when no supervisory control is needed.
+"));
end NoControl;
diff --git a/BESMod/Systems/Electrical/Generation/NoGeneration.mo b/BESMod/Systems/Electrical/Generation/NoGeneration.mo
index 5189850f..6cc16203 100644
--- a/BESMod/Systems/Electrical/Generation/NoGeneration.mo
+++ b/BESMod/Systems/Electrical/Generation/NoGeneration.mo
@@ -1,5 +1,5 @@
within BESMod.Systems.Electrical.Generation;
-model NoGeneration "Don't generation electricity"
+model NoGeneration "No electricity generation"
extends BaseClasses.PartialGeneration(final f_design=fill(0.8, numGenUnits),
final numGenUnits=1);
BESMod.Utilities.Electrical.ZeroLoad zeroLoad
@@ -10,4 +10,7 @@ equation
points={{30,70},{50,70},{50,98}},
color={0,0,0},
thickness=1));
+ annotation (Documentation(info="
+This class is meant to be selected, when no electricity is supposed to be generated.
+"));
end NoGeneration;
diff --git a/BESMod/Systems/Electrical/Generation/PVSystemMultiSub.mo b/BESMod/Systems/Electrical/Generation/PVSystemMultiSub.mo
index 8f8b2117..f7dbcd1e 100644
--- a/BESMod/Systems/Electrical/Generation/PVSystemMultiSub.mo
+++ b/BESMod/Systems/Electrical/Generation/PVSystemMultiSub.mo
@@ -5,7 +5,9 @@ model PVSystemMultiSub
numGenUnits=1);
replaceable model CellTemperature =
AixLib.Electrical.PVSystem.BaseClasses.PartialCellTemperature annotation (
- __Dymola_choicesAllMatching=true);
+ __Dymola_choicesAllMatching=true, Documentation(info="
+Calculates the cell temperature of the PV module based on winVel, T_a, eta and radTil.
+"));
replaceable parameter AixLib.DataBase.SolarElectric.PVBaseDataDefinition pVParameters[numGenUnits]
constrainedby AixLib.DataBase.SolarElectric.PVBaseDataDefinition
annotation(choicesAllMatching=true,Placement(transformation(extent={{-82,-40},
diff --git a/BESMod/Systems/Electrical/Interfaces/package.mo b/BESMod/Systems/Electrical/Interfaces/package.mo
index 622bb6b2..3c8306ff 100644
--- a/BESMod/Systems/Electrical/Interfaces/package.mo
+++ b/BESMod/Systems/Electrical/Interfaces/package.mo
@@ -2,4 +2,7 @@ within BESMod.Systems.Electrical;
package Interfaces "Interfaces for electrical package"
extends Modelica.Icons.InterfacesPackage;
+annotation (Documentation(info="
+These classes represent interfaces for the different BESMod Submodules and allow the transfer of information between them.
+"));
end Interfaces;
diff --git a/BESMod/Systems/Hydraulical/Control/Components/DHWSetControl/ConstTSet_DHW.mo b/BESMod/Systems/Hydraulical/Control/Components/DHWSetControl/ConstTSet_DHW.mo
index 6341e653..ce5c8dde 100644
--- a/BESMod/Systems/Hydraulical/Control/Components/DHWSetControl/ConstTSet_DHW.mo
+++ b/BESMod/Systems/Hydraulical/Control/Components/DHWSetControl/ConstTSet_DHW.mo
@@ -32,5 +32,8 @@ equation
Text(
extent={{70,-80},{94,-100}},
textString="time"),
- Line(points={{-90,-70},{82,-70}}, color={95,95,95})}));
+ Line(points={{-90,-70},{82,-70}}, color={95,95,95})}), Documentation(
+ info="
+This class creates a constant DHW set temperature.
+"));
end ConstTSet_DHW;
diff --git a/BESMod/Systems/Hydraulical/Control/Components/OnOffController/ConstantHysteresis.mo b/BESMod/Systems/Hydraulical/Control/Components/OnOffController/ConstantHysteresis.mo
index 92ad7e50..581edd97 100644
--- a/BESMod/Systems/Hydraulical/Control/Components/OnOffController/ConstantHysteresis.mo
+++ b/BESMod/Systems/Hydraulical/Control/Components/OnOffController/ConstantHysteresis.mo
@@ -80,5 +80,7 @@ algorithm
extent={{-63,-88},{-38,-71}},
lineColor={0,0,0},
textString="uLow"),Line(points={{-69,10},{-60,10}}, color={160,
- 160,164})}));
+ 160,164})}), Documentation(info="
+constant hystersis with a temperature difference of 10K
+"));
end ConstantHysteresis;
diff --git a/BESMod/Systems/Hydraulical/Control/MonovalentGasBoiler.mo b/BESMod/Systems/Hydraulical/Control/MonovalentGasBoiler.mo
index 4770399b..8594a347 100644
--- a/BESMod/Systems/Hydraulical/Control/MonovalentGasBoiler.mo
+++ b/BESMod/Systems/Hydraulical/Control/MonovalentGasBoiler.mo
@@ -58,8 +58,8 @@ model MonovalentGasBoiler "PI Control of gas boiler"
final TBiv=monovalentControlParas.TOda_nominal)
annotation (choicesAllMatching=true, Placement(transformation(extent={{-218,
-36},{-204,-22}})));
- Modelica.Blocks.Sources.BooleanConstant booleanConstant(k=false)
- if not use_dhw annotation (Placement(transformation(
+ Modelica.Blocks.Sources.BooleanConstant booleanConstant(k=false) if
+ not use_dhw annotation (Placement(transformation(
extent={{10,10},{-10,-10}},
rotation=180,
origin={-30,-10})));
@@ -75,8 +75,8 @@ model MonovalentGasBoiler "PI Control of gas boiler"
extent={{-10,-10},{10,10}},
rotation=0,
origin={-70,-50})));
- Modelica.Blocks.Math.BooleanToReal booToRea(final realTrue=1, final realFalse
- =0) if use_dhw "Convert boolean signal to real for valve" annotation (
+ Modelica.Blocks.Math.BooleanToReal booToRea(final realTrue=1, final realFalse=
+ 0) if use_dhw "Convert boolean signal to real for valve" annotation (
Placement(transformation(
extent={{-10,-10},{10,10}},
rotation=0,
@@ -198,4 +198,8 @@ equation
horizontalAlignment=TextAlignment.Left));
connect(bufOn.u, boilerOnOffDHW.y) annotation (Line(points={{-82,-50},{-122,
-50},{-122,50},{-139,50}}, color={255,0,255}));
+ annotation (Documentation(info="
+This controll class creates an input signal for the gas boiler by using a PI controller and passes it to the generation interface. The PI controller takes into account the current set temperature, a measured temperature and the heat demand of the system.
+The heat demand is derived from a drop in temperature in the storage tanks.
+"));
end MonovalentGasBoiler;
diff --git a/BESMod/Systems/Hydraulical/Control/NoControl.mo b/BESMod/Systems/Hydraulical/Control/NoControl.mo
index 29cc7fcf..2c1f00b0 100644
--- a/BESMod/Systems/Hydraulical/Control/NoControl.mo
+++ b/BESMod/Systems/Hydraulical/Control/NoControl.mo
@@ -1,4 +1,7 @@
within BESMod.Systems.Hydraulical.Control;
model NoControl "No control"
extends BaseClasses.PartialControl;
+ annotation (Documentation(info="
+This class is meant to be selected, when no control of the hydraulic system is needed.
+"));
end NoControl;
diff --git a/BESMod/Systems/Hydraulical/Distribution/BuildingOnly.mo b/BESMod/Systems/Hydraulical/Distribution/BuildingOnly.mo
index 3ff08dfa..37861dc3 100644
--- a/BESMod/Systems/Hydraulical/Distribution/BuildingOnly.mo
+++ b/BESMod/Systems/Hydraulical/Distribution/BuildingOnly.mo
@@ -48,4 +48,7 @@ equation
annotation (Line(points={{-100,40},{100,40}}, color={0,127,255}));
connect(portGen_in[1], portBui_out[1])
annotation (Line(points={{-100,80},{100,80}}, color={0,127,255}));
+ annotation (Documentation(info="
+Generation system directly supplys the building with heat without using storage tanks and no creation of DHW.
+"));
end BuildingOnly;
diff --git a/BESMod/Systems/Hydraulical/Distribution/DHWOnly.mo b/BESMod/Systems/Hydraulical/Distribution/DHWOnly.mo
index 132b0e5c..19534b0c 100644
--- a/BESMod/Systems/Hydraulical/Distribution/DHWOnly.mo
+++ b/BESMod/Systems/Hydraulical/Distribution/DHWOnly.mo
@@ -32,4 +32,7 @@ equation
points={{44,-98},{56,-98},{56,-96},{70,-96},{70,-98}},
color={0,0,0},
thickness=1));
+ annotation (Documentation(info="
+Generation system directly supplys the production of DHW without the use of storage tanks.
+"));
end DHWOnly;
diff --git a/BESMod/Systems/Hydraulical/Distribution/DistributionTwoStorageParallel.mo b/BESMod/Systems/Hydraulical/Distribution/DistributionTwoStorageParallel.mo
index 8a47a625..4ab93931 100644
--- a/BESMod/Systems/Hydraulical/Distribution/DistributionTwoStorageParallel.mo
+++ b/BESMod/Systems/Hydraulical/Distribution/DistributionTwoStorageParallel.mo
@@ -266,4 +266,7 @@ equation
horizontalAlignment=TextAlignment.Left));
connect(bouPumBuf.ports[1], storageBuf.port_a_consumer) annotation (Line(
points={{10,20},{10,32},{49,32},{49,40}}, color={0,127,255}));
+ annotation (Documentation(info="
+This distribution system consists of one storage tank for the building heat demand and another storage tank for the production of DHW. The storage tanks are built in parallel and connected with a three way valve.
+"));
end DistributionTwoStorageParallel;
diff --git a/BESMod/Systems/Hydraulical/Distribution/Tests/package.mo b/BESMod/Systems/Hydraulical/Distribution/Tests/package.mo
index 0673b45e..c5298c95 100644
--- a/BESMod/Systems/Hydraulical/Distribution/Tests/package.mo
+++ b/BESMod/Systems/Hydraulical/Distribution/Tests/package.mo
@@ -2,4 +2,7 @@ within BESMod.Systems.Hydraulical.Distribution;
package Tests
extends Modelica.Icons.ExamplesPackage;
+annotation (Documentation(info="
+Test setups to check the functionality of the distribution systems.
+"));
end Tests;
diff --git a/BESMod/Systems/Hydraulical/Generation/ElectricalHeater.mo b/BESMod/Systems/Hydraulical/Generation/ElectricalHeater.mo
index 54e34e46..1c1ca668 100644
--- a/BESMod/Systems/Hydraulical/Generation/ElectricalHeater.mo
+++ b/BESMod/Systems/Hydraulical/Generation/ElectricalHeater.mo
@@ -159,4 +159,7 @@ equation
index=1,
extent={{-3,-6},{-3,-6}},
horizontalAlignment=TextAlignment.Right));
+ annotation (Documentation(info="
+Uses only a heating rod to generate heat.
+"));
end ElectricalHeater;
diff --git a/BESMod/Systems/Hydraulical/Generation/NoGeneration.mo b/BESMod/Systems/Hydraulical/Generation/NoGeneration.mo
index d6afcdef..bca6794d 100644
--- a/BESMod/Systems/Hydraulical/Generation/NoGeneration.mo
+++ b/BESMod/Systems/Hydraulical/Generation/NoGeneration.mo
@@ -14,4 +14,7 @@ equation
points={{52,-98},{62,-98},{62,-100},{72,-100}},
color={0,0,0},
thickness=1));
+ annotation (Documentation(info="
+This class is meant to be selected, when no heat generation is needed.
+"));
end NoGeneration;
diff --git a/BESMod/Systems/Hydraulical/Interfaces/package.mo b/BESMod/Systems/Hydraulical/Interfaces/package.mo
index 7810a3ea..8a694494 100644
--- a/BESMod/Systems/Hydraulical/Interfaces/package.mo
+++ b/BESMod/Systems/Hydraulical/Interfaces/package.mo
@@ -2,4 +2,7 @@ within BESMod.Systems.Hydraulical;
package Interfaces
extends Modelica.Icons.InterfacesPackage;
+annotation (Documentation(info="
+These classes represent interfaces for the different BESMod Submodules and allow the transfer of information between them.
+"));
end Interfaces;
diff --git a/BESMod/Systems/Hydraulical/Transfer/NoHeatTransfer.mo b/BESMod/Systems/Hydraulical/Transfer/NoHeatTransfer.mo
index 8712ec9f..0ca50511 100644
--- a/BESMod/Systems/Hydraulical/Transfer/NoHeatTransfer.mo
+++ b/BESMod/Systems/Hydraulical/Transfer/NoHeatTransfer.mo
@@ -20,4 +20,7 @@ equation
points={{60,-70},{72,-70},{72,-98}},
color={0,0,0},
thickness=1));
+ annotation (Documentation(info="
+This class is meant to be used, when the building should not be supplied with heat.
+"));
end NoHeatTransfer;
diff --git a/BESMod/Systems/Interfaces/package.mo b/BESMod/Systems/Interfaces/package.mo
index eeaa8493..fa485842 100644
--- a/BESMod/Systems/Interfaces/package.mo
+++ b/BESMod/Systems/Interfaces/package.mo
@@ -3,4 +3,7 @@ package Interfaces
extends Modelica.Icons.InterfacesPackage;
+annotation (Documentation(info="
+These classes represent interfaces for the different BESMod Submodules and allow the transfer of information between them.
+"));
end Interfaces;
diff --git a/BESMod/Systems/Ventilation/Control/NoControl.mo b/BESMod/Systems/Ventilation/Control/NoControl.mo
index 364501a4..8fb133bb 100644
--- a/BESMod/Systems/Ventilation/Control/NoControl.mo
+++ b/BESMod/Systems/Ventilation/Control/NoControl.mo
@@ -1,4 +1,7 @@
within BESMod.Systems.Ventilation.Control;
model NoControl "Dont control anything"
extends BaseClasses.PartialControl;
+ annotation (Documentation(info="
+This class is meant to be selected, when no supervisory control is needed.
+"));
end NoControl;
diff --git a/BESMod/Systems/Ventilation/Generation/NoVentilation.mo b/BESMod/Systems/Ventilation/Generation/NoVentilation.mo
index 6dbeaaf6..2ef7cce6 100644
--- a/BESMod/Systems/Ventilation/Generation/NoVentilation.mo
+++ b/BESMod/Systems/Ventilation/Generation/NoVentilation.mo
@@ -20,4 +20,7 @@ equation
points={{40,-90},{56,-90},{56,-84},{70,-84},{70,-98}},
color={0,0,0},
thickness=1));
+ annotation (Documentation(info="
+This class is meant to be selected, when no ventilation is needed.
+"));
end NoVentilation;
diff --git a/BESMod/Systems/Ventilation/Interfaces/package.mo b/BESMod/Systems/Ventilation/Interfaces/package.mo
index 1fb036f9..2c677f85 100644
--- a/BESMod/Systems/Ventilation/Interfaces/package.mo
+++ b/BESMod/Systems/Ventilation/Interfaces/package.mo
@@ -6,4 +6,7 @@ package Interfaces
+annotation (Documentation(info="
+These classes represent interfaces for the different BESMod Submodules and allow the transfer of information between them.
+"));
end Interfaces;
diff --git a/BESMod/Systems/Ventilation/NoVentilation.mo b/BESMod/Systems/Ventilation/NoVentilation.mo
index 3581bbb4..8597fe07 100644
--- a/BESMod/Systems/Ventilation/NoVentilation.mo
+++ b/BESMod/Systems/Ventilation/NoVentilation.mo
@@ -2,4 +2,7 @@ within BESMod.Systems.Ventilation;
model NoVentilation
extends BaseClasses.PartialVentilationSystem(redeclare BESMod.Systems.Ventilation.Generation.NoVentilation generation, redeclare BESMod.Systems.Ventilation.Distribution.SimpleDistribution distribution(
m_flow_nominal={1}), redeclare BESMod.Systems.Ventilation.Control.NoControl control);
+ annotation (Documentation(info="
+This class is meant to be selected, when no ventilation system is needed.
+"));
end NoVentilation;
diff --git a/BESMod/Tutorial/MyOwnModule.mo b/BESMod/Tutorial/MyOwnModule.mo
index 6b7cf6f6..f49d92ab 100644
--- a/BESMod/Tutorial/MyOwnModule.mo
+++ b/BESMod/Tutorial/MyOwnModule.mo
@@ -18,8 +18,8 @@ model MyOwnModule "My module can do this and that"
startTime=myComponentParameters.startTime)
annotation (Placement(transformation(extent={{-60,-10},{-40,10}})));
Modelica.Blocks.Nonlinear.Limiter
- limiter(final uMax=yMax, final uMin=-yMax)
- if use_lim
+ limiter(final uMax=yMax, final uMin=-yMax) if
+ use_lim
annotation (Placement(transformation(extent={{6,4},{26,24}})));
Modelica.Blocks.Interfaces.RealOutput y "Output signal connector"
annotation (Placement(transformation(extent={{100,-10},{120,10}})));
diff --git a/BESMod/Tutorial/package.mo b/BESMod/Tutorial/package.mo
index 54070903..abfb1b89 100644
--- a/BESMod/Tutorial/package.mo
+++ b/BESMod/Tutorial/package.mo
@@ -3,4 +3,7 @@ package Tutorial
extends Modelica.Icons.ExamplesPackage;
+annotation (Documentation(info="
+Tutorial system to create custom modular building energy systems.
+"));
end Tutorial;
diff --git a/BESMod/Utilities/Icons/package.mo b/BESMod/Utilities/Icons/package.mo
index 269b5651..7999c8bb 100644
--- a/BESMod/Utilities/Icons/package.mo
+++ b/BESMod/Utilities/Icons/package.mo
@@ -1,4 +1,7 @@
within BESMod.Utilities;
package Icons "Package with Icons used in BESMod"
+annotation (Documentation(info="
+This class contains the icons used on the graphical layer of the model.
+"));
end Icons;
From 7025cf7d76e87e87f4b1f9ef45c6b3da3fc49779 Mon Sep 17 00:00:00 2001
From: "fabian.wuellhorst"
Date: Tue, 19 Nov 2024 16:33:06 +0100
Subject: [PATCH 03/23] first chunk of AI generated docs
---
BESMod/Examples/BAUSimStudy/BESParameters.mo | 4 +++
BESMod/Examples/BAUSimStudy/Case1Standard.mo | 8 +++++
BESMod/Examples/BAUSimStudy/PartialCase.mo | 30 ++++++++++++++++-
.../DesignOptimization/AachenSystem.mo | 4 +++
BESMod/Examples/DesignOptimization/BES.mo | 29 +++++++++++++++-
.../Examples/DesignOptimization/BESNoDHW.mo | 9 +++++
.../DesignOptimization/ParametersToChange.mo | 4 +++
BESMod/Examples/GasBoilerBuildingOnly.mo | 15 ++++++++-
.../HeatPumpAndBoiler/AachenSystem.mo | 4 +++
.../HeatPumpAndBoiler/AfterBufferWithDHW.mo | 28 +++++++++++++++-
.../AfterBufferWithoutDHW.mo | 31 ++++++++++++++++-
.../Examples/HeatPumpAndBoiler/BaseClasses.mo | 33 ++++++++++++++++---
BESMod/Examples/HeatPumpAndBoiler/Parallel.mo | 26 ++++++++++++++-
.../HeatPumpAndBoiler/ParametersToChange.mo | 9 +++++
BESMod/Examples/HeatPumpAndBoiler/Serial.mo | 21 +++++++++++-
BESMod/Examples/HighOrderModel/BES_HOM.mo | 8 ++++-
BESMod/Examples/HighOrderModel/HOMSystem.mo | 4 +++
.../BESModSystemParas.mo | 5 +++
.../BuildingsLibraryRoom.mo | 11 +++++++
.../PartialModelicaConferenceUseCase.mo | 29 ++++++++++++++++
.../ModelicaConferencePaper/TEASERBuilding.mo | 15 +++++++--
BESMod/Examples/Retrofit/BESParameters.mo | 6 ++++
BESMod/Examples/Retrofit/PartialCase.mo | 23 ++++++++++---
23 files changed, 337 insertions(+), 19 deletions(-)
diff --git a/BESMod/Examples/BAUSimStudy/BESParameters.mo b/BESMod/Examples/BAUSimStudy/BESParameters.mo
index 4c4287a8..27d73ae8 100644
--- a/BESMod/Examples/BAUSimStudy/BESParameters.mo
+++ b/BESMod/Examples/BAUSimStudy/BESParameters.mo
@@ -12,4 +12,8 @@ record BESParameters
final nZones=1,
final use_ventilation=false);
+ annotation (Documentation(info="
+Information
+This record contains basic parameters for building energy system simulations in the BauSIM case study.
+"));
end BESParameters;
diff --git a/BESMod/Examples/BAUSimStudy/Case1Standard.mo b/BESMod/Examples/BAUSimStudy/Case1Standard.mo
index 1fcf94e3..a9881fc3 100644
--- a/BESMod/Examples/BAUSimStudy/Case1Standard.mo
+++ b/BESMod/Examples/BAUSimStudy/Case1Standard.mo
@@ -13,4 +13,12 @@ model Case1Standard
__Dymola_Algorithm="Dassl"),
__Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/BAUSimStudy/Case1Standard.mos"
"Simulate and plot"));
+ annotation (Documentation(info="
+Information
+
+This model represents the standard case (Case 1) of a building energy simulation study. It extends from
+BESMod.Examples.BAUSimStudy.PartialCase
+and uses parameters for a non-retrofitted single dwelling house from 1918.
+
+"));
end Case1Standard;
diff --git a/BESMod/Examples/BAUSimStudy/PartialCase.mo b/BESMod/Examples/BAUSimStudy/PartialCase.mo
index c864fa3e..f59a1b77 100644
--- a/BESMod/Examples/BAUSimStudy/PartialCase.mo
+++ b/BESMod/Examples/BAUSimStudy/PartialCase.mo
@@ -92,8 +92,36 @@ partial model PartialCase
parameter Modelica.Units.SI.Temperature TBiv=271.15
"Nominal bivalence temperature. = TOda_nominal for monovalent systems.";
+
annotation (experiment(
StopTime=172800,
Interval=600,
- __Dymola_Algorithm="Dassl"));
+ __Dymola_Algorithm="Dassl"), Documentation(info="
+Information
+This is a partial case model for building energy system simulations. It extends a partial building energy system with specific subsystems for electrical, thermal, hydraulic and control components. The model includes:
+
+ - Direct grid connection for electrical system
+ - TEASER thermal zone building model
+ - No control system
+ - Hydraulic system with:
+
+ - Bivalent parallel heat pump and electric heater
+ - Two storage system with detailed loading
+ - Radiator-based heat transfer
+
+
+ - DHW system with standard profiles
+ - TEASER user profiles
+ - No ventilation system
+
+
+Related Models
+
+"));
end PartialCase;
diff --git a/BESMod/Examples/DesignOptimization/AachenSystem.mo b/BESMod/Examples/DesignOptimization/AachenSystem.mo
index 4a036a26..063af4e9 100644
--- a/BESMod/Examples/DesignOptimization/AachenSystem.mo
+++ b/BESMod/Examples/DesignOptimization/AachenSystem.mo
@@ -10,4 +10,8 @@ record AachenSystem
THydSup_nominal={328.15},
TOda_nominal=265.35);
+ annotation (Documentation(info="
+Information
+This record extends BESMod.Systems.RecordsCollection.SystemParametersBaseDataDefinition and defines parameters for a building energy system in Aachen, Germany. The model represents a single-zone building without ventilation and electric heating.
+"));
end AachenSystem;
diff --git a/BESMod/Examples/DesignOptimization/BES.mo b/BESMod/Examples/DesignOptimization/BES.mo
index e61a1065..d1047f99 100644
--- a/BESMod/Examples/DesignOptimization/BES.mo
+++ b/BESMod/Examples/DesignOptimization/BES.mo
@@ -99,7 +99,34 @@ model BES
extends Modelica.Icons.Example;
- annotation (experiment(StopTime=172800,
+ annotation (Documentation(info="
+Information
+This model represents a complete building energy system (BES) setup for design optimization. It extends the PartialBuildingEnergySystem base class and includes an electrical system with direct grid connection, a thermal zone building model based on TEASER, and a hydraulic system with heat pump and electric heater.
+
+System Components
+
+ - Electrical: DirectGridConnectionSystem
+ - Building: TEASERThermalZone with reference parameters for Aachen
+ - Control: NoControl
+ - Hydraulic: HydraulicSystem
+
+ - Generation: Bivalent heat pump with electric heater
+ - Distribution: Two storage system in parallel (buffer and DHW)
+ - Transfer: Ideal valve radiator system
+
+
+ - DHW: Standard domestic hot water system with M-Profile
+ - Ventilation: No ventilation system
+
+
+Important Parameters
+
+ - TBiv: Bivalent temperature point for heat pump operation
+ - TCutOff: Cut-off temperature for heat pump
+ - QHP_flow_cutOff: Heat pump power at cut-off temperature
+ - VPerQFlow: Storage volume per nominal heat flow rate
+
+"),experiment(StopTime=172800,
Interval=600,
Tolerance=1e-06),
__Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BES.mos"
diff --git a/BESMod/Examples/DesignOptimization/BESNoDHW.mo b/BESMod/Examples/DesignOptimization/BESNoDHW.mo
index bea6c198..3bd997bb 100644
--- a/BESMod/Examples/DesignOptimization/BESNoDHW.mo
+++ b/BESMod/Examples/DesignOptimization/BESNoDHW.mo
@@ -91,4 +91,13 @@ model BESNoDHW "Example to demonstrate usage without DHW"
Tolerance=1e-06),
__Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/DesignOptimization/BESNoDHW.mos"
"Simulate and plot"));
+ annotation (Documentation(info="
+ Information
+
+ This model demonstrates a building energy system without domestic hot water (DHW).
+ It uses a bivalent parallel heat pump system with an electric heater as backup.
+ The heat distribution is building-only with ideal valve radiators.
+ The control system is monoergetic with thermostatically controlled valves.
+
+"));
end BESNoDHW;
diff --git a/BESMod/Examples/DesignOptimization/ParametersToChange.mo b/BESMod/Examples/DesignOptimization/ParametersToChange.mo
index dc7ce13d..301493bd 100644
--- a/BESMod/Examples/DesignOptimization/ParametersToChange.mo
+++ b/BESMod/Examples/DesignOptimization/ParametersToChange.mo
@@ -15,4 +15,8 @@ record ParametersToChange
annotation(Evaluate=false);
parameter Modelica.Units.SI.HeatFlowRate QHP_flow_cutOff=3000
annotation (Evaluate=false);
+ annotation (Documentation(info="
+Information
+This record defines parameters for design optimization of building energy systems.
+"));
end ParametersToChange;
diff --git a/BESMod/Examples/GasBoilerBuildingOnly.mo b/BESMod/Examples/GasBoilerBuildingOnly.mo
index f77cd61c..48da6af7 100644
--- a/BESMod/Examples/GasBoilerBuildingOnly.mo
+++ b/BESMod/Examples/GasBoilerBuildingOnly.mo
@@ -61,5 +61,18 @@ model GasBoilerBuildingOnly
Interval=600,
Tolerance=1e-06),
__Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/GasBoilerBuildingOnly.mos"
- "Simulate and plot"));
+ "Simulate and plot"), Documentation(info="
+ Information
+
+ This model represents a building energy system featuring a gas boiler for space heating. The building model uses the TEASER thermal zone representation of a building located in Aachen, Germany. The system only models space heating without ventilation, domestic hot water or electrical heating.
+
+
+ Key Components
+
+"));
end GasBoilerBuildingOnly;
diff --git a/BESMod/Examples/HeatPumpAndBoiler/AachenSystem.mo b/BESMod/Examples/HeatPumpAndBoiler/AachenSystem.mo
index f7a738b2..8ed10214 100644
--- a/BESMod/Examples/HeatPumpAndBoiler/AachenSystem.mo
+++ b/BESMod/Examples/HeatPumpAndBoiler/AachenSystem.mo
@@ -10,4 +10,8 @@ record AachenSystem
THydSup_nominal={328.15},
TOda_nominal=265.35);
+ annotation (Documentation(info="
+Information
+Define parameters for a heating system model of a building in Aachen, Germany.
+"));
end AachenSystem;
diff --git a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo
index d6250b8d..43232839 100644
--- a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo
+++ b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mo
@@ -46,5 +46,31 @@ model AfterBufferWithDHW
Interval=600,
Tolerance=1e-06),
__Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithDHW.mos"
- "Simulate and plot"));
+ "Simulate and plot"), Documentation(info="
+Information
+
+This model represents a bivalent heat pump system with boiler integration after the buffer tank including domestic hot water (DHW) support. It extends the PartialHybridSystem base class.
+
+
+System Description
+
+Key components:
+
+ - Heat pump with vapor injection phase separator using propane refrigerant
+ - Boiler integrated after buffer storage tank
+ - Two storage system with buffer tank and DHW storage
+ - Bivalent-parallel configuration for heat generation
+
+
+
+Important Parameters
+
+
+ - TBiv: Bivalence temperature for heat pump operation
+ - VPerQFlow: Buffer storage volume per nominal heat flow rate
+ - dTLoadingHC1: Temperature difference for DHW loading (10K)
+ - dTBoiDHWLoa: Temperature difference for boiler DHW loading (10K)
+
+
+"));
end AfterBufferWithDHW;
diff --git a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo
index bd0bfab4..832e102f 100644
--- a/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo
+++ b/BESMod/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mo
@@ -36,9 +36,38 @@ model AfterBufferWithoutDHW
extends Modelica.Icons.Example;
+
annotation (experiment(StopTime=172800,
Interval=600,
Tolerance=1e-06),
__Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/AfterBufferWithoutDHW.mos"
- "Simulate and plot"));
+ "Simulate and plot"), Documentation(info="
+Information
+This model represents a bivalent heat pump system with a boiler integration after the buffer tank. The system does not include domestic hot water (DHW) support by the boiler. It extends from a partial hybrid system base class.
+
+System Configuration
+The hydraulic system consists of:
+
+ - Heat pump generation system with:
+
+ - Bivalent parallel operation with boiler
+ - Vapor injection heat pump using propane refrigerant
+ - Performance based on 3D table data
+
+
+ - Distribution system with:
+
+ - Detailed buffer storage with direct loading
+ - Three-way valve control
+ - Boiler integration after buffer storage
+
+
+
+
+Important Parameters
+
+ TBiv: Bivalent temperature point
+ VPerQFlow: Storage volume per heat flow rate
+
+"));
end AfterBufferWithoutDHW;
diff --git a/BESMod/Examples/HeatPumpAndBoiler/BaseClasses.mo b/BESMod/Examples/HeatPumpAndBoiler/BaseClasses.mo
index 46c6d462..83cca7d4 100644
--- a/BESMod/Examples/HeatPumpAndBoiler/BaseClasses.mo
+++ b/BESMod/Examples/HeatPumpAndBoiler/BaseClasses.mo
@@ -59,9 +59,34 @@ package BaseClasses "Contains partial example case"
redeclare final package MediumHyd = AixLib.Media.Water,
redeclare BESMod.Systems.Ventilation.NoVentilation ventilation);
- annotation (experiment(
- StopTime=172800,
- Interval=600,
- __Dymola_Algorithm="Dassl"));
+
end PartialHybridSystem;
+ annotation (Documentation(info="
+Information
+This package contains a partial example case for a hybrid building energy system. The main model PartialHybridSystem defines a bivalent heat pump system that combines a heat pump with a backup boiler. The model extends BESMod.Systems.BaseClasses.PartialBuildingEnergySystem and includes:
+
+
+ - Direct grid connection for electrical system
+ - TEASER thermal zone building model with Aachen reference parameters
+ - Hybrid heat pump hydraulic system with PI-controlled thermostatic valves
+ - Standard DHW profile system
+ - TEASER user profiles
+ - No ventilation system
+
+
+Important Parameters
+
+ TBiv - Bivalent temperature point for heat pump operation
+ TCutOff - Heat pump cut-off temperature
+ dTHysBui - Building temperature hysteresis (5K)
+ dTHysDHW - DHW temperature hysteresis (5K)
+
+
+Related Models
+
+"));
end BaseClasses;
diff --git a/BESMod/Examples/HeatPumpAndBoiler/Parallel.mo b/BESMod/Examples/HeatPumpAndBoiler/Parallel.mo
index 84da41fe..8858223f 100644
--- a/BESMod/Examples/HeatPumpAndBoiler/Parallel.mo
+++ b/BESMod/Examples/HeatPumpAndBoiler/Parallel.mo
@@ -36,5 +36,29 @@ model Parallel
Interval=600,
Tolerance=1e-06),
__Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Parallel.mos"
- "Simulate and plot"));
+ "Simulate and plot"), Documentation(info="
+Information
+
+This model implements a bivalent heating system with parallel heat generation using a heat pump and gas boiler. The system includes two storage tanks - one buffer storage for heating and one for domestic hot water (DHW).
+
+
+Important Parameters
+
+ - TBiv: Bivalence temperature for heat pump operation
+ - VPerQFlow: Specific storage volume per heat flow rate
+ - dTLoadingHC1: Temperature difference for loading heating circuit 1
+
+ - Buffer storage: 0K
+ - DHW storage: 10K
+
+
+
+
+Key components:
+
+"));
end Parallel;
diff --git a/BESMod/Examples/HeatPumpAndBoiler/ParametersToChange.mo b/BESMod/Examples/HeatPumpAndBoiler/ParametersToChange.mo
index a0cef995..559a6443 100644
--- a/BESMod/Examples/HeatPumpAndBoiler/ParametersToChange.mo
+++ b/BESMod/Examples/HeatPumpAndBoiler/ParametersToChange.mo
@@ -16,4 +16,13 @@ record ParametersToChange
annotation (Evaluate=false);
parameter Modelica.Units.SI.HeatFlowRate QHP_flow_biv=4000
annotation (Evaluate=false);
+ annotation (Documentation(info="
+Information
+
+Record that contains parameters related to the heat pump and boiler system design.
+
+
+All parameters have Evaluate=false since they are meant to be changed during parameter studies.
+
+"));
end ParametersToChange;
diff --git a/BESMod/Examples/HeatPumpAndBoiler/Serial.mo b/BESMod/Examples/HeatPumpAndBoiler/Serial.mo
index cede0848..dfdb7931 100644
--- a/BESMod/Examples/HeatPumpAndBoiler/Serial.mo
+++ b/BESMod/Examples/HeatPumpAndBoiler/Serial.mo
@@ -33,5 +33,24 @@ model Serial "Bivalent Heat Pump Systems with serial heat generation"
Interval=600,
Tolerance=1e-06),
__Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/HeatPumpAndBoiler/Serial.mos"
- "Simulate and plot"));
+ "Simulate and plot"), Documentation(info="
+Information
+
+This model represents a bivalent heating system with serial arrangement of a heat pump and gas boiler. The system uses modular components for modeling the heating supply system with two storages in parallel arrangement for both buffer and domestic hot water storage.
+
+
+Important Parameters
+
+- TBiv: Bivalence temperature for heat pump operation
+- VPerQFlow: Storage volume per nominal heat flow for buffer storage dimensioning
+- dTLoadingHC1: Temperature difference for DHW loading (10K)
+
+
+Key components:
+
+- Heat pump model using AixLib table-based heat pump with vapor injection
+- Two storage system: Buffer storage and DHW storage arranged in parallel
+
+
+"));
end Serial;
diff --git a/BESMod/Examples/HighOrderModel/BES_HOM.mo b/BESMod/Examples/HighOrderModel/BES_HOM.mo
index e0d14835..dce3c8ae 100644
--- a/BESMod/Examples/HighOrderModel/BES_HOM.mo
+++ b/BESMod/Examples/HighOrderModel/BES_HOM.mo
@@ -91,5 +91,11 @@ model BES_HOM
Interval=600,
Tolerance=1e-06),
__Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/HighOrderModel/BES_HOM.mos"
- "Simulate and plot"));
+ "Simulate and plot"), Documentation(info="
+ Information
+ High order building energy system model extending BESMod.Systems.BaseClasses.PartialBuildingEnergySystem. The model consists of an electrical, building, control, hydraulic, DHW and ventilation system.
+
+ The building is modeled using AixLib high order approach with EnEV2009 heavy walls and simple window model. The hydraulic system features a heat pump with electric heater backup in a monoenergetic configuration, two storage tanks in parallel (buffer and DHW), and radiator heating system.
+
+"));
end BES_HOM;
diff --git a/BESMod/Examples/HighOrderModel/HOMSystem.mo b/BESMod/Examples/HighOrderModel/HOMSystem.mo
index 1e546923..ebd7b716 100644
--- a/BESMod/Examples/HighOrderModel/HOMSystem.mo
+++ b/BESMod/Examples/HighOrderModel/HOMSystem.mo
@@ -10,4 +10,8 @@ record HOMSystem
THydSup_nominal=fill(328.15,nZones),
TOda_nominal=265.35);
+ annotation (Documentation(info="
+Information
+Record for a high-order building model consisting of 10 thermal zones.
+"));
end HOMSystem;
diff --git a/BESMod/Examples/ModelicaConferencePaper/BESModSystemParas.mo b/BESMod/Examples/ModelicaConferencePaper/BESModSystemParas.mo
index cccec10a..84d07406 100644
--- a/BESMod/Examples/ModelicaConferencePaper/BESModSystemParas.mo
+++ b/BESMod/Examples/ModelicaConferencePaper/BESModSystemParas.mo
@@ -9,4 +9,9 @@ record BESModSystemParas "Case studies system parameters"
THydSup_nominal={328.15},
TOda_nominal=265.35);
+ annotation (Documentation(info="
+Information
+BESModSystemParas is a record containing system parameters for building energy system case studies.
+
+"));
end BESModSystemParas;
diff --git a/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo b/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo
index 9d60c613..91204277 100644
--- a/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo
+++ b/BESMod/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mo
@@ -16,4 +16,15 @@ annotation(experiment(StopTime=172800,
"Simulate and plot"),
__Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/BuildingsLibraryRoom.mos"
"Simulate and plot"));
+ annotation (Documentation(info="
+Information
+System model extending from PartialModelicaConferenceUseCase using the Buildings library's room model. The model demonstrates the use case of a single zone building simulation based on the BESTEST Case 600 setup.
+
+Important Parameters
+
+"));
end BuildingsLibraryRoom;
diff --git a/BESMod/Examples/ModelicaConferencePaper/PartialModelicaConferenceUseCase.mo b/BESMod/Examples/ModelicaConferencePaper/PartialModelicaConferenceUseCase.mo
index 6d86c3e6..1dc735ea 100644
--- a/BESMod/Examples/ModelicaConferencePaper/PartialModelicaConferenceUseCase.mo
+++ b/BESMod/Examples/ModelicaConferencePaper/PartialModelicaConferenceUseCase.mo
@@ -116,4 +116,33 @@ partial model PartialModelicaConferenceUseCase
use_bypass=false)));
+ annotation (Documentation(info="
+Information
+This is a partial model representing a building energy system (BES) example case study. It implements the following subsystems:
+
+
+- Electrical system with PV generation and battery storage (Tesla Powerwall)
+- Heat pump based hydraulic system with electric backup heater and thermal storage
+- Domestic hot water system with standard tapping profile
+- Ventilation system with heat recovery
+- Control system for DHW superheating
+
+
+Important Parameters
+
+"));
end PartialModelicaConferenceUseCase;
diff --git a/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo b/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo
index 702cdd4f..3ced1220 100644
--- a/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo
+++ b/BESMod/Examples/ModelicaConferencePaper/TEASERBuilding.mo
@@ -20,7 +20,16 @@ annotation(experiment(StopTime=172800,
Interval=600,
Tolerance=1e-06),
__Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos"
- "Simulate and plot"),
- __Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/ModelicaConferencePaper/TEASERBuilding.mos"
- "Simulate and plot"));
+ "Simulate and plot"), Documentation(info="
+Information
+
+This model represents a TEASER building model example. It uses a single thermal zone configuration with parameters based on a reference building in Aachen.
+
+Model Components
+
+"));
end TEASERBuilding;
diff --git a/BESMod/Examples/Retrofit/BESParameters.mo b/BESMod/Examples/Retrofit/BESParameters.mo
index ffb8ec3c..c9e90c0e 100644
--- a/BESMod/Examples/Retrofit/BESParameters.mo
+++ b/BESMod/Examples/Retrofit/BESParameters.mo
@@ -13,4 +13,10 @@ record BESParameters
final nZones=1,
final use_ventilation=false);
+ annotation (Documentation(info="
+Information
+
+Record for Building Energy System (BES) parameters used in retrofit examples.
+
+"));
end BESParameters;
diff --git a/BESMod/Examples/Retrofit/PartialCase.mo b/BESMod/Examples/Retrofit/PartialCase.mo
index 6ea8aac0..68049e57 100644
--- a/BESMod/Examples/Retrofit/PartialCase.mo
+++ b/BESMod/Examples/Retrofit/PartialCase.mo
@@ -95,8 +95,23 @@ partial model PartialCase
"If true, hydraulic distribution system uses QBuiNoRetrofit.";
parameter Boolean NoRetrofitHydGen = false
"If true, hydraulic generation system uses QBuiNoRetrofit.";
- annotation (experiment(
- StopTime=31536000,
- Interval=600,
- __Dymola_Algorithm="Dassl"));
+ annotation (Documentation(info="
+Information
+This partial model serves as a base class for retrofit case studies in building energy systems. It configures:
+
+
+
+Important Parameters
+
+- NoRetrofitHydTra: Boolean flag to use non-retrofitted heating load for transfer system sizing
+- NoRetrofitHydDis: Boolean flag to use non-retrofitted heating load for distribution system sizing
+- NoRetrofitHydGen: Boolean flag to use non-retrofitted heating load for generation system sizing
+- Heat pump bivalence temperature: 271.15 K (-2°C)
+
+"));
end PartialCase;
From 12670bccfedcad6f6fb34e94bd408d2aaa9f0d0e Mon Sep 17 00:00:00 2001
From: "fabian.wuellhorst"
Date: Tue, 19 Nov 2024 17:13:49 +0100
Subject: [PATCH 04/23] add examples documentation
---
.../SolarThermalSystem/CombiStorage.mo | 4 +++
.../SolarThermalSystem/SolarCollector.mo | 7 ++++-
.../SolarThermalSystem/SolarThermalAixLib.mo | 22 +++++++++++++++-
.../SolarThermalBuildings.mo | 26 ++++++++++++++++++-
.../SolarThermalDesignOptimization.mo | 4 +++
.../SolarThermalSystemParameters.mo | 3 +++
.../TEASERHeatLoadCalculation/Example.mo | 13 +++++++++-
.../PartialCalculation.mo | 22 ++++++++++++++++
.../Systems/BaseClasses/PartialBESExample.mo | 3 +++
9 files changed, 100 insertions(+), 4 deletions(-)
diff --git a/BESMod/Examples/SolarThermalSystem/CombiStorage.mo b/BESMod/Examples/SolarThermalSystem/CombiStorage.mo
index ee40211e..9a4f94be 100644
--- a/BESMod/Examples/SolarThermalSystem/CombiStorage.mo
+++ b/BESMod/Examples/SolarThermalSystem/CombiStorage.mo
@@ -8,4 +8,8 @@ record CombiStorage
dTLoadingHC2=5,
redeclare AixLib.DataBase.Pipes.Copper.Copper_22x1 pipeHC2,
redeclare AixLib.DataBase.Pipes.Copper.Copper_22x1 pipeHC1);
+ annotation (Documentation(info="
+Information
+Base record type for a combined storage tank (combi storage) used in solar thermal systems. The model inherits from BufferStorageBaseDataDefinition which provides the base parameters.
+"));
end CombiStorage;
diff --git a/BESMod/Examples/SolarThermalSystem/SolarCollector.mo b/BESMod/Examples/SolarThermalSystem/SolarCollector.mo
index db6d847b..2c79e45d 100644
--- a/BESMod/Examples/SolarThermalSystem/SolarCollector.mo
+++ b/BESMod/Examples/SolarThermalSystem/SolarCollector.mo
@@ -1,5 +1,5 @@
within BESMod.Examples.SolarThermalSystem;
-record SolarCollector "For BA"
+record SolarCollector "Custom values used for example"
extends
Systems.Hydraulical.Generation.RecordsCollection.SolarThermal.Generic(
GMax=1000,
@@ -7,4 +7,9 @@ record SolarCollector "For BA"
spacing(displayUnit="mm") = 0.02,
dPipe(displayUnit="mm") = 0.012);
+ annotation (Documentation(info="
+Information
+Solar collector parameter record for a example system
+
+"));
end SolarCollector;
diff --git a/BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo b/BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo
index abc4679c..ec772128 100644
--- a/BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo
+++ b/BESMod/Examples/SolarThermalSystem/SolarThermalAixLib.mo
@@ -35,5 +35,25 @@ model SolarThermalAixLib "Solar thermal collector from AixLib"
Interval=600,
Tolerance=1e-06),
__Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/SolarThermalSystem/SolarThermalAixLib.mos"
- "Simulate and plot"));
+ "Simulate and plot"), Documentation(info="
+Information
+Model of a solar thermal system coupled with a heat pump system using components from the AixLib library.
+The model uses a modular reversible heat pump with vapor injection and phase separation using propane as refrigerant.
+The solar thermal collector parameters can be adjusted through the parameterStudy record.
+
+Important Parameters
+
+ - A: Collector area [m²]
+ - eta_zero: Zero-loss efficiency [-]
+ - c1: First order heat loss coefficient [W/(m²K)]
+ - c2: Second order heat loss coefficient [W/(m²K²)]
+
+
+Model Dependencies
+"));
end SolarThermalAixLib;
diff --git a/BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo b/BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo
index 0138c1c1..5c3b9fa3 100644
--- a/BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo
+++ b/BESMod/Examples/SolarThermalSystem/SolarThermalBuildings.mo
@@ -38,5 +38,29 @@ model SolarThermalBuildings
Interval=600,
Tolerance=1e-06),
__Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/SolarThermalSystem/SolarThermalBuildings.mos"
- "Simulate and plot"));
+ "Simulate and plot"), Documentation(info="
+Information
+Model of a heat pump system (HPS) supported by a solar thermal collector.
+This model extends a partial model for solar thermal heat pump systems and
+uses a detailed solar thermal system with heat pump for the hydraulic generation subsystem.
+
+
+Important Parameters
+
+ - Solar collector parameters (configurable via parameterStudy record):
+
+ - A - Collector area
+ - eta_zero - Peak collector efficiency
+ - c1 - Linear heat loss coefficient
+ - c2 - Quadratic heat loss coefficient
+
+
+
+
+Uses components from:
+
+"));
end SolarThermalBuildings;
diff --git a/BESMod/Examples/SolarThermalSystem/SolarThermalDesignOptimization.mo b/BESMod/Examples/SolarThermalSystem/SolarThermalDesignOptimization.mo
index 621c08ea..e0943b89 100644
--- a/BESMod/Examples/SolarThermalSystem/SolarThermalDesignOptimization.mo
+++ b/BESMod/Examples/SolarThermalSystem/SolarThermalDesignOptimization.mo
@@ -10,4 +10,8 @@ record SolarThermalDesignOptimization
parameter Real c1=2 "Loss coefficient c1";
parameter Real c2=0.005 "Loss coefficient c2";
annotation(Evaluate=false);
+ annotation (Documentation(info="
+Information
+Record that defines parameters for optimization of a solar thermal system design.
+"));
end SolarThermalDesignOptimization;
diff --git a/BESMod/Examples/SolarThermalSystem/SolarThermalSystemParameters.mo b/BESMod/Examples/SolarThermalSystem/SolarThermalSystemParameters.mo
index 7e9a6717..6dbcc253 100644
--- a/BESMod/Examples/SolarThermalSystem/SolarThermalSystemParameters.mo
+++ b/BESMod/Examples/SolarThermalSystem/SolarThermalSystemParameters.mo
@@ -2,4 +2,7 @@ within BESMod.Examples.SolarThermalSystem;
record SolarThermalSystemParameters
extends BESMod.Examples.DesignOptimization.AachenSystem;
+ annotation (Documentation(info="
+Information
+Duplicate of BESMod.Examples.DesignOptimization.AachenSystem to define parameters for a solar thermal system.
"));
end SolarThermalSystemParameters;
diff --git a/BESMod/Examples/TEASERHeatLoadCalculation/Example.mo b/BESMod/Examples/TEASERHeatLoadCalculation/Example.mo
index 758fb9d6..ab9545db 100644
--- a/BESMod/Examples/TEASERHeatLoadCalculation/Example.mo
+++ b/BESMod/Examples/TEASERHeatLoadCalculation/Example.mo
@@ -11,5 +11,16 @@ model Example "Simple example"
Interval=600,
Tolerance=1e-06),
__Dymola_Commands(file="modelica://BESMod/Resources/Scripts/Dymola/Examples/TEASERHeatLoadCalculation/Example.mos"
- "Simulate and plot"));
+ "Simulate and plot"), Documentation(info="
+Information
+Simple example model for the heat load calculation.
+Extends from BESMod.Examples.TEASERHeatLoadCalculation.PartialCalculation
+and uses a single dwelling building model that represents a retrofitted 1983 building.
+
+Important Parameters
+
+ - dTSetBack = 3 K (Night setback temperature difference)
+ - energyDynamics = FixedInitial (Fixed initialization for energy balance)
+
+"));
end Example;
diff --git a/BESMod/Examples/TEASERHeatLoadCalculation/PartialCalculation.mo b/BESMod/Examples/TEASERHeatLoadCalculation/PartialCalculation.mo
index dee81429..ddf5630a 100644
--- a/BESMod/Examples/TEASERHeatLoadCalculation/PartialCalculation.mo
+++ b/BESMod/Examples/TEASERHeatLoadCalculation/PartialCalculation.mo
@@ -31,4 +31,26 @@ model PartialCalculation "Partial model with common interfaces"
redeclare BESMod.Systems.RecordsCollection.ParameterStudy.NoStudy
parameterStudy);
+ annotation (Documentation(info="
+Information
+Partial model with common interfaces to enable heat load calculation for TEASER examples.
+This model extends the PartialBuildingEnergySystem with standard components for simple heat load simulation scenarios.
+
+Important Parameters
+
+ - QBui_flow_nominal: Nominal heat flow rate of the building (automatically set from building model)
+ - use_hydraulic: Set to false (no hydraulic system used)
+ - use_ventilation: Set to false (no ventilation system used)
+
+
+Components
+
+ - Building: TEASERThermalZone
+ - User Profiles: TEASERProfiles
+ - Control: NoControl
+ - Electrical System: Ideal heater configuration with direct grid connection
+ - DHW: Standard profiles without actual DHW demand
+ - Hydraulic/Ventilation: Disabled placeholder components
+
+"));
end PartialCalculation;
diff --git a/BESMod/Systems/BaseClasses/PartialBESExample.mo b/BESMod/Systems/BaseClasses/PartialBESExample.mo
index a783bbdb..a10f07fa 100644
--- a/BESMod/Systems/BaseClasses/PartialBESExample.mo
+++ b/BESMod/Systems/BaseClasses/PartialBESExample.mo
@@ -6,4 +6,7 @@ partial model PartialBESExample "Partial example model"
annotation (Icon(graphics,
coordinateSystem(preserveAspectRatio=false)), Diagram(graphics,
coordinateSystem(preserveAspectRatio=false)),experiment(StopTime=86400, __Dymola_Algorithm="Dassl"));
+ annotation (Documentation(info="
+Partial model serving as a base class for building energy system examples.
+Contains basic system parameters that are relevant for all building energy systems.
"));
end PartialBESExample;
From 145f678b93f4c19c92179ef3c01502a902e1d8dd Mon Sep 17 00:00:00 2001
From: "fabian.wuellhorst"
Date: Tue, 19 Nov 2024 17:21:10 +0100
Subject: [PATCH 05/23] add tutorial and usersGuide
---
BESMod/Tutorial/BaseClasses/PartialModule.mo | 21 +++++++++++++++-
BESMod/Tutorial/BaseClasses/PartialSystem.mo | 24 ++++++++++++++++++-
BESMod/Tutorial/MyOwnModule.mo | 18 ++++++++++++++
BESMod/Tutorial/MyOwnSystem.mo | 13 ++++++++++
BESMod/Tutorial/RecordsCollection.mo | 17 +++++++++++++
.../UsersGuide/ContrainingClauseTutorial.mo | 16 ++++++++++++-
6 files changed, 106 insertions(+), 3 deletions(-)
diff --git a/BESMod/Tutorial/BaseClasses/PartialModule.mo b/BESMod/Tutorial/BaseClasses/PartialModule.mo
index 7cc11821..37e97f78 100644
--- a/BESMod/Tutorial/BaseClasses/PartialModule.mo
+++ b/BESMod/Tutorial/BaseClasses/PartialModule.mo
@@ -18,5 +18,24 @@ partial model PartialModule "The partial base-class"
extent={{-60,52},{64,-30}},
textColor={28,108,200},
textString="%name%")}), Diagram(graphics,
- coordinateSystem(preserveAspectRatio=false)));
+ coordinateSystem(preserveAspectRatio=false)), Documentation(info="
+This is a partial base class for modules. It defines common parameters and a real output signal.
+
+Important Parameters
+
+ yMax: A top-down parameter that sets the maximum value for output y
+ timePeriod: A bottom-up parameter that specifies the estimated period time
+
+
+Connectors
+
+
+Annotation Features
+
+ - Parameters are organized in dialog groups \"Top-Down\" and \"Bottom-Up\"
+ - Icon shows a white rectangle with blue border and model name in center
+
+"));
end PartialModule;
diff --git a/BESMod/Tutorial/BaseClasses/PartialSystem.mo b/BESMod/Tutorial/BaseClasses/PartialSystem.mo
index 8fc38092..1fd34914 100644
--- a/BESMod/Tutorial/BaseClasses/PartialSystem.mo
+++ b/BESMod/Tutorial/BaseClasses/PartialSystem.mo
@@ -22,5 +22,27 @@ equation
connect(moduleWrong.y, yWrong) annotation (Line(points={{21.9,-60},{110,-60}}, color={0,0,127}));
annotation (Icon(graphics,
coordinateSystem(preserveAspectRatio=false)), Diagram(graphics,
- coordinateSystem(preserveAspectRatio=false)));
+ coordinateSystem(preserveAspectRatio=false)), Documentation(info="
+Information
+
+This model demonstrates the correct and wrong way of handling top-down parameter propagation in Modelica.
+It contains two instances of a replaceable partial module:
+
+
+module: Shows the correct way of parameter propagation by placing the parameter redeclaration after constrainedby
+moduleWrong: Shows the wrong way by placing the parameter redeclaration before constrainedby
+
+
+Both modules are constrained by BESMod.Tutorial.BaseClasses.PartialModule.
+
+Important Parameters
+
+yMax: Maximum value for y, used as top-down parameter
+
+
+Connections
+
+- Module outputs
y and yWrong are connected to system outputs
+
+"));
end PartialSystem;
diff --git a/BESMod/Tutorial/MyOwnModule.mo b/BESMod/Tutorial/MyOwnModule.mo
index f49d92ab..dd197c89 100644
--- a/BESMod/Tutorial/MyOwnModule.mo
+++ b/BESMod/Tutorial/MyOwnModule.mo
@@ -35,4 +35,22 @@ equation
-16},{4,-16}}, color={0,0,127}));
connect(realPassThrough.y, y) annotation (Line(points={{27,-16},{42,-16},{42,0},
{110,0}}, color={0,0,127}));
+ annotation (Documentation(info="
+Information
+This module extends BESMod.Tutorial.BaseClasses.PartialModule and generates a sine signal with an optional limiter.
+
+Important Parameters
+
+ use_lim: Boolean parameter to enable/disable the limiter
+ myComponentParameters: Record of type BESMod.Tutorial.RecordsCollection.MyComponentBaseDataDefinition containing:
+
+ - amplitude: Amplitude of sine wave (constrained to yMax)
+ - f: Frequency of sine wave
+ - phase: Phase shift of sine wave
+ - offset: Vertical offset of sine wave
+ - startTime: Start time of sine wave
+
+
+
+"));
end MyOwnModule;
diff --git a/BESMod/Tutorial/MyOwnSystem.mo b/BESMod/Tutorial/MyOwnSystem.mo
index cacce2dc..547e30c7 100644
--- a/BESMod/Tutorial/MyOwnSystem.mo
+++ b/BESMod/Tutorial/MyOwnSystem.mo
@@ -11,4 +11,17 @@ model MyOwnSystem
redeclare BESMod.Tutorial.RecordsCollection.DefaultSineWave myComponentParameters));
extends Modelica.Icons.Example;
annotation (experiment(StopTime=10, __Dymola_Algorithm="Dassl"));
+ annotation (Documentation(info="
+
+This model extends BESMod.Tutorial.BaseClasses.PartialSystem
+and consists of two instances of BESMod.Tutorial.MyOwnModule.
+The model uses DefaultSineWave parameters for both module instances.
+It serves as an example model.
+
+
+Important Parameters
+
+ - yMax: Upper limit value set to 5 for the system and moduleWrong instance
+ - use_lim: Limitation is enabled for both module instances
+
"));
end MyOwnSystem;
diff --git a/BESMod/Tutorial/RecordsCollection.mo b/BESMod/Tutorial/RecordsCollection.mo
index 751e4c5d..0aebdadf 100644
--- a/BESMod/Tutorial/RecordsCollection.mo
+++ b/BESMod/Tutorial/RecordsCollection.mo
@@ -29,4 +29,21 @@ package RecordsCollection
phase=1.5707963267949,
f=1);
end PhaseShift90;
+ annotation (Documentation(info="
+Information
+
+This package contains record definitions for sine wave parameterization used in the
+BESMod.Tutorial package.
+
+
+
+The base record MyComponentBaseDataDefinition defines the fundamental parameters needed
+to describe a sine wave signal. Two predefined parameter sets are available:
+
+
+
+DefaultSineWave: Standard 1 Hz sine wave without phase shift or offset
+PhaseShift90: 1 Hz sine wave with 90� phase shift
+
+"));
end RecordsCollection;
diff --git a/BESMod/UsersGuide/ContrainingClauseTutorial.mo b/BESMod/UsersGuide/ContrainingClauseTutorial.mo
index 40d60ddc..57330598 100644
--- a/BESMod/UsersGuide/ContrainingClauseTutorial.mo
+++ b/BESMod/UsersGuide/ContrainingClauseTutorial.mo
@@ -18,5 +18,19 @@ package ContrainingClauseTutorial
end MyOwnModule;
annotation (Icon(graphics,
coordinateSystem(preserveAspectRatio=false)), Diagram(graphics,
- coordinateSystem(preserveAspectRatio=false)));
+ coordinateSystem(preserveAspectRatio=false)), Documentation(info="
+Information
+
+This package demonstrates the contraining clause methodology in Modelica. The methodology consists of two parts:
+
+
+- A partial model defining parameters with either top-down or bottom-up characteristics
+- An inheriting model that extends the partial model and sets bottom-up parameters
+
+
+Important Parameters
+
+topDownParameter: Parameter intended to be set from top level (Dialog group: Top-Down)
+bottomUpParameter: Parameter intended to be set from bottom level, pre-set to 5 in MyOwnModule (Dialog group: Bottom-Up)
+
"));
end ContrainingClauseTutorial;
From 1f390e745be419a1cc9d11cdc2710a4cd15fce51 Mon Sep 17 00:00:00 2001
From: "fabian.wuellhorst"
Date: Tue, 19 Nov 2024 17:34:05 +0100
Subject: [PATCH 06/23] add utilities doc
---
.../Utilities/Electrical/ConverterExample.mo | 13 ++++++-
BESMod/Utilities/Electrical/ElecConToReal.mo | 7 ++++
BESMod/Utilities/Electrical/MultiSumElec.mo | 8 +++-
BESMod/Utilities/Electrical/RealToElecCon.mo | 13 ++++++-
BESMod/Utilities/Electrical/ZeroLoad.mo | 4 +-
BESMod/Utilities/Icons/BuildingIcon.mo | 4 +-
BESMod/Utilities/Icons/ControlIcon.mo | 6 ++-
BESMod/Utilities/Icons/DistributionIcon.mo | 4 +-
BESMod/Utilities/Icons/StorageIcon.mo | 8 +++-
BESMod/Utilities/Icons/TransferIcon.mo | 5 ++-
BESMod/Utilities/Icons/VentilationIcon.mo | 20 ++++++++++
.../Utilities/KPIs/BaseClasses/KPIDevice.mo | 12 ++++++
.../Utilities/KPIs/BaseClasses/KPIIntegral.mo | 11 ++++++
.../KPIs/BaseClasses/ZoneEnergyBalanceBus.mo | 3 ++
BESMod/Utilities/KPIs/ZoneEnergyBalance.mo | 37 ++++++++++++++++++-
.../SupervisoryControl/SupervisoryControl.mo | 9 ++++-
.../SupervisoryControlExample.mo | 20 +++++++++-
.../Types/SupervisoryControlType.mo | 14 +++++++
18 files changed, 186 insertions(+), 12 deletions(-)
diff --git a/BESMod/Utilities/Electrical/ConverterExample.mo b/BESMod/Utilities/Electrical/ConverterExample.mo
index 729ebf2b..db981305 100644
--- a/BESMod/Utilities/Electrical/ConverterExample.mo
+++ b/BESMod/Utilities/Electrical/ConverterExample.mo
@@ -66,5 +66,16 @@ equation
annotation (Line(points={{-79,-70},{-22,-70}}, color={0,0,127}));
annotation (Icon(graphics,
coordinateSystem(preserveAspectRatio=false)), Diagram(
- coordinateSystem(preserveAspectRatio=false)));
+ coordinateSystem(preserveAspectRatio=false)), Documentation(info="
+Information
+
+This model demonstrates different configurations of electrical power conversion from real signals to electrical connectors. It shows four different use cases:
+
+
+"));
end ConverterExample;
diff --git a/BESMod/Utilities/Electrical/ElecConToReal.mo b/BESMod/Utilities/Electrical/ElecConToReal.mo
index 8b4fad40..d968c0f4 100644
--- a/BESMod/Utilities/Electrical/ElecConToReal.mo
+++ b/BESMod/Utilities/Electrical/ElecConToReal.mo
@@ -25,4 +25,11 @@ equation
lineColor={0,0,0},
textString="%name")}), Diagram(graphics,
coordinateSystem(preserveAspectRatio=false)));
+ annotation (Documentation(info="
+Information
+
+ Model for transferring electrical power values from an electrical connector interface to Real output signals.
+ The model provides separate outputs for electrical load (PElecLoa) and generation (PElecGen).
+
+"));
end ElecConToReal;
diff --git a/BESMod/Utilities/Electrical/MultiSumElec.mo b/BESMod/Utilities/Electrical/MultiSumElec.mo
index b69956e6..dbf4bf01 100644
--- a/BESMod/Utilities/Electrical/MultiSumElec.mo
+++ b/BESMod/Utilities/Electrical/MultiSumElec.mo
@@ -25,5 +25,11 @@ equation
extent={{-100,-100},{98,-160}},
lineColor={0,0,0},
textString="%name")}), Diagram(graphics,
- coordinateSystem(preserveAspectRatio=false)));
+ coordinateSystem(preserveAspectRatio=false)), Documentation(info="
+Information
+
+Model that sums up multiple electrical input power values (generation and load) into a single output.
+The number of inputs can be defined via the nPorts parameter.
+
+"));
end MultiSumElec;
diff --git a/BESMod/Utilities/Electrical/RealToElecCon.mo b/BESMod/Utilities/Electrical/RealToElecCon.mo
index 48e3fca1..a9920751 100644
--- a/BESMod/Utilities/Electrical/RealToElecCon.mo
+++ b/BESMod/Utilities/Electrical/RealToElecCon.mo
@@ -55,5 +55,16 @@ equation
extent={{-98,-100},{100,-160}},
lineColor={0,0,0},
textString="%name")}), Diagram(graphics,
- coordinateSystem(preserveAspectRatio=false)));
+ coordinateSystem(preserveAspectRatio=false)), Documentation(info="
+Information
+Model for transferring real power inputs to the electrical connectors.
+The model provides an interface between real-valued electrical power signals and an
+internal electrical connector system.
+
+Important Parameters
+
+ use_souLoa (default=true): Activates the real interface for electrical loads
+ use_souGen (default=true): Activates the real interface for electrical generation
+
+"));
end RealToElecCon;
diff --git a/BESMod/Utilities/Electrical/ZeroLoad.mo b/BESMod/Utilities/Electrical/ZeroLoad.mo
index be79f132..514fb97b 100644
--- a/BESMod/Utilities/Electrical/ZeroLoad.mo
+++ b/BESMod/Utilities/Electrical/ZeroLoad.mo
@@ -15,5 +15,7 @@ equation
extent={{-92,-52},{92,60}},
lineColor={0,0,0},
textString="0 W")}), Diagram(graphics,
- coordinateSystem(preserveAspectRatio=false)));
+ coordinateSystem(preserveAspectRatio=false)), Documentation(info="
+Zero Load model that can be used if an electrical system is disabled. Sets both load and generation power to 0 W.
+"));
end ZeroLoad;
diff --git a/BESMod/Utilities/Icons/BuildingIcon.mo b/BESMod/Utilities/Icons/BuildingIcon.mo
index 42ee92d4..3b06b019 100644
--- a/BESMod/Utilities/Icons/BuildingIcon.mo
+++ b/BESMod/Utilities/Icons/BuildingIcon.mo
@@ -23,5 +23,7 @@ partial model BuildingIcon
lineColor={0,0,0},
textString="%name%")}),
Diagram(graphics,
- coordinateSystem(preserveAspectRatio=false)));
+ coordinateSystem(preserveAspectRatio=false)), Documentation(info="
+This is a partial model that defines an icon for building-related models in Modelica.
+"));
end BuildingIcon;
diff --git a/BESMod/Utilities/Icons/ControlIcon.mo b/BESMod/Utilities/Icons/ControlIcon.mo
index 4f72e151..13ca30fd 100644
--- a/BESMod/Utilities/Icons/ControlIcon.mo
+++ b/BESMod/Utilities/Icons/ControlIcon.mo
@@ -47,5 +47,9 @@ partial model ControlIcon
extent={{-100,-74},{104,-170}},
lineColor={0,0,0},
textString="%name%")}),Diagram(graphics,
- coordinateSystem(preserveAspectRatio=false)));
+ coordinateSystem(preserveAspectRatio=false)), Documentation(info="
+
+A partial model defining an icon for control blocks.
+
+"));
end ControlIcon;
diff --git a/BESMod/Utilities/Icons/DistributionIcon.mo b/BESMod/Utilities/Icons/DistributionIcon.mo
index f21212f5..17e8a970 100644
--- a/BESMod/Utilities/Icons/DistributionIcon.mo
+++ b/BESMod/Utilities/Icons/DistributionIcon.mo
@@ -53,5 +53,7 @@ partial model DistributionIcon
fillColor={238,46,47},
fillPattern=FillPattern.Solid)}),
Diagram(graphics,
- coordinateSystem(preserveAspectRatio=false)));
+ coordinateSystem(preserveAspectRatio=false)), Documentation(info="
+This is a partial model that defines the graphical icon for distribution systems in the BESMod library.
+"));
end DistributionIcon;
diff --git a/BESMod/Utilities/Icons/StorageIcon.mo b/BESMod/Utilities/Icons/StorageIcon.mo
index 04f6d8dc..f6097629 100644
--- a/BESMod/Utilities/Icons/StorageIcon.mo
+++ b/BESMod/Utilities/Icons/StorageIcon.mo
@@ -39,5 +39,11 @@ partial model StorageIcon
extent={{-100,-72},{104,-168}},
lineColor={0,0,0},
textString="%name%")}),Diagram(graphics,
- coordinateSystem(preserveAspectRatio=false)));
+ coordinateSystem(preserveAspectRatio=false)), Documentation(info="
+
+
+
+ A partial model defining a visual icon for storage components.
+
+"));
end StorageIcon;
diff --git a/BESMod/Utilities/Icons/TransferIcon.mo b/BESMod/Utilities/Icons/TransferIcon.mo
index f3494801..7b48bb9e 100644
--- a/BESMod/Utilities/Icons/TransferIcon.mo
+++ b/BESMod/Utilities/Icons/TransferIcon.mo
@@ -52,5 +52,8 @@ partial model TransferIcon
extent={{-100,-76},{104,-172}},
lineColor={0,0,0},
textString="%name%")}),Diagram(graphics,
- coordinateSystem(preserveAspectRatio=false)));
+ coordinateSystem(preserveAspectRatio=false)), Documentation(info="
+A partial model defining an icon for heat transfer components.
+
+"));
end TransferIcon;
diff --git a/BESMod/Utilities/Icons/VentilationIcon.mo b/BESMod/Utilities/Icons/VentilationIcon.mo
index 2217f4fc..eb41f86a 100644
--- a/BESMod/Utilities/Icons/VentilationIcon.mo
+++ b/BESMod/Utilities/Icons/VentilationIcon.mo
@@ -39,4 +39,24 @@ partial model VentilationIcon
lineColor={0,0,0},
textString="%name%")}),Diagram(graphics,
coordinateSystem(preserveAspectRatio=false)));
+ annotation (Documentation(info="
+
+
+Information
+
+This icon shows a stylized ventilation fan symbol with three blades arranged radially around a central hub. It is used as a partial model to provide a consistent visual representation for ventilation-related components in the BESMod library.
+
+
+Important Parameters
+The icon contains the following graphical elements:
+
+ - Circular white background with black outline
+ - Central black hub
+ - Three black fan blades at 120° angles
+ - Component name displayed below the icon
+
+
+
+
+"));
end VentilationIcon;
diff --git a/BESMod/Utilities/KPIs/BaseClasses/KPIDevice.mo b/BESMod/Utilities/KPIs/BaseClasses/KPIDevice.mo
index a0470052..8a1eda52 100644
--- a/BESMod/Utilities/KPIs/BaseClasses/KPIDevice.mo
+++ b/BESMod/Utilities/KPIs/BaseClasses/KPIDevice.mo
@@ -13,4 +13,16 @@ expandable connector KPIDevice "Connector for KPIs of number of switches"
final unit="s",
final displayUnit="h")
"Total time the device is on";
+ annotation (Documentation(info="
+Expandable connector for device key performance indicators (KPIs)
+focusing on switching behavior and operation times.
+The connector inherits base definitions from BESMod.Utilities.KPIs.BaseClasses.PartialKPIConnector.
+
+KPIs
+
+numSwi: Integer value counting the number of device switches
+sinOnTim: Duration the device operates in a single on-cycle (unit: s, display unit: h)
+totOnTim: Accumulated time the device has been operating (unit: s, display unit: h)
+
+"));
end KPIDevice;
diff --git a/BESMod/Utilities/KPIs/BaseClasses/KPIIntegral.mo b/BESMod/Utilities/KPIs/BaseClasses/KPIIntegral.mo
index 69339b31..13f8a044 100644
--- a/BESMod/Utilities/KPIs/BaseClasses/KPIIntegral.mo
+++ b/BESMod/Utilities/KPIs/BaseClasses/KPIIntegral.mo
@@ -8,4 +8,15 @@ expandable connector KPIIntegral "Connector for KPIs"
Real integral
"Integral of value";
+ annotation (Documentation(info="
+Expandable connector for Key Performance Indicators (KPIs) that provides both current values and
+their integral over time.
+
+
+KPIs
+
+value: Current value of the KPI
+integral: Time integral of the KPI value
+
+"));
end KPIIntegral;
diff --git a/BESMod/Utilities/KPIs/BaseClasses/ZoneEnergyBalanceBus.mo b/BESMod/Utilities/KPIs/BaseClasses/ZoneEnergyBalanceBus.mo
index f71fa2d1..c651aaf4 100644
--- a/BESMod/Utilities/KPIs/BaseClasses/ZoneEnergyBalanceBus.mo
+++ b/BESMod/Utilities/KPIs/BaseClasses/ZoneEnergyBalanceBus.mo
@@ -2,4 +2,7 @@ within BESMod.Utilities.KPIs.BaseClasses;
expandable connector ZoneEnergyBalanceBus
"Bus for energy balance of thermal zone"
extends Icons.OutputsBus;
+ annotation (Documentation(info="
+Expandable connector that defines a bus for thermal zone energy balance calculations.
+"));
end ZoneEnergyBalanceBus;
diff --git a/BESMod/Utilities/KPIs/ZoneEnergyBalance.mo b/BESMod/Utilities/KPIs/ZoneEnergyBalance.mo
index 832486e8..9bc201d1 100644
--- a/BESMod/Utilities/KPIs/ZoneEnergyBalance.mo
+++ b/BESMod/Utilities/KPIs/ZoneEnergyBalance.mo
@@ -219,5 +219,40 @@ equation
extent={{-104,182},{100,86}},
lineColor={0,0,0},
textString="%name%")}), Diagram(coordinateSystem(preserveAspectRatio=false, extent={
- {-100,-200},{100,200}})));
+ {-100,-200},{100,200}})), Documentation(info="
+Model for calculating energy key performance indicators (KPIs) for a single thermal zone.
+The model splits energy flows through different building components (walls, roof, floor, windows) and
+systems (ventilation, heating/cooling) into gains and losses.
+It also accounts for internal gains from lights, people, machines and solar radiation.
+
+
+Structure
+The model contains several instances of BESMod.Utilities.KPIs.BaseClasses.SplitGainAndLoss
+for splitting energy flows into gains and losses for:
+
+- External walls
+- Roof
+- Floor
+- Windows
+- Air exchange
+- Transfer systems (heating/cooling)
+- Ventilation system (optional)
+
+
+Internal gains are calculated using BESMod.Utilities.KPIs.EnergyKPICalculator for:
+
+- Lighting
+- People
+- Machines
+- Solar gains
+
+
+Important Parameters
+
+with_ventilation (boolean): Enable/disable ventilation system calculations. Default: true
+
+
+Interfaces
+The model has Real inputs for heat flows through all components (in W) and outputs the calculated KPIs through a zoneEneBal bus connector of type ZoneEnergyBalanceBus.
+"));
end ZoneEnergyBalance;
diff --git a/BESMod/Utilities/SupervisoryControl/SupervisoryControl.mo b/BESMod/Utilities/SupervisoryControl/SupervisoryControl.mo
index 6f38f385..d5bca51a 100644
--- a/BESMod/Utilities/SupervisoryControl/SupervisoryControl.mo
+++ b/BESMod/Utilities/SupervisoryControl/SupervisoryControl.mo
@@ -76,5 +76,12 @@ equation
extent={{2,-8},{18,8}}),
Line(points={{-100,-80},{-40,-80},{-40,-80}},
color={0,0,127})}), Diagram(graphics,
- coordinateSystem(preserveAspectRatio=false)));
+ coordinateSystem(preserveAspectRatio=false)), Documentation(info="
+Model for supervisory control implementation with three different modes:
+
+- Internal: Uses internal supervisory control signal when activated
+- External: Uses external supervisory control signal
+- Local: Only uses local control signal
+
+"));
end SupervisoryControl;
diff --git a/BESMod/Utilities/SupervisoryControl/SupervisoryControlExample.mo b/BESMod/Utilities/SupervisoryControl/SupervisoryControlExample.mo
index 62feebb6..fef103de 100644
--- a/BESMod/Utilities/SupervisoryControl/SupervisoryControlExample.mo
+++ b/BESMod/Utilities/SupervisoryControl/SupervisoryControlExample.mo
@@ -31,5 +31,23 @@ equation
annotation (Icon(graphics,
coordinateSystem(preserveAspectRatio=false)), Diagram(graphics,
coordinateSystem(preserveAspectRatio=false)),
- experiment(StopTime=10, __Dymola_Algorithm="Dassl"));
+ experiment(StopTime=10, __Dymola_Algorithm="Dassl"), Documentation(info="
+Example model demonstrating different types of supervisory control implementations.
+The model includes three instances of supervisory control:
+
+
+ - Local control (locCtrl): Basic control without supervisory intervention
+ - Internal control (intCtrl): Control with internally implemented supervisory logic
+ - External control (extCtrl): Control with externally provided supervisory signals
+
+
+Each controller receives a local control signal from a pulse source.
+The internal and external controllers additionally receive supervisory control
+signals that can override the local control when activated.
+
+See also
+
+BESMod.Utilities.SupervisoryControl.SupervisoryControl
+
+"));
end SupervisoryControlExample;
diff --git a/BESMod/Utilities/SupervisoryControl/Types/SupervisoryControlType.mo b/BESMod/Utilities/SupervisoryControl/Types/SupervisoryControlType.mo
index af1b6538..79f4206d 100644
--- a/BESMod/Utilities/SupervisoryControl/Types/SupervisoryControlType.mo
+++ b/BESMod/Utilities/SupervisoryControl/Types/SupervisoryControlType.mo
@@ -1,6 +1,20 @@
+
within BESMod.Utilities.SupervisoryControl.Types;
type SupervisoryControlType = enumeration(
Local "Local control only",
Internal "Modelica internal supervisory control",
External "External supervisory control (e.g. FMU, python)")
"Enum for supervisory control type";
+ annotation (Documentation(info="
+Enumeration type that defines the supervisory control strategy for BES models:
+
+Local: Uses only local signal
+Internal: Implements supervisory control using internal Modelica logic
+External: Enables supervisory control via external tools (e.g. FMUs, Python scripts)
+
+
+Related Models
+
+"));
\ No newline at end of file
From d5edbfe92e3392f1595260a210c74fae7256977f Mon Sep 17 00:00:00 2001
From: "fabian.wuellhorst"
Date: Tue, 19 Nov 2024 17:57:18 +0100
Subject: [PATCH 07/23] add utils and ventilation
---
.../BaseClasses/PartialFluidSubsystem.mo | 13 ++++++
.../PartialFluidSubsystemWithParameters.mo | 7 +++
.../BaseClasses/PartialSubsystemParameters.mo | 31 +++++++++++++
.../Control/BaseClasses/PartialControl.mo | 19 +++++++-
.../Movers/AutomaticConfigurationData.mo | 15 +++++++
.../RecordsCollection/Movers/DefaultMover.mo | 11 +++++
.../Movers/MoverBaseDataDefinition.mo | 6 ++-
.../ParameterStudy/NoStudy.mo | 5 +++
.../SubsystemControlBaseDataDefinition.mo | 3 ++
.../SupplySystemBaseDataDefinition.mo | 6 +++
.../SystemParametersBaseDataDefinition.mo | 45 +++++++++++++++++++
.../TemperatureSensors/DefaultSensor.mo | 14 ++++++
.../TemperatureSensorBaseDefinition.mo | 5 +++
.../Valves/DefaultThreeWayValve.mo | 14 ++++++
.../UserProfiles/AixLibHighOrderProfiles.mo | 17 +++++++
.../BaseClasses/PartialUserProfiles.mo | 13 ++++++
.../Systems/UserProfiles/Case600Profiles.mo | 17 +++++++
BESMod/Systems/UserProfiles/TEASERProfiles.mo | 25 +++++++++++
.../UserProfiles/Tests/Case600Profiles.mo | 3 ++
.../Systems/UserProfiles/Tests/HOMUserTest.mo | 4 ++
.../Systems/UserProfiles/Tests/PartialTest.mo | 10 +++++
.../UserProfiles/Tests/TEASERProfileTest.mo | 6 +++
.../BaseClasses/PartialVentilationSystem.mo | 25 +++++++++++
.../Control/BaseClasses/PartialControl.mo | 10 ++++-
.../Control/Components/SummerByPass.mo | 23 ++++++++++
.../Ventilation/Control/SummerPIDByPass.mo | 8 ++++
.../BaseClasses/PartialDistribution.mo | 6 ++-
.../Distribution/SimpleDistribution.mo | 14 ++++++
.../BaseClasses/PartialGeneration.mo | 6 ++-
.../ControlledDomesticVentilation.mo | 22 +++++++++
.../DummyHeatExchangerRecovery.mo | 8 ++++
.../PartialHeatExchangerRecovery.mo | 9 ++++
.../Tests/ControlledDomesticVentilation.mo | 20 +++++++++
.../Generation/Tests/PartialTest.mo | 24 ++++++++++
.../Systems/Ventilation/VentilationSystem.mo | 5 +++
35 files changed, 464 insertions(+), 5 deletions(-)
diff --git a/BESMod/Systems/BaseClasses/PartialFluidSubsystem.mo b/BESMod/Systems/BaseClasses/PartialFluidSubsystem.mo
index 1747ce10..e3298c81 100644
--- a/BESMod/Systems/BaseClasses/PartialFluidSubsystem.mo
+++ b/BESMod/Systems/BaseClasses/PartialFluidSubsystem.mo
@@ -26,4 +26,17 @@ protected
annotation (Icon(graphics,
coordinateSystem(preserveAspectRatio=false)), Diagram(graphics,
coordinateSystem(preserveAspectRatio=false)));
+ annotation (Documentation(info="
+
+This is a partial base class for fluid-based subsystems that extends the IBPSA fluid core components through IBPSA.Fluid.Interfaces.LumpedVolumeDeclarations.
+
+Important Parameters
+
+ use_openModelica: Parameter to disable features not available in OpenModelica
+ allowFlowReversal: If false, equations are simplified by assuming (but not enforcing) no flow reversal
+ show_T: Enable computation of actual port temperatures
+ rho: Density of the heat distribution system fluid [kg/m³]
+ cp: Specific heat capacity of the heat distribution system fluid [J/(kg.K)]
+
+"));
end PartialFluidSubsystem;
diff --git a/BESMod/Systems/BaseClasses/PartialFluidSubsystemWithParameters.mo b/BESMod/Systems/BaseClasses/PartialFluidSubsystemWithParameters.mo
index f461fc0a..da51b3c2 100644
--- a/BESMod/Systems/BaseClasses/PartialFluidSubsystemWithParameters.mo
+++ b/BESMod/Systems/BaseClasses/PartialFluidSubsystemWithParameters.mo
@@ -2,4 +2,11 @@ within BESMod.Systems.BaseClasses;
model PartialFluidSubsystemWithParameters
extends PartialFluidSubsystem;
extends PartialSubsystemParameters;
+ annotation (Documentation(info="
+Base class that combines fluid system properties and subsystem parameters of
+BESMod.Systems.BaseClasses.PartialFluidSubsystem
+and
+BESMod.Systems.BaseClasses.PartialSubsystemParameters.
+
+"));
end PartialFluidSubsystemWithParameters;
diff --git a/BESMod/Systems/BaseClasses/PartialSubsystemParameters.mo b/BESMod/Systems/BaseClasses/PartialSubsystemParameters.mo
index 267fcf5a..28b84bba 100644
--- a/BESMod/Systems/BaseClasses/PartialSubsystemParameters.mo
+++ b/BESMod/Systems/BaseClasses/PartialSubsystemParameters.mo
@@ -80,4 +80,35 @@ model PartialSubsystemParameters "Model for a partial subsystem"
annotation (Icon(graphics,
coordinateSystem(preserveAspectRatio=false)), Diagram(graphics,
coordinateSystem(preserveAspectRatio=false)));
+ annotation (Documentation(info="
+Base model for subsystem parameters in building energy systems.
+Contains parameters for mass flows, temperatures, heat flows and other physical quantities
+needed to define both supply and demand sides of the subsystem.
+
+Important Parameters
+
+ - Supply side parameters:
+
+ nParallelSup: Number of parallel supply systems
+ TSup_nominal: Nominal supply temperatures
+
+
+ - Demand side parameters:
+
+ nParallelDem: Number of parallel demand systems
+ m_flow_nominal: Nominal mass flow rates
+ Q_flow_nominal: Nominal heat flow rates
+ dTTra_nominal: Nominal temperature differences for heat transfer
+ dp_nominal: Nominal pressure differences
+
+
+ - Design and loss parameters:
+
+ f_design: Oversizing factors, e.g. due to heat losses
+ QLoss_flow_nominal: Nominal heat losses
+ dTLoss_nominal: Temperature differences due to heat losses
+
+
+
+"));
end PartialSubsystemParameters;
diff --git a/BESMod/Systems/Control/BaseClasses/PartialControl.mo b/BESMod/Systems/Control/BaseClasses/PartialControl.mo
index 22dd5687..ed93b564 100644
--- a/BESMod/Systems/Control/BaseClasses/PartialControl.mo
+++ b/BESMod/Systems/Control/BaseClasses/PartialControl.mo
@@ -25,5 +25,22 @@ partial model PartialControl "Model for a partial HEMS control"
extent={{44,88},{72,114}})));
annotation (Icon(graphics,
coordinateSystem(preserveAspectRatio=false)), Diagram(graphics,
- coordinateSystem(preserveAspectRatio=false)));
+ coordinateSystem(preserveAspectRatio=false)), Documentation(info="
+
+This is a partial model defining a Home Energy Management System (HEMS) control interface.
+It serves as a base class for implementing specific control strategies.
+
+
+Connectors
+
+
+
+"));
end PartialControl;
diff --git a/BESMod/Systems/RecordsCollection/Movers/AutomaticConfigurationData.mo b/BESMod/Systems/RecordsCollection/Movers/AutomaticConfigurationData.mo
index a9eb08ae..3d22bbb9 100644
--- a/BESMod/Systems/RecordsCollection/Movers/AutomaticConfigurationData.mo
+++ b/BESMod/Systems/RecordsCollection/Movers/AutomaticConfigurationData.mo
@@ -13,4 +13,19 @@ record AutomaticConfigurationData
parameter Modelica.Units.SI.Density rho "Density of fluid in use";
parameter Real V_flowCurve[:]={0,0.99,1,1.01,1.02} "Relative V_flow curve to be used";
parameter Real dpCurve[:]={1.02,1.01,1,0.99,0} "Relative dp curve to be used";
+ annotation (Documentation(info="
+
+This record extends AixLib.Fluid.Movers.Data.Generic
+to automatically configure a pump/fan for the BES Library based on nominal operating points.
+
+
+Important Parameters
+
+m_flow_nominal: Nominal mass flow rate [kg/s]
+dp_nominal: Nominal pressure difference [Pa]
+rho: Density of fluid in use [kg/m³]
+V_flowCurve: Relative volume flow curve points around nominal point [-]
+dpCurve: Relative pressure difference curve points around nominal point [-]
+
+"));
end AutomaticConfigurationData;
diff --git a/BESMod/Systems/RecordsCollection/Movers/DefaultMover.mo b/BESMod/Systems/RecordsCollection/Movers/DefaultMover.mo
index 0ac88944..6f6d4aea 100644
--- a/BESMod/Systems/RecordsCollection/Movers/DefaultMover.mo
+++ b/BESMod/Systems/RecordsCollection/Movers/DefaultMover.mo
@@ -5,4 +5,15 @@ record DefaultMover
riseTimeInpFilter=30,
use_inputFilter=false,
addPowerToMedium=false);
+ annotation (Documentation(info="
+Default record for mover/pump characteristics in BESMod.
+
+Important Parameters
+
+ tau: Time constant (1 s) of motor
+ riseTimeInpFilter: Rise time of the filter (30 s)
+ use_inputFilter: False - input filter not activated
+ addPowerToMedium: False - pump power not added to medium
+
+"));
end DefaultMover;
diff --git a/BESMod/Systems/RecordsCollection/Movers/MoverBaseDataDefinition.mo b/BESMod/Systems/RecordsCollection/Movers/MoverBaseDataDefinition.mo
index 88555e57..09c78800 100644
--- a/BESMod/Systems/RecordsCollection/Movers/MoverBaseDataDefinition.mo
+++ b/BESMod/Systems/RecordsCollection/Movers/MoverBaseDataDefinition.mo
@@ -12,5 +12,9 @@ partial record MoverBaseDataDefinition
annotation (Icon(graphics,
coordinateSystem(preserveAspectRatio=false)), Diagram(graphics,
- coordinateSystem(preserveAspectRatio=false)));
+ coordinateSystem(preserveAspectRatio=false)), Documentation(info="
+
+Partial record that specifies base parameters for movers.
+
+"));
end MoverBaseDataDefinition;
diff --git a/BESMod/Systems/RecordsCollection/ParameterStudy/NoStudy.mo b/BESMod/Systems/RecordsCollection/ParameterStudy/NoStudy.mo
index da63331f..9cde9c59 100644
--- a/BESMod/Systems/RecordsCollection/ParameterStudy/NoStudy.mo
+++ b/BESMod/Systems/RecordsCollection/ParameterStudy/NoStudy.mo
@@ -1,4 +1,9 @@
within BESMod.Systems.RecordsCollection.ParameterStudy;
record NoStudy "Don't study anything"
extends ParameterStudyBaseDefinition;
+ annotation (Documentation(info="
+
+Model which should be used if no parameter study is needed.
+
+"));
end NoStudy;
diff --git a/BESMod/Systems/RecordsCollection/SubsystemControlBaseDataDefinition.mo b/BESMod/Systems/RecordsCollection/SubsystemControlBaseDataDefinition.mo
index 8e592e61..4e1ff2a3 100644
--- a/BESMod/Systems/RecordsCollection/SubsystemControlBaseDataDefinition.mo
+++ b/BESMod/Systems/RecordsCollection/SubsystemControlBaseDataDefinition.mo
@@ -39,4 +39,7 @@ record SubsystemControlBaseDataDefinition
annotation (Icon(graphics,
coordinateSystem(preserveAspectRatio=false)), Diagram(graphics,
coordinateSystem(preserveAspectRatio=false)));
+ annotation (Documentation(info="
+ Record used to include data of each subsystem into the control of the subsystem.
+"));
end SubsystemControlBaseDataDefinition;
diff --git a/BESMod/Systems/RecordsCollection/SupplySystemBaseDataDefinition.mo b/BESMod/Systems/RecordsCollection/SupplySystemBaseDataDefinition.mo
index e51bdafb..d8e57e40 100644
--- a/BESMod/Systems/RecordsCollection/SupplySystemBaseDataDefinition.mo
+++ b/BESMod/Systems/RecordsCollection/SupplySystemBaseDataDefinition.mo
@@ -31,4 +31,10 @@ record SupplySystemBaseDataDefinition
parameter Modelica.Units.SI.Area ARoo "Roof area of building"
annotation (Dialog(group="Geometry"));
+ annotation (Documentation(info="
+
+Record that defines base geometric and thermodynamic parameters of a supply system and
+building.
+
+"));
end SupplySystemBaseDataDefinition;
diff --git a/BESMod/Systems/RecordsCollection/SystemParametersBaseDataDefinition.mo b/BESMod/Systems/RecordsCollection/SystemParametersBaseDataDefinition.mo
index 3b9f7b87..2414421c 100644
--- a/BESMod/Systems/RecordsCollection/SystemParametersBaseDataDefinition.mo
+++ b/BESMod/Systems/RecordsCollection/SystemParametersBaseDataDefinition.mo
@@ -78,4 +78,49 @@ record SystemParametersBaseDataDefinition
annotation (defaultComponentName = "baseParameterAssumptions", Icon(graphics,
coordinateSystem(preserveAspectRatio=false)), Diagram(graphics,
coordinateSystem(preserveAspectRatio=false)));
+ annotation (Documentation(info="
+This record contains the basic parameters used globally in all BESMod systems.
+It defines temperature levels, heat demand characteristics, and system configuration parameters
+for building energy system simulations.
+
+Important Parameters
+Heat Demand
+
+ nZones: Number of building zones (default: 1)
+ QBui_flow_nominal: Nominal heating load per zone [W]
+
+
+Temperature Levels
+
+ TOda_nominal: Nominal outdoor air temperature [K]
+ TSetZone_nominal: Nominal zone setpoint temperatures [K]
+ THydSup_nominal: Nominal hydraulic supply temperatures [K]
+ TVenSup_nominal: Nominal ventilation supply temperatures [K]
+ TEleSup_nominal: Nominal electrical heating supply temperatures [K]
+ TSetDHW: DHW setpoint temperature [K]
+ TDHWWaterCold: Cold water inlet temperature [K]
+ TAmbHyd: Ambient temperature for hydraulic system [K]
+ TAmbVen: Ambient temperature for ventilation system [K]
+ TAmbEle: Ambient temperature for electrical system [K]
+
+
+System Configuration
+
+ use_hydraulic: Enable/disable hydraulic subsystem
+ use_ventilation: Enable/disable ventilation subsystem
+ use_dhw: Enable/disable DHW subsystem
+ use_elecHeating: Enable/disable electrical heating
+
+
+Retrofit Parameters
+
+ QBuiOld_flow_design: Design heating load before retrofit [W]
+ THydSupOld_design: Design hydraulic supply temperatures before retrofit [K]
+
+
+Weather Data
+
+ filNamWea: Weather data file name
+
+"));
end SystemParametersBaseDataDefinition;
diff --git a/BESMod/Systems/RecordsCollection/TemperatureSensors/DefaultSensor.mo b/BESMod/Systems/RecordsCollection/TemperatureSensors/DefaultSensor.mo
index 5fa53578..f0d4c041 100644
--- a/BESMod/Systems/RecordsCollection/TemperatureSensors/DefaultSensor.mo
+++ b/BESMod/Systems/RecordsCollection/TemperatureSensors/DefaultSensor.mo
@@ -6,4 +6,18 @@ record DefaultSensor
transferHeat=false,
initType=Modelica.Blocks.Types.Init.InitialState,
tau=1);
+ annotation (Documentation(info="
+Information
+Default temperature sensor record.
+
+
+Important Parameters
+
+ - TAmb = 293.15 K: Ambient temperature
+ - tauHeaTra = 1200 s: Time constant for heat transfer
+ - transferHeat = false: Heat transfer disabled
+ - initType = InitialState: Initial state configuration type
+ - tau = 1 s: Time constant of the sensor
+
+"));
end DefaultSensor;
diff --git a/BESMod/Systems/RecordsCollection/TemperatureSensors/TemperatureSensorBaseDefinition.mo b/BESMod/Systems/RecordsCollection/TemperatureSensors/TemperatureSensorBaseDefinition.mo
index fcfc388d..9295c590 100644
--- a/BESMod/Systems/RecordsCollection/TemperatureSensors/TemperatureSensorBaseDefinition.mo
+++ b/BESMod/Systems/RecordsCollection/TemperatureSensors/TemperatureSensorBaseDefinition.mo
@@ -17,4 +17,9 @@ partial record TemperatureSensorBaseDefinition
annotation (Icon(graphics,
coordinateSystem(preserveAspectRatio=false)), Diagram(graphics,
coordinateSystem(preserveAspectRatio=false)));
+ annotation (Documentation(info="
+
+Base record that defines common parameters for temperature sensors in the BESMod library.
+
+"));
end TemperatureSensorBaseDefinition;
diff --git a/BESMod/Systems/RecordsCollection/Valves/DefaultThreeWayValve.mo b/BESMod/Systems/RecordsCollection/Valves/DefaultThreeWayValve.mo
index cb04844f..db3ee119 100644
--- a/BESMod/Systems/RecordsCollection/Valves/DefaultThreeWayValve.mo
+++ b/BESMod/Systems/RecordsCollection/Valves/DefaultThreeWayValve.mo
@@ -14,4 +14,18 @@ record DefaultThreeWayValve
R=50,
delta0=0.01,
deltaM=0.02);
+ annotation (Documentation(info="
+
+Default parameter settings for a three-way valve.
+This model uses flow characteristics based on valve authority and fixed
+parameters for initialization and dynamics.
+
+
+Important Parameters
+
+ valveAutho = 0.5: Valve authority
+
+
+
+