Buildings.Experimental.DHC.Networks.Steam.Examples

Collection of models that illustrate model use and test models

Information

This package contains examples illustrating the use of the models in Buildings.Experimental.DHC.Networks.Steam.

Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).

Package Content

Name Description
Buildings.Experimental.DHC.Networks.Steam.Examples.ConnectionCondensatePipe ConnectionCondensatePipe Example model for the steam heating connection block
Buildings.Experimental.DHC.Networks.Steam.Examples.DistributionCondensatePipe DistributionCondensatePipe Example model for the steam heating distribution network

Buildings.Experimental.DHC.Networks.Steam.Examples.ConnectionCondensatePipe Buildings.Experimental.DHC.Networks.Steam.Examples.ConnectionCondensatePipe

Example model for the steam heating connection block

Buildings.Experimental.DHC.Networks.Steam.Examples.ConnectionCondensatePipe

Information

This model demonstrates the performance of the connection block for steam heating systems with a ramp input for the mass flow rate at the building interconnection.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Parameters

TypeNameDefaultDescription
AbsolutePressurepSat150000Saturation pressure [Pa]
TemperatureTSatMediumSte.saturationTemperat...Saturation temperature [K]
SpecificEnthalpydh_nominalMediumSte.specificEnthalpy(M...Nominal change in enthalpy due to vaporization [J/kg]
PowerQ_flow_nominal200E3Nominal heat flow rate [W]
RealQHeaLoa[:, :][0, 200E3; 6, 200E3; 6, 50E3...Heating load profile for the building
PressureDifferencedp_nominal6000Pressure drop at nominal mass flow rate [Pa]
MassFlowRatem_flow_nominalQ_flow_nominal/dh_nominalNominal mass flow rate [kg/s]

Modelica definition

model ConnectionCondensatePipe "Example model for the steam heating connection block" extends Modelica.Icons.Example; package MediumSte = Buildings.Media.Steam "Steam medium"; package MediumWat = Buildings.Media.Specialized.Water.TemperatureDependentDensity "Water medium"; parameter Modelica.Units.SI.AbsolutePressure pSat=150000 "Saturation pressure"; parameter Modelica.Units.SI.Temperature TSat= MediumSte.saturationTemperature(pSat) "Saturation temperature"; parameter Modelica.Units.SI.SpecificEnthalpy dh_nominal= MediumSte.specificEnthalpy(MediumSte.setState_pTX( p=pSat, T=TSat, X=MediumSte.X_default)) - MediumWat.specificEnthalpy(MediumWat.setState_pTX( p=pSat, T=TSat, X=MediumWat.X_default)) "Nominal change in enthalpy due to vaporization"; parameter Modelica.Units.SI.Power Q_flow_nominal=200E3 "Nominal heat flow rate"; parameter Real QHeaLoa[:, :]= [0, 200E3; 6, 200E3; 6, 50E3; 18, 50E3; 18, 75E3; 24, 75E3] "Heating load profile for the building"; parameter Modelica.Units.SI.PressureDifference dp_nominal=6000 "Pressure drop at nominal mass flow rate"; parameter Modelica.Units.SI.MassFlowRate m_flow_nominal= Q_flow_nominal/dh_nominal "Nominal mass flow rate"; Modelica.Blocks.Sources.Ramp ram(duration=60, startTime=60) "Ramp signal"; Fluid.Sources.MassFlowSource_T souWat( redeclare package Medium = MediumWat, use_m_flow_in=true, nPorts=1) "Water source"; Fluid.Sources.MassFlowSource_T souSte( redeclare package Medium = MediumSte, use_m_flow_in=true, nPorts=1) "Steam source"; Buildings.Fluid.Sources.Boundary_pT sinWat( redeclare package Medium = MediumWat, p(displayUnit="Pa") = 101325, nPorts=1) "Water condensate sink"; Fluid.Sources.Boundary_pT sinSte( redeclare package Medium = MediumSte, p=pSat, T=TSat, nPorts=1) "Steam sink"; Buildings.Experimental.DHC.Networks.Steam.ConnectionCondensatePipe con( redeclare package MediumSup = MediumSte, redeclare package MediumRet = MediumWat, mDis_flow_nominal=m_flow_nominal, mCon_flow_nominal=m_flow_nominal, energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState, dp_nominal=1500) "Connection block for steam systems"; equation connect(con.port_bDisRet, sinWat.ports[1]); connect(con.port_bCon, sinSte.ports[1]); connect(souSte.ports[1], con.port_aDisSup); connect(souWat.ports[1], con.port_aCon); connect(ram.y, souSte.m_flow_in); connect(ram.y, souWat.m_flow_in); end ConnectionCondensatePipe;

Buildings.Experimental.DHC.Networks.Steam.Examples.DistributionCondensatePipe Buildings.Experimental.DHC.Networks.Steam.Examples.DistributionCondensatePipe

Example model for the steam heating distribution network

Buildings.Experimental.DHC.Networks.Steam.Examples.DistributionCondensatePipe

Information

This model demonstrates the performance of the distribution network block for steam heating systems with two connected buildings with unique heating load profiles.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Parameters

TypeNameDefaultDescription
AbsolutePressurepSat150000Saturation pressure [Pa]
TemperatureTSatMediumSte.saturationTemperat...Saturation temperature [K]
SpecificEnthalpydh_nominalMediumSte.specificEnthalpy(M...Nominal change in enthalpy due to vaporization [J/kg]
PowerQ1_flow_nominal200E3Nominal heat flow rate, building 1 [W]
PowerQ2_flow_nominal300E3Nominal heat flow rate, building 2 [W]
RealQHeaLoa1[:, :][0, 200E3; 6, 200E3; 6, 50E3...Heating load profile for the building 1
RealQHeaLoa2[:, :][0, 100E3; 6, 200E3; 6, 200E...Heating load profile for the building 2
PressureDifferencedp_nominal6000Pressure drop at nominal mass flow rate [Pa]
MassFlowRatem1_flow_nominalQ1_flow_nominal/dh_nominalNominal mass flow rate, building 1 [kg/s]
MassFlowRatem2_flow_nominalQ2_flow_nominal/dh_nominalNominal mass flow rate, building 2 [kg/s]

Modelica definition

model DistributionCondensatePipe "Example model for the steam heating distribution network" extends Modelica.Icons.Example; package MediumSte = Buildings.Media.Steam "Steam medium"; package MediumWat = Buildings.Media.Specialized.Water.TemperatureDependentDensity "Water medium"; parameter Modelica.Units.SI.AbsolutePressure pSat=150000 "Saturation pressure"; parameter Modelica.Units.SI.Temperature TSat= MediumSte.saturationTemperature(pSat) "Saturation temperature"; parameter Modelica.Units.SI.SpecificEnthalpy dh_nominal= MediumSte.specificEnthalpy(MediumSte.setState_pTX( p=pSat, T=TSat, X=MediumSte.X_default)) - MediumWat.specificEnthalpy(MediumWat.setState_pTX( p=pSat, T=TSat, X=MediumWat.X_default)) "Nominal change in enthalpy due to vaporization"; parameter Modelica.Units.SI.Power Q1_flow_nominal=200E3 "Nominal heat flow rate, building 1"; parameter Modelica.Units.SI.Power Q2_flow_nominal=300E3 "Nominal heat flow rate, building 2"; parameter Real QHeaLoa1[:, :]= [0, 200E3; 6, 200E3; 6, 50E3; 18, 50E3; 18, 75E3; 24, 75E3] "Heating load profile for the building 1"; parameter Real QHeaLoa2[:, :]= [0, 100E3; 6, 200E3; 6, 200E3; 10, 300E3; 18, 300E3; 24, 100E3] "Heating load profile for the building 2"; parameter Modelica.Units.SI.PressureDifference dp_nominal=6000 "Pressure drop at nominal mass flow rate"; parameter Modelica.Units.SI.MassFlowRate m1_flow_nominal= Q1_flow_nominal/dh_nominal "Nominal mass flow rate, building 1"; parameter Modelica.Units.SI.MassFlowRate m2_flow_nominal= Q2_flow_nominal/dh_nominal "Nominal mass flow rate, building 2"; Buildings.Fluid.Sources.Boundary_pT souSte( redeclare package Medium = MediumSte, p=pSat, T=TSat, nPorts=1) "Steam source"; Buildings.Fluid.Sources.Boundary_pT sinWat( redeclare package Medium = MediumWat, p(displayUnit="Pa") = 101325, nPorts=1) "Water condensate sink"; Buildings.Experimental.DHC.Networks.Steam.DistributionCondensatePipe dis( redeclare package MediumSup = MediumSte, redeclare package MediumRet = MediumWat, nCon=2, mDis_flow_nominal=m1_flow_nominal + m2_flow_nominal, mCon_flow_nominal={m1_flow_nominal,m2_flow_nominal}, energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState, dp_nominal=dp_nominal); Buildings.Experimental.DHC.Loads.Steam.BuildingTimeSeriesAtETS bui[2]( redeclare package MediumSte = MediumSte, redeclare package MediumWat = MediumWat, each pSte_nominal=pSat, each TSte_nominal=TSat, each dh_nominal=dh_nominal, Q_flow_nominal={Q1_flow_nominal,Q2_flow_nominal}, each dp_nominal=dp_nominal, each energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, QHeaLoa={QHeaLoa1,QHeaLoa2}, each timeScale(displayUnit="s") = 3600) "Building vector consisting of 2 buildings"; equation connect(souSte.ports[1], dis.port_aDisSup); connect(sinWat.ports[1], dis.port_bDisRet); connect(dis.ports_bCon, bui.port_a); connect(bui.port_b, dis.ports_aCon); end DistributionCondensatePipe;