IEA EBC Annex 60 EBC logo

Annex60.Fluid.HeatExchangers.Examples.BaseClasses

Package with base classes for Annex60.Fluid.HeatExchangers.Examples

Information

This package contains base classes that are used to construct the models in Annex60.Fluid.HeatExchangers.Examples.

Extends from Modelica.Icons.BasesPackage (Icon for packages containing base classes).

Package Content

Name Description
Annex60.Fluid.HeatExchangers.Examples.BaseClasses.Heater Heater Base class for example model for the heater and cooler

Annex60.Fluid.HeatExchangers.Examples.BaseClasses.Heater

Base class for example model for the heater and cooler

Annex60.Fluid.HeatExchangers.Examples.BaseClasses.Heater

Information

This partial model is used to construct the models Annex60.Fluid.HeatExchangers.Examples.AirHeater_T and Annex60.Fluid.HeatExchangers.Examples.AirHeater_u and the similar models Annex60.Fluid.HeatExchangers.Examples.WaterHeater_T and Annex60.Fluid.HeatExchangers.Examples.WaterHeater_u. It consists of a volume with heat loss to the ambient, a fan, a set point for the temperature of the volume and a PI controller.

The instance bou is required to set a reference pressure for system models in which the fluid is modelled as an incompressible fluid, and it also is required to account for a variation of density of the fluid.

Parameters

TypeNameDefaultDescription
replaceable package MediumModelica.Media.Interfaces.Pa...Medium model
VolumeV6*6*2.7Volume [m3]
MassFlowRatem_flow_nominalV*1.2*6/3600Nominal mass flow rate [kg/s]
HeatFlowRateQ_flow_nominal30*6*6Nominal heat loss of the room [W]

Connectors

TypeNameDescription
replaceable package MediumMedium model

Modelica definition

partial model Heater "Base class for example model for the heater and cooler" replaceable package Medium = Modelica.Media.Interfaces.PartialMedium "Medium model"; parameter Modelica.SIunits.Volume V = 6*6*2.7 "Volume"; parameter Modelica.SIunits.MassFlowRate m_flow_nominal = V*1.2*6/3600 "Nominal mass flow rate"; parameter Modelica.SIunits.HeatFlowRate Q_flow_nominal = 30*6*6 "Nominal heat loss of the room"; Annex60.Fluid.MixingVolumes.MixingVolume vol( redeclare package Medium = Medium, V=V, energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, m_flow_nominal=m_flow_nominal, mSenFac=2, nPorts=3); Modelica.Thermal.HeatTransfer.Components.ThermalConductor theCon( G=Q_flow_nominal/20) "Thermal conductance to the outside"; Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature TBou "Fixed temperature boundary condition"; Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensor TVol "Sensor for volume temperature"; Annex60.Fluid.Movers.FlowControlled_m_flow mov( redeclare package Medium = Medium, m_flow_nominal=m_flow_nominal, addPowerToMedium=false, energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState) "Fan or pump"; Modelica.Blocks.Sources.RealExpression TOut(y=273.15 + 16 - 5*cos(time/86400* 2*Modelica.Constants.pi)) "Outdoor temperature"; Modelica.Blocks.Sources.Pulse TSet( amplitude=4, period=86400, offset=273.15 + 16, startTime=7*3600) "Setpoint for room temperature"; Controls.Continuous.LimPID conPI( controllerType=Modelica.Blocks.Types.SimpleController.PI, k=1, yMax=1, yMin=0, Ti=120) "Controller"; Modelica.Blocks.Sources.Constant mFan_flow(k=m_flow_nominal) "Mass flow rate of the fan"; Sources.FixedBoundary bou(redeclare package Medium = Medium, nPorts=1) "Fixed pressure boundary condition, required to set a reference pressure"; Sensors.TemperatureTwoPort THeaOut(redeclare package Medium = Medium, m_flow_nominal=m_flow_nominal) "Outlet temperature of the heater"; FixedResistances.PressureDrop res( redeclare package Medium = Medium, m_flow_nominal=m_flow_nominal, dp_nominal=100, linearized=true) "Flow resistance to decouple pressure state from boundary"; equation connect(theCon.port_a, TBou.port); connect(vol.heatPort, theCon.port_b); connect(vol.heatPort, TVol.port); connect(TOut.y, TBou.T); connect(TVol.T, conPI.u_m); connect(TSet.y, conPI.u_s); connect(mFan_flow.y,mov. m_flow_in); connect(THeaOut.port_b, vol.ports[1]); connect(vol.ports[2],mov. port_a); connect(res.port_b, bou.ports[1]); connect(res.port_a, vol.ports[3]); end Heater;

http://iea-annex60.org