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
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;