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

1407 add swimming pool model #1414

Merged
merged 40 commits into from
Jul 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
4c4c232
add pool model (incl. example) #1407
larissakuehn Nov 29, 2022
2c54634
add data base for swimming pools (base record and different pool type…
larissakuehn Nov 29, 2022
6993187
change package structure for pool data base #1407
larissakuehn Nov 29, 2022
d29e69e
Merge remote-tracking branch 'origin/development' into 1407-add-swimm…
larissakuehn Nov 29, 2022
5130e76
Add example without ideal heater and correct corresponding errors #1407
larissakuehn Nov 30, 2022
bb39144
Changed variable naming acording to conventions for AixLib and and ad…
larissakuehn Nov 30, 2022
edb4fba
Fix errors in parameterization and add documentation for pool model. …
larissakuehn Nov 30, 2022
64c4190
CI message from ebc-aixlib-bot. Push new files with corrected html Sy…
Nov 30, 2022
8a00ad3
Merge remote-tracking branch 'origin/correct_HTML_1407-add-swimming-p…
larissakuehn Dec 1, 2022
a38d338
changes in graphical view for example #1407
larissakuehn Dec 1, 2022
8bd2277
Delete old models of swimming pool
larissakuehn Dec 2, 2022
b0faaf8
Changed variable names, added units etc. #1407
larissakuehn Dec 6, 2022
c58bed1
Merge branch 'development' into 1407-add-swimming-pool-model
larissakuehn Jan 2, 2023
22b9630
Add energy dynamics and initial temperatures for pool walls
larissakuehn Jan 3, 2023
737e926
correct errors in pool wall dum,my #1407
larissakuehn Jan 3, 2023
cfce70a
change declaration of pool wall record #1407
larissakuehn Jan 3, 2023
8a0d9f5
add value for TPool in pool wall model #1407
larissakuehn Jan 3, 2023
6fd193d
Add data for pool pump #1407
larissakuehn Jan 3, 2023
0fa518a
fix typo in data record name #1407
larissakuehn Jan 13, 2023
b8e646a
Merge remote-tracking branch 'origin/1407-add-swimming-pool-model' in…
larissakuehn Jan 13, 2023
f941057
Update package.mo
Mar 9, 2023
1819e75
Delete data bases which are not needed for this issue #1407
larissakuehn Apr 11, 2023
ed21aef
Rename parameters to meet naming convention #1407
larissakuehn Apr 11, 2023
86c0516
Rename base data record and change strukture of package #1407
larissakuehn Apr 11, 2023
2b36582
Rename package fluid.pool to fluid.pools (analog to movers, heatpumps…
larissakuehn Apr 11, 2023
cba8332
Add descriptions for pool wall record #1407
larissakuehn Apr 11, 2023
3064c96
fullfill naming convention #1407
larissakuehn Apr 11, 2023
e2fd9a8
fixed warnings in example
larissakuehn Apr 11, 2023
cdce348
fixed warning in example #1407
larissakuehn Apr 11, 2023
3037c1f
propagate temperature of fresh water and set hConvAir final #1407
larissakuehn Apr 11, 2023
944652b
Add short descriptions for examples #1407
larissakuehn Apr 11, 2023
b338531
Add simulate and plot scripts for both examples #1407
larissakuehn Apr 11, 2023
975f83f
Merge remote-tracking branch 'origin/development' into 1407-add-swimm…
larissakuehn Apr 11, 2023
70f476c
lower case for components #1407
larissakuehn Apr 11, 2023
0ddc456
add simulate and plot script for second example #1407
larissakuehn Apr 11, 2023
e93de43
Correct simulate and plot scripts #1407
larissakuehn Apr 12, 2023
c1d898d
CI message from ebc-aixlib-bot. Automatic push of CI with new regress…
Apr 12, 2023
a85762c
Delete old package for pools # 1407
larissakuehn Apr 14, 2023
9bf7564
Add icon for Pools package #1407
larissakuehn Jun 6, 2023
03770a7
Merge branch 'development' into 1407-add-swimming-pool-model
larissakuehn Jul 17, 2023
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
2,503 changes: 0 additions & 2,503 deletions AixLib/.copiedFiles.txt

This file was deleted.

42 changes: 42 additions & 0 deletions AixLib/DataBase/Pools/ChildrensPool.mo
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
within AixLib.DataBase.Pools;
record ChildrensPool "Pool which is mainly used by children"
extends IndoorSwimmingPoolBaseDataDefinition(
TPool=303.15,
VPool=126.8,
APool=125.0,
depthPool=0.9303008070432868,
VSto=69.333925940005700,
V_flow_nominal=0.028045267489711933,
V_flow_par=0.0125,
use_parLoa=true,
dpHeaExcPool=0,
use_ideHeaExc=true,
KHeat=1000,
timeHea=1,
QMaxHeat=1000000,
QMinHeat=0,
betaInUse=0.011111111111111112,
use_poolCov=false,
use_watRec=false,
x_rec=0.0,
m_flow_out=0.055645372003397,
use_HRS=true,
etaHRS=0.8,
use_wavPool=false,
heightWav=0,
widthWav=0,
perWavPul=1800,
timeWavPul_start=0,
widthWavPul=0,
AWalInt=0.001,
AWalExt=156.5,
AFloInt=0.001,
AFloExt=156.5,
hConWatHor=50.0,
hConWatVer=5200.0,
PoolWallParam=
AixLib.DataBase.Pools.SwimmingPoolWalls.ConcreteInsulationConstruction());
annotation (Documentation(info="<html>
<p>The swimming pool &quot;ChildrensPool&quot; describes a typical indoor swimming pool, which is mainly used by children and to teach children swimming. </p>
</html>"));
end ChildrensPool;
77 changes: 77 additions & 0 deletions AixLib/DataBase/Pools/IndoorSwimmingPoolBaseDataDefinition.mo
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
within AixLib.DataBase.Pools;
record IndoorSwimmingPoolBaseDataDefinition
extends Modelica.Icons.Record;

parameter Modelica.Units.SI.Temperature TPool
"Set water temperature of swimming pool";
parameter Modelica.Units.SI.Volume VPool "Volume of pool water";
parameter Modelica.Units.SI.Area APool(min=0)
"Area of water surface of swimming pool";
parameter Modelica.Units.SI.Length depthPool(min=0)
"Average depth of swimming pool";
parameter Modelica.Units.SI.Volume VSto
"Usable Volume of water storage, DIN 19643-1";

// parameter for pool water circulation
parameter Modelica.Units.SI.VolumeFlowRate V_flow_nominal(min=0.001)
"Circulation volume flow rate";
parameter Modelica.Units.SI.VolumeFlowRate V_flow_par(min=0)
"In the case of partial load: circulation volume flow rate during non-opening hours, DIN 19643-1";
parameter Boolean use_parLoa=false "Partial load operation implemented for non opening hours?";
parameter Modelica.Units.SI.PressureDifference dpHeaExcPool
"Pressure drop of heat exchanger, should be zero for an indeal heated pool";
parameter Boolean use_ideHeaExc=true "Include an ideal heat exchanger into the circulation system";
parameter Real KHeat "Gain of controller for ideal heater";
parameter Modelica.Units.SI.Time timeHea "Time constant of Integrator block for ideal heater";
parameter Real QMaxHeat "Upper limit of output for ideal heater";
parameter Real QMinHeat "Lower limit of output for ideal heater";

// parameter for evaporation
parameter Real betaInUse(unit="m/s") "Water transfer coefficient during opening hours if pool is used, VDI 2089";
parameter Boolean use_poolCov=false "Pool covered during non opening hours";

// parameter for fresh water
parameter Boolean use_watRec= false "Recycled water used for refilling pool water?";
parameter Real x_rec(min=0) "Percentage of refilling water provided by recycled pool water, DIN 19643-1: <= 0,8";
parameter Modelica.Units.SI.MassFlowRate m_flow_out(min=0.0001)
"Waterexchange due to people in the pool, DIN 19643-1";
parameter Boolean use_HRS=false "Is a heat recovery system physically integrated?";
parameter Modelica.Units.SI.Efficiency etaHRS
"Effieciency of heat recovery system";

// Wave mode
parameter Boolean use_wavPool=false "Is there a wave machine installed?";
parameter Modelica.Units.SI.Length heightWav "Height of generated wave";
parameter Modelica.Units.SI.Length widthWav
"Width of generated wave/ width of wave machineoutlet";
parameter Modelica.Units.SI.Time timeWavPul_start
"Start time of first wave cycle";
parameter Modelica.Units.SI.Time perWavPul "Time of cycling period";
parameter Real widthWavPul "Fraction of time of wave generation within cycling period";

// Pool Walls
parameter Modelica.Units.SI.Area AWalInt "Area of pool walls which is connected to inner rooms (inner pool walls)";
parameter Modelica.Units.SI.Area AWalExt "Area of pool walls which is connected to the ground (pool wall with earth contact)";
parameter Modelica.Units.SI.Area AFloInt "Area of pool floors which is connected to inner rooms (inner pool floor)";
parameter Modelica.Units.SI.Area AFloExt "Area of pool floors which is connected to teh ground (pool floor with earth contact)";
parameter Modelica.Units.SI.CoefficientOfHeatTransfer hConWatHor "Mean value for the heat transfer coefficient of free convection on horizontal pool floors";
parameter Modelica.Units.SI.CoefficientOfHeatTransfer hConWatVer "Mean value for the heat transfer coefficient of free convection on vertical pool walls";
//replaceable parameter AixLib.DataBase.Walls.WallBaseDataDefinition PoolWallParam;
parameter AixLib.DataBase.Walls.WallBaseDataDefinition PoolWallParam
"Wall base data definition with all layers of pool walls" annotation (choicesAllMatching=true);

annotation (Documentation(info="<html>

This is the base definition of indoor swimming pool records used in <a href=
\"AixLib.Fluid.Pools.IndoorSwimmingPool\">AixLib.Fluid.Pools.IndoorSwimmingPool</a>.
It aggregates all parameters at one record to enhance usability,
exchanging entire datasets and automatic generation of these
datasets.
<h4>References </h4>
<ul>
<li>German Association of Engineers: Guideline VDI 2089-1, January 2010: Building Services in swimming baths - Indoor Pools</li>
<li>German Institute for Standardization DIN 19643-1, November 2012: Treatment of water of swimming pools and baths - Part 1 General Requirements</li>
<li>Chroistoph Saunus, 2005: Schwimmb&auml;der Planung - Ausf&uuml;hrung - Betrieb</li>
</ul>
</html>"));
end IndoorSwimmingPoolBaseDataDefinition;
42 changes: 42 additions & 0 deletions AixLib/DataBase/Pools/SportPool.mo
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
within AixLib.DataBase.Pools;
record SportPool "Pool which is mainly used by sport swimmers"
extends IndoorSwimmingPoolBaseDataDefinition(
TPool=301.15,
VPool=942.956,
APool=416.5,
depthPool=2.2640000000000002,
VSto=69.333925940005700,
V_flow_nominal=0.0856995884773662,
V_flow_par=0.023144444444444443,
use_parLoa=true,
dpHeaExcPool=0,
use_ideHeaExc=true,
KHeat=1000,
timeHea=1,
QMaxHeat=1000000,
QMinHeat=0,
betaInUse=0.011111111111111112,
use_poolCov=false,
use_watRec=false,
x_rec=0.0,
m_flow_out=0.170038866026520,
use_HRS=true,
etaHRS=0.8,
use_wavPool=false,
heightWav=0,
widthWav=0,
perWavPul=1800,
timeWavPul_start=0,
widthWavPul=10/30*100,
AWalInt=21.658,
AWalExt=143.32,
AFloInt=0.001,
AFloExt=559.82,
hConWatHor=50.0,
hConWatVer=5200.0,
PoolWallParam=
AixLib.DataBase.Pools.SwimmingPoolWalls.ConcreteInsulationConstruction());
annotation (Documentation(info="<html>
<p>The swimming pool &quot;SportPool&quot; describes a typical indoor swimming pool, which is mainly used for sport swimming. </p>
</html>"));
end SportPool;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
within AixLib.DataBase.Pools.SwimmingPoolWalls;
record ConcreteInsulationConstruction
"Concrete pool construction with insulation"
extends AixLib.DataBase.Walls.WallBaseDataDefinition(
n(min=1) = 3 "Number of wall layers",
d={0.05,0.2,0.1} "Thickness of wall layers",
rho={1940,2330,30} "Density of wall layers",
lambda={1.4,2.1,0.035} "Thermal conductivity of wall layers",
c={0.0001,0.001,0.00138} "Specific heat capacity of wall layers",
eps=0.9 "Emissivity of inner wall surface");
annotation (Icon(coordinateSystem(preserveAspectRatio=false)), Diagram(
coordinateSystem(preserveAspectRatio=false)));
end ConcreteInsulationConstruction;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
within AixLib.DataBase.Pools.SwimmingPoolWalls;
record StainlessSteelConstruction
"Stainless steel pool construction without insulation"
extends AixLib.DataBase.Walls.WallBaseDataDefinition(
n(min=1) = 1 "Number of wall layers",
d={0.05} "Thickness of wall layers",
rho={7900} "Density of wall layers",
lambda={15} "Thermal conductivity of wall layers",
c={500} "Specific heat capacity of wall layers",
eps=0.9 "Emissivity of inner wall surface");
annotation (Icon(coordinateSystem(preserveAspectRatio=false)), Diagram(
coordinateSystem(preserveAspectRatio=false)));
end StainlessSteelConstruction;
3 changes: 3 additions & 0 deletions AixLib/DataBase/Pools/SwimmingPoolWalls/package.mo
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
within AixLib.DataBase.Pools;
package SwimmingPoolWalls
end SwimmingPoolWalls;
2 changes: 2 additions & 0 deletions AixLib/DataBase/Pools/SwimmingPoolWalls/package.order
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ConcreteInsulationConstruction
StainlessSteelConstruction
42 changes: 42 additions & 0 deletions AixLib/DataBase/Pools/TypesOfIndoorSwimmingPools/ChildrensPool.mo
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
within AixLib.DataBase.Pools.TypesOfIndoorSwimmingPools;
record ChildrensPool "Pool which is mainly used by children"
extends IndoorSwimmingPoolBaseRecord(
TPool=303.15,
VPool=126.8,
APool=125.0,
depPool=0.9303008070432868,
VSto=69.333925940005700,
V_flow_nominal=0.028045267489711933,
V_flow_par=0.0125,
use_parLoa=true,
dpHeaExcPool=0,
use_ideHeaExc=true,
KHeat=1000,
timeHea=1,
QMaxHeat=1000000,
QMinHeat=0,
betaInUse=0.011111111111111112,
use_poolCov=false,
use_watRec=false,
x_rec=0.0,
m_flow_out=0.055645372003397,
use_HRS=true,
etaHRS=0.8,
use_wavPool=false,
heiWav=0,
widWav=0,
perWavPul=1800,
timeWavPul_start=0,
widWavPul=0,
AWalInt=0.001,
AWalExt=156.5,
AFloInt=0.001,
AFloExt=156.5,
hConWatHor=50.0,
hConWatVer=5200.0,
PoolWallParam=
AixLib.DataBase.Pools.SwimmingPoolWalls.ConcreteInsulationConstruction());
annotation (Documentation(info="<html>
<p>The swimming pool &quot;ChildrensPool&quot; describes a typical indoor swimming pool, which is mainly used by children and to teach children swimming. </p>
</html>"));
end ChildrensPool;
42 changes: 42 additions & 0 deletions AixLib/DataBase/Pools/TypesOfIndoorSwimmingPools/SportPool.mo
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
within AixLib.DataBase.Pools.TypesOfIndoorSwimmingPools;
record SportPool "Pool which is mainly used by sport swimmers"
extends IndoorSwimmingPoolBaseRecord(
TPool=301.15,
VPool=942.956,
APool=416.5,
depPool=2.2640000000000002,
VSto=69.333925940005700,
V_flow_nominal=0.0856995884773662,
V_flow_par=0.023144444444444443,
use_parLoa=true,
dpHeaExcPool=0,
use_ideHeaExc=true,
KHeat=1000,
timeHea=1,
QMaxHeat=1000000,
QMinHeat=0,
betaInUse=0.011111111111111112,
use_poolCov=false,
use_watRec=false,
x_rec=0.0,
m_flow_out=0.170038866026520,
use_HRS=true,
etaHRS=0.8,
use_wavPool=false,
heiWav=0,
widWav=0,
perWavPul=1800,
timeWavPul_start=0,
widWavPul=10/30*100,
AWalInt=21.658,
AWalExt=143.32,
AFloInt=0.001,
AFloExt=559.82,
hConWatHor=50.0,
hConWatVer=5200.0,
PoolWallParam=
AixLib.DataBase.Pools.SwimmingPoolWalls.ConcreteInsulationConstruction());
annotation (Documentation(info="<html>
<p>The swimming pool &quot;SportPool&quot; describes a typical indoor swimming pool, which is mainly used for sport swimming. </p>
</html>"));
end SportPool;
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
SportPool
ChildrensPool
3 changes: 3 additions & 0 deletions AixLib/DataBase/Pools/package.mo
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
within AixLib.DataBase;
package Pools
end Pools;
4 changes: 4 additions & 0 deletions AixLib/DataBase/Pools/package.order
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
IndoorSwimmingPoolBaseDataDefinition
SportPool
ChildrensPool
SwimmingPoolWalls
1 change: 1 addition & 0 deletions AixLib/DataBase/package.order
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ Chiller
HeatPump
Media
Pipes
Pools
Profiles
Pumps
Radiators
Expand Down
Loading