modelBoilerGeneric

Generic performance map based boiler

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

Information

Overview

The model differs between DesignOperation and OffDesignOperation.

In DesignOperation for nominal conditions the (max) fuel power is estimated. The OffDesignOperation fuel consumption is estimated via firing rate.

During operation, the transferred heat flow is estimated with respect to actual efficiency within a performance map.


Further assumptions are used:

  • The quadratic coefficient coeffPresLoss is described by a fit-function from manufacturer data.
  • The volume vol.V bases on a fit from manufacturer data.
  • G: Thermal conductance is described by a fit 0.0465 * QNom/1000 + 4.9891 from manufacturere data at a temperature difference of 50 K to ambient
  • C: Factor C/QNom 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. (see AixLib.Fluid.BoilerCHP.BoilerNoControl)

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.PressureDifferencedp_nominal (from PartialHeatGenerator)a*(m_flow_nominal/rho_default)^nPressure drop at nominal mass flow rate
Modelica.Units.SI.HeatFlowRateQ_flow_nominalDesign thermal capacity
Modelica.Units.SI.TemperatureTSup_nominal353.15Design supply temperature
Modelica.Units.SI.TemperatureTRet_nominal333.15Design return 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
StringfilenameModelicaServices.ExternalReferences.loadResource("modelica://AixLib/Resources/Data/Fluid/BoilerCHP/BaseClasses/GenericBoiler/Boiler_Generic_Characteristic_Chart.sdf")Filename for generic boiler curves
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

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.BoilerControlBusboiBusSignal bus for the boiler

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.HeatCapacitorintCapBoiler thermal capacity (dry weight)
AixLib.Fluid.BoilerCHP.BaseClasses.OffDesignOperationoffDesignOperationCalculate efficiency in off design operation
Modelica.Thermal.HeatTransfer.Components.ThermalConductorconToEnvThermal resistance of the boiler casing
Modelica.Thermal.HeatTransfer.Sources.FixedTemperatureTEnvFixTemperature of environment around the boiler to account for heat losses
Modelica.Thermal.HeatTransfer.Sensors.HeatFlowSensorheaFloSenSensor to measure heatflow of heatlosses
Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensorTSupMeaMeasurement of supply/volume temperature
AixLib.Fluid.BoilerCHP.BaseClasses.DesignOperationdesignOperationCalculate design fuel power
Modelica.Blocks.Math.ProductfuePowFuel power calculation
Modelica.Blocks.Math.ProductthePowThermal power calculation

Revisions

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