modelScalableBoiler

Modular Boiler Model - With pump and feedback - Simple PLR regulation

Extends from AixLib.Fluid.Interfaces.PartialTwoPortInterface (Partial model with two ports and declaration of quantities that are used by many models).

Information

The ModularBoiler package uses the AixLib.Fluid.BoilerCHP.BoilerGeneric model to create an easy to use module.

Configuration options

The model can be configured with or without a pump (hasPump) and with or without a feedback circuit (hasFeedback) for return temperature control.

Furthermore the model can have an internal control for the flow temperature based on a heating curve (use_HeaCur). This allows an easy setup of a direct to use simulation model of the boiler that can be connected to other modules.

Parameters

TypeNameDefaultDescription
Assumptions
BooleanallowFlowReversal (from PartialTwoPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal
Nominal condition
Modelica.Units.SI.MassFlowRatem_flow_nominal (from PartialTwoPortInterface)Nominal mass flow rate
Modelica.Units.SI.TemperatureTRet_nominal308.15Return temperature TCold
Modelica.Units.SI.TemperatureDifferencedT_nominal20Temperature difference nominal
Modelica.Units.SI.TemperatureTSup_nominal353.15Design supply temperature
Advanced
Modelica.Units.SI.MassFlowRatem_flow_small (from PartialTwoPortInterface)1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow
Advanced › Diagnostics
Booleanshow_T (from PartialTwoPortInterface)false= true, if actual temperature at port is computed
System setup
BooleanhasPumtrueModel includes a pump
Modelica.Units.SI.HeatFlowRateQ_flow_nominal50000Nominal heat flow rate
RealFirRatMin0.15Minimal firing rate
Control › Safety
Modelica.Units.SI.TemperatureTSup_max363.15Maximal temperature to force shutdown
Modelica.Units.SI.TemperatureTRet_min313.15Minimum return temperature, at which the system is shut down
Modelica.Units.SI.Timetime_minOff900Time after which the device can be turned on again
Modelica.Units.SI.Timetime_minOn900Time after which the device can be turned off again
Control › Heating Curve
Booleanuse_HeaCurfalseUse heating curve to set flow temperature
Booleanuse_tableDatatrueChoose between tables or function to calculate TSet
Realdeclination1
Realday_hour6
Realnight_hour22
Utilities.Time.Types.ZeroTimezerTimAixLib.Utilities.Time.Types.ZeroTime.NY2017Enumeration for choosing how reference time (time = 0) should be defined. Used for heating curve
Modelica.Units.SI.ThermodynamicTemperatureTOffset0Offset to heating curve temperature
Control › Flow temperature
RealkFloTem0.05Gain of controller
Modelica.Units.SI.TimeTiFloTem10Time constant of Integrator block
Feedback
BooleanhasFedBactruecircuit has Feedback
Modelica.Units.SI.PressureDifferencedp_ValvePressure Difference set in regulating valve for pressure equalization in heating system
RealKvKv (metric) flow coefficient [m3/h/(bar)^(1/2)]
Control › Feedback
RealkFedBac1Gain of controller
Modelica.Units.SI.TimeTiFeedBack0.5Time constant of Integrator block
RealyMaxFedBac0.99Upper limit of output
RealyMinFedBac0.01Lower limit of output
Dynamics
Modelica.Fluid.Types.DynamicsenergyDynamicsModelica.Fluid.Types.Dynamics.DynamicFreeInitialType of energy balance: dynamic (3 initialization options) or steady state
Initialization
Modelica.Media.Interfaces.Types.TemperatureT_startMedium.T_defaultStart value of temperature

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a (from PartialTwoPort)Fluid connector a (positive design flow direction is from port_a to port_b)
Modelica.Fluid.Interfaces.FluidPort_bport_b (from PartialTwoPort)Fluid connector b (positive design flow direction is from port_a to port_b)
AixLib.Controls.Interfaces.BoilerControlBusboiBus

Components

TypeNameDefaultDescription
Modelica.Units.SI.MassFlowRatem_flow (from PartialTwoPortInterface)port_a.m_flowMass flow rate from port_a to port_b (m_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedp (from PartialTwoPortInterface)port_a.p - port_b.pPressure difference between port_a and port_b
Medium.ThermodynamicStatesta_a (from PartialTwoPortInterface)if allowFlowReversal then Medium.setState_phX(port_a.p, noEvent(actualStream(port_a.h_outflow)), noEvent(actualStream(port_a.Xi_outflow))) else Medium.setState_phX(port_a.p, noEvent(inStream(port_a.h_outflow)), noEvent(inStream(port_a.Xi_outflow)))Medium properties in port_a
Medium.ThermodynamicStatesta_b (from PartialTwoPortInterface)if allowFlowReversal then Medium.setState_phX(port_b.p, noEvent(actualStream(port_b.h_outflow)), noEvent(actualStream(port_b.Xi_outflow))) else Medium.setState_phX(port_b.p, noEvent(port_b.h_outflow), noEvent(port_b.Xi_outflow))Medium properties in port_b
Fluid.BoilerCHP.BoilerGenericboiGen
AixLib.Fluid.Sensors.TemperatureTwoPortsenTSupTemperature sensor of hot side of heat generator (supply)
AixLib.Fluid.Sensors.TemperatureTwoPortsenTRetTemperature sensor of cold side of heat generator (supply)
AixLib.Fluid.Movers.SpeedControlled_ypumBoiler Pump
AixLib.Fluid.Actuators.Valves.ThreeWayEqualPercentageLinearval
AixLib.Systems.ScalableGenerationModules.ScalableBoiler.Controls.BoilerControlboiCtrCentral control unit of boiler
Modelica.Blocks.Sources.ConstantconPum

Contents

NameDescription
MediumWaterBoiler Medium
HeatingCurveFunction

Revisions

  • June, 2023 by Moritz Zuschlag; David Jansen
    First Implementation (see issue #1147)