Buildings.Fluid.HydronicConfigurations.PassiveNetworks.Examples.BaseClasses
Package with base classes
Information
This package contains base classes that are used to construct the models in Buildings.Fluid.HydronicConfigurations.PassiveNetworks.Examples.
Extends from Modelica.Icons.BasesPackage (Icon for packages containing base classes).
Package Content
| Name | Description | 
|---|---|
|  PartialPassivePrimary | Partial model of passive primary network | 
 Buildings.Fluid.HydronicConfigurations.PassiveNetworks.Examples.BaseClasses.PartialPassivePrimary
Buildings.Fluid.HydronicConfigurations.PassiveNetworks.Examples.BaseClasses.PartialPassivePrimary
Partial model of passive primary network
 
Information
This is a partial model of a passive primary network. That model is used to construct the various example models within Buildings.Fluid.HydronicConfigurations.PassiveNetworks.Examples. It can be configured to represent either a heating or a cooling system.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
| Type | Name | Default | Description | 
|---|---|---|---|
| Control | typ | Load type | |
| Integer | nTer | 2 | Number of terminal units | 
| Pressure | p_min | 200000 | Circuit minimum pressure [Pa] | 
| Temperature | TLiqEnt_nominal | if typ == Buildings.Fluid.Hy... | Liquid entering temperature at design conditions [K] | 
| Temperature | TLiqLvg_nominal | TLiqEnt_nominal + (if typ ==... | Liquid leaving temperature at design conditions [K] | 
| Temperature | TLiqEntChg_nominal | 60 + 273.15 | Liquid entering temperature in change-over mode [K] | 
| Temperature | TLiqSup_nominal | TLiqEnt_nominal | Liquid primary supply temperature at design conditions [K] | 
| Temperature | TLiqSupChg_nominal | TLiqEntChg_nominal | Liquid primary supply temperature in change-over mode [K] | 
| Nominal condition | |||
| MassFlowRate | mTer_flow_nominal | 1 | Terminal unit mass flow rate at design conditions [kg/s] | 
| MassFlowRate | m1_flow_nominal | nTer*mTer_flow_nominal | Mass flow rate in primary circuit at design conditions [kg/s] | 
| PressureDifference | dpTer_nominal | 3E4 | Terminal unit pressure drop at design conditions [Pa] | 
| PressureDifference | dpPip_nominal | 0.5E4 | Pipe section pressure drop at design conditions [Pa] | 
| Dynamics | |||
| Conservation equations | |||
| Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state | 
Modelica definition
model PartialPassivePrimary
  "Partial model of passive primary network"
  extends Modelica.Icons.Example;
  package MediumLiq = Buildings.Media.Water
    "Medium model for hot water";
  parameter Buildings.Fluid.HydronicConfigurations.Types.Control typ
    "Load type";
  parameter Integer nTer = 2
    "Number of terminal units";
  parameter Modelica.Units.SI.MassFlowRate mTer_flow_nominal = 1
    "Terminal unit mass flow rate at design conditions";
  parameter Modelica.Units.SI.MassFlowRate m1_flow_nominal(final min=0)=
    nTer * mTer_flow_nominal
    "Mass flow rate in primary circuit at design conditions";
  parameter Modelica.Units.SI.PressureDifference dpTer_nominal(displayUnit="Pa")=
    3E4
    "Terminal unit pressure drop at design conditions";
  parameter Modelica.Units.SI.PressureDifference dpPip_nominal(displayUnit="Pa")=
    0.5E4
    "Pipe section pressure drop at design conditions";
  parameter Modelica.Units.SI.Pressure p_min=200000
    "Circuit minimum pressure";
  parameter Modelica.Units.SI.Temperature TLiqEnt_nominal=
    if typ==Buildings.Fluid.HydronicConfigurations.Types.Control.Heating
    then 60+273.15 else 7+273.15
    "Liquid entering temperature at design conditions";
  parameter Modelica.Units.SI.Temperature TLiqLvg_nominal=TLiqEnt_nominal+(
    if typ==Buildings.Fluid.HydronicConfigurations.Types.Control.Heating
    then -10 else +5)
    "Liquid leaving temperature at design conditions";
  parameter Modelica.Units.SI.Temperature TLiqEntChg_nominal=
    60+273.15
    "Liquid entering temperature in change-over mode";
  parameter Modelica.Units.SI.Temperature TLiqSup_nominal=TLiqEnt_nominal
    "Liquid primary supply temperature at design conditions";
  parameter Modelica.Units.SI.Temperature TLiqSupChg_nominal=TLiqEntChg_nominal
    "Liquid primary supply temperature in change-over mode";
  parameter Modelica.Fluid.Types.Dynamics energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial
    "Type of energy balance: dynamic (3 initialization options) or steady state";
  Sources.Boundary_pT ref(
    redeclare final package Medium = MediumLiq,
    final p=p_min,
    T=TLiqSup_nominal,
    nPorts=2)
    "Pressure and temperature boundary condition";
  Sensors.TemperatureTwoPort T1Ret(
    redeclare final package Medium = MediumLiq,
    final m_flow_nominal=m1_flow_nominal,
    final tau=if energyDynamics == Modelica.Fluid.Types.Dynamics.SteadyState
         then 0 else 1,
    T_start=TLiqSup_nominal) "Return temperature sensor";
  Sensors.TemperatureTwoPort T1Sup(
    redeclare final package Medium = MediumLiq,
    final m_flow_nominal=m1_flow_nominal,
    final tau=if energyDynamics == Modelica.Fluid.Types.Dynamics.SteadyState
         then 0 else 1,
    T_start=TLiqSup_nominal) "Supply temperature sensor";
  Buildings.Controls.OBC.CDL.Reals.Subtract dT1(y(final unit="K"))
    "Primary Delta-T";
  Delays.DelayFirstOrder del1(
    redeclare final package Medium = MediumLiq,
    final energyDynamics=energyDynamics,
    final m_flow_nominal=m1_flow_nominal,
    tau=10,
    nPorts=1)
    "Fluid transport delay";
  FixedResistances.PressureDrop res1(
    redeclare final package Medium = MediumLiq,
    final m_flow_nominal=m1_flow_nominal,
    dp_nominal=0)
    "Pipe pressure drop";
  Sensors.MassFlowRate m1_flow(
    redeclare final package Medium = MediumLiq)
    "Mass flow rate in primary circuit";
equation 
  connect(T1Ret.port_b, ref.ports[1]);
  connect(T1Ret.T, dT1.u1);
  connect(T1Sup.T, dT1.u2);
  connect(ref.ports[2], T1Sup.port_a);
  connect(T1Sup.port_b, res1.port_a);
  connect(m1_flow.port_b, T1Ret.port_a);
  connect(m1_flow.port_a, del1.ports[1]);
end PartialPassivePrimary;
