Collection of models that illustrate model use and test models
Information
This package contains examples illustrating the use of the models in
Buildings.DHC.Networks.Steam.
Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).
Package Content
Name |
Description |
ConnectionCondensatePipe
|
Example model for the steam heating connection block |
DistributionCondensatePipe
|
Example model for the steam heating distribution network |
Example model for the steam heating connection block
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
Type | Name | Default | Description |
AbsolutePressure | pSat | 150000 | Saturation pressure [Pa] |
Temperature | TSat | MediumSte.saturationTemperat... | Saturation temperature [K] |
SpecificEnthalpy | dh_nominal | MediumSte.specificEnthalpy(M... | Nominal change in enthalpy due to vaporization [J/kg] |
Power | Q_flow_nominal | 200E3 | Nominal heat flow rate [W] |
Real | QHeaLoa[:, :] | [0, 200E3; 6, 200E3; 6, 50E3... | Heating load profile for the building |
PressureDifference | dp_nominal | 6000 | Pressure drop at nominal mass flow rate [Pa] |
MassFlowRate | m_flow_nominal | Q_flow_nominal/dh_nominal | Nominal mass flow rate [kg/s] |
Modelica definition
model ConnectionCondensatePipe
extends Modelica.Icons.Example;
package MediumSte =
Buildings.Media.Steam ;
package MediumWat =
Buildings.Media.Specialized.Water.TemperatureDependentDensity
;
parameter Modelica.Units.SI.AbsolutePressure pSat = 150000
;
parameter Modelica.Units.SI.Temperature TSat =
MediumSte.saturationTemperature(pSat)
;
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))
;
parameter Modelica.Units.SI.Power Q_flow_nominal = 200E3
;
parameter Real QHeaLoa[:, :] = [0, 200E3; 6, 200E3; 6, 50E3; 18, 50E3; 18, 75E3; 24, 75E3]
;
parameter Modelica.Units.SI.PressureDifference dp_nominal = 6000
;
parameter Modelica.Units.SI.MassFlowRate m_flow_nominal = Q_flow_nominal/dh_nominal
;
Modelica.Blocks.Sources.Ramp ram(duration=60, startTime=60) ;
Fluid.Sources.MassFlowSource_T souWat(
redeclare package Medium = MediumWat,
use_m_flow_in=true,
nPorts=1)
;
Fluid.Sources.MassFlowSource_T souSte(
redeclare package Medium = MediumSte,
use_m_flow_in=true,
nPorts=1)
;
Buildings.Fluid.Sources.Boundary_pT sinWat(
redeclare package Medium = MediumWat,
p(displayUnit="Pa") = 101325,
nPorts=1)
;
Fluid.Sources.Boundary_pT sinSte(
redeclare package Medium = MediumSte,
p=pSat,
T=TSat,
nPorts=1)
;
Buildings.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)
;
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;
Example model for the steam heating distribution network
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
Type | Name | Default | Description |
AbsolutePressure | pSat | 150000 | Saturation pressure [Pa] |
Temperature | TSat | MediumSte.saturationTemperat... | Saturation temperature [K] |
SpecificEnthalpy | dh_nominal | MediumSte.specificEnthalpy(M... | Nominal change in enthalpy due to vaporization [J/kg] |
Power | Q1_flow_nominal | 200E3 | Nominal heat flow rate, building 1 [W] |
Power | Q2_flow_nominal | 300E3 | Nominal heat flow rate, building 2 [W] |
Real | QHeaLoa1[:, :] | [0, 200E3; 6, 200E3; 6, 50E3... | Heating load profile for the building 1 |
Real | QHeaLoa2[:, :] | [0, 100E3; 6, 200E3; 6, 200E... | Heating load profile for the building 2 |
PressureDifference | dp_nominal | 6000 | Pressure drop at nominal mass flow rate [Pa] |
MassFlowRate | m1_flow_nominal | Q1_flow_nominal/dh_nominal | Nominal mass flow rate, building 1 [kg/s] |
MassFlowRate | m2_flow_nominal | Q2_flow_nominal/dh_nominal | Nominal mass flow rate, building 2 [kg/s] |
Modelica definition
model DistributionCondensatePipe
extends Modelica.Icons.Example;
package MediumSte =
Buildings.Media.Steam ;
package MediumWat =
Buildings.Media.Specialized.Water.TemperatureDependentDensity
;
parameter Modelica.Units.SI.AbsolutePressure pSat = 150000
;
parameter Modelica.Units.SI.Temperature TSat =
MediumSte.saturationTemperature(pSat)
;
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))
;
parameter Modelica.Units.SI.Power Q1_flow_nominal=200E3
;
parameter Modelica.Units.SI.Power Q2_flow_nominal=300E3
;
parameter Real QHeaLoa1[:, :]= [0, 200E3; 6, 200E3; 6, 50E3; 18, 50E3; 18, 75E3; 24, 75E3]
;
parameter Real QHeaLoa2[:, :]= [0, 100E3; 6, 200E3; 6, 200E3; 10, 300E3; 18, 300E3; 24, 100E3]
;
parameter Modelica.Units.SI.PressureDifference dp_nominal=6000
;
parameter Modelica.Units.SI.MassFlowRate m1_flow_nominal=
Q1_flow_nominal/dh_nominal
;
parameter Modelica.Units.SI.MassFlowRate m2_flow_nominal=
Q2_flow_nominal/dh_nominal
;
Buildings.Fluid.Sources.Boundary_pT souSte(
redeclare package Medium = MediumSte,
p=pSat,
T=TSat,
nPorts=1)
;
Buildings.Fluid.Sources.Boundary_pT sinWat(
redeclare package Medium = MediumWat,
p(displayUnit="Pa") = 101325,
nPorts=1)
;
Buildings.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.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)
;
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;