| Buildings.Templates.Components.Types.Valve | typValHpInlIso | if have_valHpInlIso then Buildings.Templates.Components.Types.Valve.TwoWayTwoPosition else Buildings.Templates.Components.Types.Valve.None | Valve type at HP inlet |
| Buildings.Templates.Components.Types.Valve | typValHpOutIso | if have_valHpOutIso then Buildings.Templates.Components.Types.Valve.TwoWayTwoPosition else Buildings.Templates.Components.Types.Valve.None | Valve type at HP outlet |
| Buildings.Templates.Components.Types.Valve | typValPhpInlIso | if have_valPhpInlIso then Buildings.Templates.Components.Types.Valve.TwoWayTwoPosition else Buildings.Templates.Components.Types.Valve.None | Valve type at polyvalent HP inlet |
| Buildings.Templates.Components.Types.Valve | typValPhpOutIso | if have_valPhpOutIso then Buildings.Templates.Components.Types.Valve.TwoWayTwoPosition else Buildings.Templates.Components.Types.Valve.None | Valve type at polyvalent HP outlet |
| Modelica.Units.SI.PressureDifference[nHp + nPhp] | dpChiWatUni_nominal | if have_hp and have_php then cat(1, dpHeaWatUni_nominal[1:nHp].*(mChiWatUni_flow_nominal[1:nHp]./mHeaWatUni_flow_nominal[1:nHp]).^2, dpChiWatPhp_nominal) elseif have_hp then dpHeaWatUni_nominal[1:nHp].*(mChiWatUni_flow_nominal[1:nHp]./mHeaWatUni_flow_nominal[1:nHp]).^2 else dpChiWatPhp_nominal | Pressure drop at design CHW mass flow rate - Each unit |
| Modelica.Units.SI.PressureDifference[nHp + nPhp] | dpHeaWatVal_nominal | if have_hp and have_php then cat(1, dpValveHeaWat_nominal[1:nHp]*((if have_valHpInlIso then 1 else 0) + (if have_valHpOutIso then 1 else 0)), dpValveHeaWat_nominal[nHp + 1:nHp + nPhp]*((if have_valPhpInlIso then 1 else 0) + (if have_valPhpOutIso then 1 else 0))) elseif have_hp then dpValveHeaWat_nominal[1:nHp]*((if have_valHpInlIso then 1 else 0) + (if have_valHpOutIso then 1 else 0)) else dpValveHeaWat_nominal[nHp + 1:nHp + nPhp]*((if have_valPhpInlIso then 1 else 0) + (if have_valPhpOutIso then 1 else 0)) | Total HW pressure drop for inlet and outlet valves |
| Modelica.Units.SI.PressureDifference[nHp + nPhp] | dpHeaWat_nominal | dpFixedHeaWat_nominal .+ dpHeaWatVal_nominal | Total HW pressure drop: fixed + valves |
| Modelica.Units.SI.PressureDifference[nHp + nPhp] | dpChiWatVal_nominal | if have_hp and have_php then cat(1, dpValveChiWat_nominal[1:nHp]*((if have_valHpInlIso then 1 else 0) + (if have_valHpOutIso then 1 else 0)), dpValveChiWat_nominal[nHp + 1:nHp + nPhp]*((if have_valPhpInlIso then 1 else 0) + (if have_valPhpOutIso then 1 else 0))) elseif have_hp then dpValveChiWat_nominal[1:nHp]*((if have_valHpInlIso then 1 else 0) + (if have_valHpOutIso then 1 else 0)) else dpValveChiWat_nominal[nHp + 1:nHp + nPhp]*((if have_valPhpInlIso then 1 else 0) + (if have_valPhpOutIso then 1 else 0)) | Total CHW pressure drop for inlet and outlet valves |
| Buildings.Templates.Components.Data.Valve[nHp + nPhp] | datValHeaWatUniOutIso | | Unit outlet HW isolation valve parameters |
| Buildings.Templates.Components.Data.Valve[nHp + nPhp] | datValHeaWatUniInlIso | | Unit inlet HW isolation valve parameters |
| Buildings.Templates.Components.Data.Valve[nHp + nPhp] | datValChiWatUniOutIso | | Unit outlet CHW isolation valve parameters |
| Buildings.Templates.Components.Data.Valve[nHp + nPhp] | datValChiWatUniInlIso | | Heat pump inlet CHW isolation valve parameters |
| Configuration |
| Boolean | have_chiWat | true | Set to true if the plant provides CHW |
| Boolean | have_hp | true | Set to true for plants with non-reversible or reversible heat pumps |
| Boolean | have_php | false | Set to true for plants with polyvalent heat pumps |
| Integer | nHp | | Number of heat pumps (excluding polyvalent HPs) |
| Integer | nPhp | 0 | Number of polyvalent heat pumps |
| Boolean | have_valHpInlIso | false | Set to true for isolation valves at HP inlet |
| Boolean | have_valHpOutIso | false | Set to true for isolation valves at HP outlet |
| Boolean | have_valPhpInlIso | false | Set to true for isolation valves at polyvalent HP inlet |
| Boolean | have_valPhpOutIso | false | Set to true for isolation valves at polyvalent HP outlet |
| Boolean | have_pumChiWatDedHp | false | Set to true for HP with separate dedicated primary CHW pumps |
| Nominal condition |
| Modelica.Units.SI.MassFlowRate[nHp + nPhp] | mHeaWatUni_flow_nominal | | HW mass flow rate - Each unit |
| Modelica.Units.SI.PressureDifference[nHp + nPhp] | dpHeaWatUni_nominal | | Pressure drop at design HW mass flow rate - Each unit |
| Modelica.Units.SI.PressureDifference[nHp + nPhp] | dpBalHeaWatUni_nominal | fill(0, nHp + nPhp) | Balancing valve pressure drop at design HW mass flow rate - Each unit |
| Modelica.Units.SI.MassFlowRate[nHp + nPhp] | mChiWatUni_flow_nominal | | CHW mass flow rate - Each unit |
| Modelica.Units.SI.PressureDifference[nPhp] | dpChiWatPhp_nominal | | Pressure drop at design CHW mass flow rate - Each polyvalent HP |
| Modelica.Units.SI.PressureDifference[nHp + nPhp] | dpBalChiWatUni_nominal | fill(0, nHp + nPhp) | Balancing valve pressure drop at design CHW mass flow rate - Each unit |
| Modelica.Units.SI.PressureDifference[nHp + nPhp] | dpValveHeaWat_nominal | fill(Buildings.Templates.Data.Defaults.dpValIso, nHp + nPhp) | HW isolation valve pressure drop (identical for inlet and outlet valves) |
| Modelica.Units.SI.PressureDifference[nHp + nPhp] | dpFixedHeaWat_nominal | dpHeaWatUni_nominal + dpBalHeaWatUni_nominal | Fixed HW pressure drop: HP + balancing valve |
| Modelica.Units.SI.PressureDifference[nHp + nPhp] | dpValveChiWat_nominal | if have_chiWat then fill(Buildings.Templates.Data.Defaults.dpValIso, nHp + nPhp) else fill(0, nHp + nPhp) | Isolation valve CHW pressure drop (identical for inlet and outlet valves) |
| Modelica.Units.SI.PressureDifference[nHp + nPhp] | dpFixedChiWat_nominal | if have_chiWat then dpBalChiWatUni_nominal + dpChiWatUni_nominal else fill(0, nHp + nPhp) | Total fixed CHW pressure drop |
| Modelica.Units.SI.PressureDifference[nHp + nPhp] | dpChiWat_nominal | if have_chiWat then dpFixedChiWat_nominal .+ dpChiWatVal_nominal else fill(0, nHp + nPhp) | Total CHW pressure drop: fixed + valves |
| Dynamics › Conservation equations |
| Modelica.Fluid.Types.Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamics.DynamicFreeInitial | Type of energy balance: dynamic (3 initialization options) or steady state |
| Dynamics › Nominal condition |
| Modelica.Units.SI.Time | tau | 10 | Time constant at nominal flow |
| Assumptions |
| Boolean | allowFlowReversal | true | Set to false to simplify equations, assuming, but not enforcing, no flow reversal |
| Dynamics › Time needed to open or close valve |
| Boolean | use_strokeTime | energyDynamics <> Modelica.Fluid.Types.Dynamics.SteadyState | Set to true to continuously open and close valve |
| Modelica.Units.SI.Time | strokeTime | 120 | Time needed to open or close valve |
| Modelica.Blocks.Types.Init | init | Modelica.Blocks.Types.Init.InitialOutput | Type of initialization (no init/steady state/initial state/initial output) |
| Real | y_start | 1 | Initial position of actuator |
| Advanced |
| Boolean | from_dp | true | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Boolean | linearized | false | = true, use linear relation between m_flow and dp for any flow rate |