Buildings.Experimental.DHC.Plants.Heating

Package of models for central heating production

Information

This package contains models for central plants producing hot water.

Extends from Modelica.Icons.Package (Icon for standard packages).

Package Content

Name Description
Buildings.Experimental.DHC.Plants.Heating.SewageHeatRecovery SewageHeatRecovery Model for sewage heat recovery plant

Buildings.Experimental.DHC.Plants.Heating.SewageHeatRecovery Buildings.Experimental.DHC.Plants.Heating.SewageHeatRecovery

Model for sewage heat recovery plant

Buildings.Experimental.DHC.Plants.Heating.SewageHeatRecovery

Information

Model of sewage heat recovery plant with sewage mass flow rate and temperature as an input.

Extends from Buildings.Experimental.DHC.Plants.BaseClasses.PartialPlant (Partial class for modeling a plant).

Parameters

TypeNameDefaultDescription
replaceable package MediumWaterService side medium
replaceable package MediumHea_bWaterService side medium at heating supply
Genericfue[nFue] Fuel type
EfficiencyepsHex Heat exchanger effectiveness [1]
Configuration
DistrictSystemTypetypBuildings.Experimental.DHC.T...Type of district system
Booleanhave_fanfalseSet to true if fan power is computed
Booleanhave_pumtrueSet to true if pump power is computed
Booleanhave_eleHeafalseSet to true if the plant has electric heating system
IntegernFue0Number of fuel types (0 means no combustion system)
Booleanhave_eleCoofalseSet to true if the plant has electric cooling system
Booleanhave_weaBusfalseSet to true to use a weather bus
Nominal conditions
MassFlowRatemSew_flow_nominal Sewage water nominal mass flow rate [kg/s]
MassFlowRatemDis_flow_nominal District water nominal mass flow rate [kg/s]
PressureDifferencedpSew_nominal Sewage side pressure drop at nominal mass flow rate [Pa]
PressureDifferencedpDis_nominal District side pressure drop at nominal mass flow rate [Pa]
Assumptions
BooleanallowFlowReversalfalseSet to true to allow flow reversal in service lines

Connectors

TypeNameDescription
FluidPort_aport_aSerAmbFluid connector for ambient water service supply line
FluidPort_bport_bSerAmbFluid connector for ambient water service return line
FluidPort_aport_aSerHeaFluid connector for heating service supply line
FluidPort_bport_bSerHeaFluid connector for heating service return line
FluidPort_aport_aSerCooFluid connector for cooling service supply line
FluidPort_bport_bSerCooFluid connector for cooling service return line
BusweaBusWeather data bus
output RealOutputPHeaPower drawn by heating system [W]
output RealOutputPCooPower drawn by cooling system [W]
output RealOutputPFanPower drawn by fan motors [W]
output RealOutputPPumPower drawn by pump motors [W]
output RealOutputQFue_flowFuel energy input rate [W]
input RealInputTSewWatSewage water temperature [K]
input RealInputmPum_flowPumps mass flow rate [kg/s]
output RealOutputdH_flowVariation of enthalpy flow rate across HX (leaving - entering) [W]

Modelica definition

model SewageHeatRecovery "Model for sewage heat recovery plant" extends Buildings.Experimental.DHC.Plants.BaseClasses.PartialPlant( final have_fan=false, final have_pum=true, final have_eleHea=false, final have_eleCoo=false, final have_weaBus=false, final typ=Buildings.Experimental.DHC.Types.DistrictSystemType.CombinedGeneration5); parameter Modelica.Units.SI.MassFlowRate mSew_flow_nominal "Sewage water nominal mass flow rate"; parameter Modelica.Units.SI.MassFlowRate mDis_flow_nominal "District water nominal mass flow rate"; parameter Modelica.Units.SI.PressureDifference dpSew_nominal "Sewage side pressure drop at nominal mass flow rate"; parameter Modelica.Units.SI.PressureDifference dpDis_nominal "District side pressure drop at nominal mass flow rate"; parameter Modelica.Units.SI.Efficiency epsHex "Heat exchanger effectiveness"; // IO CONNECTORS Buildings.Controls.OBC.CDL.Interfaces.RealInput TSewWat( final unit="K", displayUnit="degC") "Sewage water temperature"; Buildings.Controls.OBC.CDL.Interfaces.RealInput mPum_flow( final unit="kg/s") "Pumps mass flow rate"; Buildings.Controls.OBC.CDL.Interfaces.RealOutput dH_flow(final unit="W") "Variation of enthalpy flow rate across HX (leaving - entering)"; // COMPONENTS Fluid.HeatExchangers.ConstantEffectiveness hex( redeclare final package Medium1=Medium, redeclare final package Medium2=Medium, final allowFlowReversal1=allowFlowReversal, final allowFlowReversal2=allowFlowReversal, final m1_flow_nominal=mSew_flow_nominal, final m2_flow_nominal=mDis_flow_nominal, final dp1_nominal=dpSew_nominal, final dp2_nominal=dpDis_nominal, final eps=epsHex) "Heat exchanger (primary is sewage water side)"; Buildings.Experimental.DHC.EnergyTransferStations.BaseClasses.Pump_m_flow pumDis( redeclare final package Medium=Medium, final m_flow_nominal=mDis_flow_nominal, final dp_nominal=dpDis_nominal, final allowFlowReversal=allowFlowReversal) "District water pump"; Fluid.Sources.Boundary_pT souSew( redeclare final package Medium = Medium, final use_T_in=true, final nPorts=2) "Source of sewage water"; Buildings.Experimental.DHC.EnergyTransferStations.BaseClasses.Pump_m_flow pumSew( redeclare final package Medium=Medium, final m_flow_nominal=mSew_flow_nominal, final dp_nominal=dpSew_nominal, final allowFlowReversal=allowFlowReversal) "Sewage water pump"; Fluid.Sensors.TemperatureTwoPort senTSewOut( redeclare final package Medium=Medium, final allowFlowReversal=allowFlowReversal, final m_flow_nominal=mSew_flow_nominal, tau=0); Buildings.Experimental.DHC.Networks.BaseClasses.DifferenceEnthalpyFlowRate senDifEntFlo( redeclare package Medium1 = Medium, final m_flow_nominal=mDis_flow_nominal) "Variation of enthalpy flow rate"; Buildings.Controls.OBC.CDL.Reals.MultiSum sumPPum(nin=2) "Sum pump power"; equation connect(senTSewOut.port_b, souSew.ports[1]); connect(souSew.ports[2], pumSew.port_a); connect(souSew.T_in, TSewWat); connect(mPum_flow, pumSew.m_flow_in); connect(pumSew.port_b, hex.port_a1); connect(hex.port_b1, senTSewOut.port_a); connect(mPum_flow, pumDis.m_flow_in); connect(senDifEntFlo.dH_flow, dH_flow); connect(senDifEntFlo.port_b2, hex.port_a2); connect(hex.port_b2, senDifEntFlo.port_a1); connect(port_aSerAmb, senDifEntFlo.port_a2); connect(senDifEntFlo.port_b1, pumDis.port_a); connect(pumDis.port_b, port_bSerAmb); connect(sumPPum.y, PPum); connect(pumSew.P, sumPPum.u[1]); connect(pumDis.P, sumPPum.u[2]); end SewageHeatRecovery;