modelBoilerNoControl

Boiler model with physics only

Extends from AixLib.Fluid.BoilerCHP.BaseClasses.PartialHeatGenerator (Partial model for heat generators).

Information

Overview

A boiler model consisting of physical components.The efficiency is based on the part load rate and the inflow water temperature.


Assumptions for predefined parameter values (based on Vissmann data cheat 5811009):

G: a heat loss of 0.3 % of nominal power at a temperature difference of 50 K to ambient is assumed.

C: factor C/Q_nom is in range of 1.2 to 2 for boilers with nominal power between 460 kW and 80 kW (with c of 500J/kgK for steel). Thus, a value of 1.5 is used as default.

  • September 19, 2019  by Alexander Kümpel:
    First implementation

Parameters

TypeNameDefaultDescription
Modelica.Units.SI.ThermalConductanceG0.003*Q_nom/50Constant thermal conductance to environment(G=Q_loss/dT)
Modelica.Units.SI.HeatCapacityC1.5*Q_nomHeat capacity of metal (J/K)
Modelica.Units.SI.VolumeVparamBoiler.volumeVolume
Modelica.Units.SI.PowerQ_nomparamBoiler.Q_nomNominal heating power
Real[:,2]etaLoadBasedparamBoiler.etaTable matrix for part load based efficiency (e.g. [0,0.99; 0.5, 0.98; 1, 0,97])
Real[:,2]etaTempBased[293.15, 1.09; 303.15, 1.08; 313.15, 1.05; 323.15, 1.; 373.15, 0.99]Table matrix for temperature based efficiency
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.PressureDifferencedp_nominal (from PartialHeatGenerator)a*(m_flow_nominal/rho_default)^nPressure drop at nominal mass flow rate
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
Advanced › Sensor Properties
Modelica.Units.SI.Timetau (from PartialHeatGenerator)1Time constant of the temperature sensors at nominal flow rate
Modelica.Blocks.Types.InitinitType (from PartialHeatGenerator)Modelica.Blocks.Types.Init.InitialStateType of initialization (InitialState and InitialOutput are identical)
BooleantransferHeat (from PartialHeatGenerator)falseIf true, temperature T converges towards TAmb when no flow
Modelica.Units.SI.TemperatureTAmb (from PartialHeatGenerator)Medium.T_defaultFixed ambient temperature for heat transfer
Modelica.Units.SI.TimetauHeaTra (from PartialHeatGenerator)1200Time constant for heat transfer, default 20 minutes
Initialization
Modelica.Units.SI.TemperatureT_start (from PartialHeatGenerator)Medium.T_defaultInitial or guess value of output (= state)
Modelica.Units.SI.AbsolutePressuredp_start (from PartialHeatGenerator)0Guess value of dp = port_a.p - port_b.p
Modelica.Units.SI.MassFlowRatem_flow_start (from PartialHeatGenerator)0Guess value of m_flow = port_a.m_flow
Modelica.Units.SI.AbsolutePressurep_start (from PartialHeatGenerator)Medium.p_defaultStart value of pressure
Advanced › Pressure drop
Booleanfrom_dp (from PartialHeatGenerator)false= true, use m_flow = f(dp) else dp = f(m_flow)
Booleanlinearized (from PartialHeatGenerator)false= true, use linear relation between m_flow and dp for any flow rate
RealdeltaM (from PartialHeatGenerator)0.3Fraction of nominal mass flow rate where transition to turbulent occurs
Reala (from PartialHeatGenerator)Coefficient of volume flow rate dependent nominal pressure drop, dp_nominal=a*V_flow_nominal^n.
Realn (from PartialHeatGenerator)2Exponent of volume flow rate dependent nominal pressure drop, dp_nominal=a*V_flow_nominal^n.
Modelica.Units.SI.Densityrho_default (from PartialHeatGenerator)Medium.density_pTX(Medium.p_default, Medium.T_default, Medium.X_default)Density used for parameterization of pressure curve
Dynamics
Modelica.Fluid.Types.DynamicsenergyDynamics (from PartialHeatGenerator)Modelica.Fluid.Types.Dynamics.DynamicFreeInitialType of energy balance: dynamic (3 initialization options) or steady state
General › Boiler type
AixLib.DataBase.Boiler.General.BoilerTwoPointBaseDataDefinitionparamBoilerParameters for Boiler

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)
Modelica.Blocks.Interfaces.RealOutputfuelPowerConnector of Real output signal
Modelica.Blocks.Interfaces.RealOutputthermalPowerValue of Real output
Modelica.Blocks.Interfaces.RealInputu_relRelative gas power [0,1]
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_bT_ambHeat port for heat losses to ambient
Modelica.Blocks.Interfaces.RealOutputT_outOutflow temperature of the passing fluid
Modelica.Blocks.Interfaces.RealOutputT_inInflow temperature of the passing fluid

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
AixLib.Fluid.Sensors.TemperatureTwoPortsenTRet (from PartialHeatGenerator)Temperature sensor of cold side of heat generator (return)
AixLib.Fluid.Sensors.TemperatureTwoPortsenTSup (from PartialHeatGenerator)Temperature sensor of hot side of heat generator (supply)
AixLib.Fluid.Sensors.MassFlowRatesenMasFlo (from PartialHeatGenerator)Sensor for mass flwo rate
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlowheater (from PartialHeatGenerator)Prescribed heat flow
AixLib.Fluid.MixingVolumes.MixingVolumevol (from PartialHeatGenerator)Fluid volume
AixLib.Fluid.FixedResistances.PressureDroppreDro (from PartialHeatGenerator)Pressure drop
Modelica.Thermal.HeatTransfer.Components.HeatCapacitorinternalCapacityBoiler thermal capacity (dry weight)
Modelica.Thermal.HeatTransfer.Components.ThermalConductorConductanceToEnvThermal resistance of the boiler casing
Modelica.Blocks.Math.ProductQgasCalculationCalculate gas usage
Modelica.Blocks.Nonlinear.LimiterlimiterLimits the rel power between 0 and 1
Modelica.Blocks.Sources.RealExpressionNominalGasConsumptionNominal gas power
Modelica.Blocks.Tables.CombiTable1DvefficiencyTableLoadDependingTable with efficiency parameters
Modelica.Blocks.Math.ProductQflowCalculationCalculation of the produced heatflow
Modelica.Blocks.Math.ProductetaCalculationcalculates the efficiency of the boiler
Modelica.Blocks.Tables.CombiTable1DvefficiencyTableLoadDepending1Table with efficiency parameters