modelIndoorSwimmingPool
Information
Overview
Model for indoor swimming pools to calculate energy and water demands. Optional use of a wave machine, pool cover, partial load for the circulation pump and heat recovery from wastewater or recycling. In addition, an ideal heater can be used to heat the pool.
Important parameters and Inputs
- All pool specific parameters are collected in one AixLib.DataBase.Pools.IndoorSwimmingPoolBaseRecord record.
- openingHours: Input profile for the opening hours to consider a pool cover or a reduced circulation flow during non-operating hours. Also, during non-opening hours pool occupancy is set to 0.
- persons: Input profile for occupancy of the pool to consider occupancy level for evaportaion.
Assumptions
- Evaporation is determined according to VDI 2089.
- Filter and disinfection units are not explicitly modeled and have to be considered within the pump delivery head (pumpHead). According to Saunus 1.7 bar is a good estimation for swimming pools in sport oriented swimming facilities.
- The type of the filter should be taken into account within the determination of the volume flow and storage capacities. DIN 19643 provides standards for the volume flow and storage capacities, taking into account the pool size and type as well as the filter type.
- There are no water losses or heat gains due to people entering or leaving the swimming pool.
References
For automatic generation of a swimming pool within a thermal zone and multizone model as well as for datasets, see https://github.com/RWTH-EBC/TEASER
References for implemented constants (use also for parametrization):
- German Association of Engineers: Guideline VDI 2089-1, January 2010: Building Services in swimming baths - Indoor Pools
- German Institute for Standardization DIN 19643-1, November 2012: Treatment of water of swimming pools and baths - Part 1 General Requirements
- Chroistoph Saunus, 2005: Schwimmbäder Planung - Ausführung - Betrieb
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| AixLib.DataBase.Pools.IndoorSwimmingPoolBaseDataDefinition | poolParam | Choose setup for this pool | |
| AixLib.DataBase.Walls.WallBaseDataDefinition | poolWallParam | Choose setup for this pool | |
| Modelica.Units.SI.SpecificHeatCapacity | RD | 461.52 | Specific gas constant for steam |
| Modelica.Units.SI.SpecificEnergy | hVap | AixLib.Media.Air.enthalpyOfCondensingGas(poolParam.TPool) | Latent heat of evaporating water |
| Modelica.Units.SI.Pressure | pumpHead | 170000 | Expected average flow resistance of water cycle |
| Modelica.Units.SI.MassFlowRate | m_flow_nominal | poolParam.V_flow_nominal*rhoWater_default | Nominal circulation mass flow rate to the pool |
| Modelica.Units.SI.MassFlowRate | m_flow_partial | poolParam.V_flow_par*rhoWater_default | Partial circulation mass flow rate to pool during non operating hours |
| Modelica.Units.SI.Efficiency | eta | if poolParam.use_HRS then poolParam.etaHRS else 0 | |
| Modelica.Media.Interfaces.Types.Temperature | TFreWater | 283.15 | Temperature of fresh water |
| Modelica.Units.SI.CoefficientOfHeatTransfer | hConvAir | 3.5 | Coefficient of heat transfer between the water surface and the room air |
| Real | eps | 0.9*0.95 | Product of expected emission coefficients of water (0.95) and the surrounding wall surfaces (0.95) |
| Dynamics › Equations | |||
| Modelica.Fluid.Types.Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamics.SteadyState | Type of energy balance: dynamic (3 initialization options) or steady state |
| Advanced › Dynamics | |||
| Modelica.Fluid.Types.Dynamics | massDynamics | energyDynamics | Type of energy balance: dynamic (3 initialization options) or steady state |
| Water transfer coefficients | |||
| Real | betaNonUse | 7/3600 | Water transfer coefficient during non opening hours |
| Real | betaCover | 0.7/3600 | Water transfer coefficient during non opening hours with pool cover |
| Real | betaWavePool | 50/3600 | Water transfer coefficient during wave pool operation |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.MassFlowRate | m_flow_evap | mass flow rate between pool water and air due to evaporation | |
| Modelica.Units.SI.Pressure | psat_TPool | Modelica.Media.Air.ReferenceMoistAir.Utilities.Water95_Utilities.psat(poolWat.T) | Saturation pressure at pool temperature |
| Modelica.Units.SI.Pressure | psat_TAir | Modelica.Media.Air.ReferenceMoistAir.Utilities.Water95_Utilities.psat(TAir) | Saturation pressure at air temperature |
| Real | phi | Relative humidity | |
| Modelica.Units.SI.MassFlowRate | m_flow_toPool | Actual circulation mass flow rate to the pool | |
| Modelica.Units.SI.MassFlowRate | m_flow_add | Mass flow of fresh water supplied to pool circulation system | |
| AixLib.Fluid.MixingVolumes.MixingVolume | poolSto | water storage for pool | |
| AixLib.Fluid.Sources.Boundary_pT | Sinc | ||
| AixLib.Fluid.MixingVolumes.MixingVolume | poolWat | water volume of pool | |
| Modelica.Blocks.Sources.RealExpression | getSetMasFlo | set circulating mass flow of pool water | |
| AixLib.Fluid.Movers.BaseClasses.IdealSource | setEva | ||
| Modelica.Blocks.Sources.RealExpression | getEva | ||
| AixLib.Fluid.HeatExchangers.ConstantEffectiveness | heatExchanger | ||
| Modelica.Blocks.Interfaces.RealInput | timeOpe | Input profile for opening hours (0: closed, 1: open) | |
| Modelica.Blocks.Interfaces.RealInput | uRelPer | relative number of people related to max. value | |
| Modelica.Blocks.Interfaces.RealInput | TAir | Temperature of the surrounding room air | |
| Modelica.Blocks.Interfaces.RealInput | X_w | Absolute humidty of the room Air | |
| AixLib.ThermalZones.ReducedOrder.Multizone.BaseClasses.AbsToRelHum | absToRelHum | Calculation of the relative humidity of the room air | |
| Modelica.Blocks.Sources.RealExpression | getAddWat | requried added fresh warter to the pool circulation | |
| AixLib.Fluid.Sources.Boundary_pT | sincEva | ||
| Modelica.Fluid.Interfaces.FluidPort_b | port_b1 | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) | |
| Modelica.Fluid.Interfaces.FluidPort_a | port_a1 | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) | |
| AixLib.Fluid.Pools.BaseClasses.waveMachine | waveMachine | ||
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a | convPool | Air temperature in zone | |
| AixLib.Utilities.Interfaces.RadPort | radPool | Mean Radiation Temperature of surrounding walls | |
| Modelica.Thermal.HeatTransfer.Components.BodyRadiation | radWaterSurface | Model to depict the heat flow rate due to radiation between the pool surface an the surrounding walls | |
| Modelica.Thermal.HeatTransfer.Components.Convection | convWaterSurface | Convection at the watersurface | |
| Modelica.Blocks.Sources.RealExpression | getHeatCoefConv | Coefficient of heat transfer between water surface and room air | |
| Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow | preHeatFlowEvapLoss | ||
| Modelica.Blocks.Math.Gain | hEva | Calculation of heat flow rate due to evaporation | |
| Modelica.Blocks.Interfaces.RealOutput | m_flow_add_out | Flow rate of added fresh water to the pool and water treatment system | |
| AixLib.Fluid.Pools.BaseClasses.HeatTransferConduction | heatTraCond | Model to depict the heat flow rate through the pool walls to the bordering room/soil | |
| Modelica.Blocks.Math.Gain | minusGain | ||
| Modelica.Blocks.Interfaces.RealOutput | QEva | Heat due to evaporation | |
| Modelica.Blocks.Interfaces.RealOutput | QPool | Heat flow rate to maintain the pool at the set temperature | |
| Modelica.Blocks.Interfaces.RealInput | TSoil | Temperature of Soil | |
| Modelica.Blocks.Interfaces.RealOutput | PPool | Output eletric energy needed for pool operation | |
| Modelica.Blocks.Interfaces.RealOutput | TPool | current temperature of pool | |
| Modelica.Blocks.Math.MultiSum | elPower | Add electric power of pump and the optional wave pool | |
| Sources.MassFlowSource_T | bou | ||
| Modelica.Blocks.Sources.RealExpression | getMeaTPool | ||
| Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow | idealHeater | ||
| AixLib.Controls.Continuous.LimPID | PI | ||
| Modelica.Blocks.Sources.RealExpression | getSetTPool | ||
| AixLib.Fluid.Movers.FlowControlled_m_flow | cirPump | circulation pump for permanent pool circulation | |
| FixedResistances.PressureDrop | res | representative resistance for whole system | |
| Modelica.Blocks.Interfaces.RealOutput | m_flow_eva | Evaporation mass flow |
Contents
| Name | Description |
|---|---|
| WaterMedium |