Skip to content

Commit

Permalink
Merge pull request #1414 from RWTH-EBC/1407-add-swimming-pool-model
Browse files Browse the repository at this point in the history
1407 add swimming pool model
  • Loading branch information
larissakuehn authored Jul 18, 2023
2 parents 1669119 + 03770a7 commit cd4a0b5
Show file tree
Hide file tree
Showing 32 changed files with 1,487 additions and 2,503 deletions.
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

0 comments on commit cd4a0b5

Please sign in to comment.