modelBoiler
Extends from IDEAS.Fluid.HeatPumps.Interfaces.PartialDynamicHeaterWithLosses (Partial heater model incl dynamics and environmental losses).
Information
This model is deprecated since it is not sufficiently generic. Consider using a different model such as Heater_T.
Description
Dynamic boiler model, based on interpolation in performance tables. The boiler has thermal losses to the environment which are often not mentioned in the performance tables. Therefore, the additional environmental heat losses are added to the heat production in order to ensure the same performance as in the manufacturers data, while still obtaining a dynamic model with heat losses (also when boiler is off). The heatSource will compute the required power and the environmental heat losses, and try to reach the set point.
See IDEAS.Thermal.Components.Production.Interfaces.PartialDynamicHeaterWithLosses for more details about the heat losses and dynamics.
Assumptions and limitations
- Dynamic model based on water content and lumped dry capacity
- Limited power (based on QNom and interpolation tables in heatSource)
- Heat losses to environment which are compensated 'artifically' to meet the manufacturers data in steady state conditions
- No enforced min on or min off time; Hysteresis on start/stop thanks to different parameters for minimum modulation to start and stop the heat pump
Model use
This model is based on performance tables of a specific boiler, as specified by IDEAS.Thermal.Components.Production.BaseClasses.HeatSource_CondensingGasBurner. If a different gas boiler is to be simulated, create a different Burner model with adapted interpolation tables.
- Specify medium and initial temperature (of the water + dry mass)
- Specify the nominal power
- Specify the minimum required modulation level for the boiler to start (modulation_start) and the minimum modulation level when the boiler is operating (modulation_min). The difference between both will ensure some off-time in case of low heat demands
- Connect TSet, the flowPorts and the heatPort to environment.
See also IDEAS.Thermal.Components.Production.Interfaces.PartialDynamicHeaterWithLosses for more details about the heat losses and dynamics.
Validation
The model has been verified in order to check if the 'artificial' heat loss compensation still leads to correct steady state efficiencies according to the manufacturer data. This verification is integrated in the example model IDEAS.Thermal.Components.Examples.Boiler_validation.
Example
See validation.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.Power | QNom (from PartialDynamicHeaterWithLosses) | Nominal power | |
| Modelica.Units.SI.Time | tauHeatLoss (from PartialDynamicHeaterWithLosses) | 7200 | Time constant of environmental heat losses |
| Modelica.Units.SI.Mass | mWater (from PartialDynamicHeaterWithLosses) | 5 | Mass of water in the condensor |
| Modelica.Units.SI.HeatCapacity | cDry (from PartialDynamicHeaterWithLosses) | 4800 | Capacity of dry material lumped to condensor |
| Modelica.Units.SI.MassFlowRate | m_flow_nominal (from PartialDynamicHeaterWithLosses) | Nominal mass flow rate | |
| Modelica.Units.SI.ThermalConductance | UALoss (from PartialDynamicHeaterWithLosses) | mWater*vol.mSenFac/tauHeatLoss | Thermal conductance, computed based on time constant and thermal mass |
| Real | modulationMin | 25 | Minimal modulation percentage |
| Real | modulationStart | 35 | Min estimated modulation level required for start of HP |
| Flow resistance | |||
| Boolean | computeFlowResistance (from TwoPortFlowResistanceParameters) | true | =true, compute flow resistance. Set to false to assume no friction |
| Boolean | from_dp (from TwoPortFlowResistanceParameters) | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Boolean | linearizeFlowResistance (from TwoPortFlowResistanceParameters) | false | = true, use linear relation between m_flow and dp for any flow rate |
| Real | deltaM (from TwoPortFlowResistanceParameters) | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
| Boolean | dynamicBalance (from PartialDynamicHeaterWithLosses) | true | Set to true to use a dynamic balance, which often leads to smaller systems of equations |
| Boolean | homotopyInitialization (from PartialDynamicHeaterWithLosses) | true | = true, use homotopy method |
| Boolean | allowFlowReversal (from PartialDynamicHeaterWithLosses) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal. Used only if model has two ports. |
| Nominal condition | |||
| Modelica.Units.SI.PressureDifference | dp_nominal (from TwoPortFlowResistanceParameters) | Pressure difference | |
| Dynamics › Conservation equations | |||
| Modelica.Fluid.Types.Dynamics | energyDynamics (from LumpedVolumeDeclarations) | Modelica.Fluid.Types.Dynamics.DynamicFreeInitial | Type of energy balance: dynamic (3 initialization options) or steady state |
| Modelica.Fluid.Types.Dynamics | substanceDynamics (from LumpedVolumeDeclarations) | energyDynamics | Type of independent mass fraction balance: dynamic (3 initialization options) or steady state |
| Modelica.Fluid.Types.Dynamics | traceDynamics (from LumpedVolumeDeclarations) | energyDynamics | Type of trace substance balance: dynamic (3 initialization options) or steady state |
| Advanced › Dynamics | |||
| Modelica.Fluid.Types.Dynamics | massDynamics (from LumpedVolumeDeclarations) | energyDynamics | Type of mass balance: dynamic (3 initialization options) or steady state, must be steady state if energyDynamics is steady state |
| Initialization | |||
| Medium.AbsolutePressure | p_start (from LumpedVolumeDeclarations) | Medium.p_default | Start value of pressure |
| Medium.Temperature | T_start (from LumpedVolumeDeclarations) | Medium.T_default | Start value of temperature |
| Medium.MassFraction[Medium.nX] | X_start (from LumpedVolumeDeclarations) | Medium.X_default | Start value of mass fractions m_i/m |
| Medium.ExtraProperty[Medium.nC] | C_start (from LumpedVolumeDeclarations) | fill(0, Medium.nC) | Start value of trace substances |
| Medium.ExtraProperty[Medium.nC] | C_nominal (from LumpedVolumeDeclarations) | fill(1E-2, Medium.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
| Dynamics | |||
| Real | mSenFac (from LumpedVolumeDeclarations) | 1 | Factor for scaling the sensible thermal mass of the volume |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Blocks.Interfaces.RealInput | TSet (from PartialDynamicHeaterWithLosses) | Temperature setpoint | |
| Modelica.Blocks.Interfaces.RealOutput | PEl (from PartialDynamicHeaterWithLosses) | Electrical consumption | |
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a | heatPort (from PartialDynamicHeaterWithLosses) | heatPort for thermal losses to environment | |
| Modelica.Fluid.Interfaces.FluidPort_a | port_a (from PartialDynamicHeaterWithLosses) | Fluid inlet | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b (from PartialDynamicHeaterWithLosses) | Fluid outlet |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Real | eta | Instanteanous efficiency | |
| IDEAS.Fluid.HeatPumps.BaseClasses.HeatSource_CondensingGasBurner | heatSource |
Revisions
-
June 5, 2018 by Filip Jorissen:
Cleaned up implementation for #821. - 2014 March, Filip Jorissen, Annex60 compatibility
- 2013 May, Roel De Coninck: documentation
- 2011 August, Roel De Coninck: first version