modelPartialPlantParallel

Partial source plant model with associated valves

Extends from Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialPlantParallelInterface (Partial model that implements the interface for parallel plants), Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.ValvesParameters (Model with parameters for multiple valves), Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.SignalFilter (Partial model that implements the filtered opening for valves and dampers).

Information

Partial model that can be extended to construct parallel chillers such as Buildings.Applications.BaseClasses.Equipment.ElectricChillerParallel and water-side economizers Buildings.Applications.DataCenters.ChillerCooled.Equipment.WatersideEconomizer.

The associated valve group val1 and val2 on medium 1 and medium 2 side are for on/off use only. The number of valves in each group is specified by the parameter n. The valve parameters can be specified differently.

The signal filter is used to smoothe the on/off signal for the valves.

Parameters

TypeNameDefaultDescription
Integernum (from PartialPlantParallelInterface)2Number of equipment
IntegernumVal (from ValvesParameters)Number of valves
IntegernumAct (from SignalFilterParameters)4Number of filters
BooleanhomotopyInitializationtrue= true, use homotopy method
Assumptions
BooleanallowFlowReversal1 (from PartialFourPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1
BooleanallowFlowReversal2 (from PartialFourPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2
Nominal condition
Modelica.Units.SI.MassFlowRatem1_flow_nominal (from PartialFourPortInterface)Nominal mass flow rate
Modelica.Units.SI.MassFlowRatem2_flow_nominal (from PartialFourPortInterface)Nominal mass flow rate
Modelica.Units.SI.PressureDifferencedp1_nominal (from FourPortFlowResistanceParameters)Pressure difference
Modelica.Units.SI.PressureDifferencedp2_nominal (from FourPortFlowResistanceParameters)Pressure difference
Advanced
Medium1.MassFlowRatem1_flow_small (from PartialFourPortInterface)1E-4*abs(m1_flow_nominal)Small mass flow rate for regularization of zero flow
Medium2.MassFlowRatem2_flow_small (from PartialFourPortInterface)1E-4*abs(m2_flow_nominal)Small mass flow rate for regularization of zero flow
Advanced › Diagnostics
Booleanshow_T (from PartialFourPortInterface)false= true, if actual temperature at port is computed
Flow resistance › Medium 1
BooleancomputeFlowResistance1 (from FourPortFlowResistanceParameters)true=true, compute flow resistance. Set to false to assume no friction
Booleanfrom_dp1 (from FourPortFlowResistanceParameters)false= true, use m_flow = f(dp) else dp = f(m_flow)
Realn1 (from FourPortFlowResistanceParameters)2Flow exponent for side 1, n=1 for laminar, n=2 for turbulent
BooleanlinearizeFlowResistance1 (from FourPortFlowResistanceParameters)false= true, use linear relation between m_flow and dp for any flow rate
RealdeltaM1 (from FourPortFlowResistanceParameters)0.1Fraction of nominal flow rate where flow transitions to laminar
Flow resistance › Medium 2
BooleancomputeFlowResistance2 (from FourPortFlowResistanceParameters)true=true, compute flow resistance. Set to false to assume no friction
Booleanfrom_dp2 (from FourPortFlowResistanceParameters)false= true, use m_flow = f(dp) else dp = f(m_flow)
Realn2 (from FourPortFlowResistanceParameters)2Flow exponent for side 2, n=1 for laminar, n=2 for turbulent
BooleanlinearizeFlowResistance2 (from FourPortFlowResistanceParameters)false= true, use linear relation between m_flow and dp for any flow rate
RealdeltaM2 (from FourPortFlowResistanceParameters)0.1Fraction of nominal flow rate where flow transitions to laminar
Two-way valve
Buildings.Fluid.Types.CvTypesCvData (from ValvesParameters)Buildings.Fluid.Types.CvTypes.OpPointSelection of flow coefficient
RealKv (from ValvesParameters)Kv (metric) flow coefficient [m3/h/(bar)^(1/2)]
RealCv (from ValvesParameters)Cv (US) flow coefficient [USG/min/(psi)^(1/2)]
Modelica.Units.SI.AreaAv (from ValvesParameters)Av (metric) flow coefficient
Modelica.Units.SI.MassFlowRatem_flow_nominal (from ValvesParameters)Nominal mass flow rate
Modelica.Units.SI.PressureDifferencedpValve_nominal (from ValvesParameters)fill(6000, numVal)Nominal pressure drop of fully open valve, used if CvData=Buildings.Fluid.Types.CvTypes.OpPoint
Real[2]l{0.0001, 0.0001}Valve leakage, l=Kv(y=0)/Kv(y=1)
Pressure-flow linearization
RealdeltaM (from ValvesParameters)0.02Fraction of nominal flow rate where linearization starts, if y=1
Advanced › Two-way valve
Modelica.Units.SI.DensityrhoStd (from ValvesParameters)Inlet density for which valve coefficients are defined
Dynamics › Time needed to open or close valve
Booleanuse_strokeTime (from SignalFilterParameters)false= true, if opening is filtered to avoid a step change in actuator position
Modelica.Units.SI.TimestrokeTime (from SignalFilterParameters)30Time needed to open or close valve
Modelica.Blocks.Types.InitinitValve (from SignalFilterParameters)Modelica.Blocks.Types.Init.InitialOutputType of initialization (no init/steady state/initial state/initial output)
RealyValve_start (from SignalFilterParameters)fill(1, numAct)Initial value of output:0-closed, 1-fully opened

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a1 (from PartialFourPort)Fluid connector a1 (positive design flow direction is from port_a1 to port_b1)
Modelica.Fluid.Interfaces.FluidPort_bport_b1 (from PartialFourPort)Fluid connector b1 (positive design flow direction is from port_a1 to port_b1)
Modelica.Fluid.Interfaces.FluidPort_aport_a2 (from PartialFourPort)Fluid connector a2 (positive design flow direction is from port_a2 to port_b2)
Modelica.Fluid.Interfaces.FluidPort_bport_b2 (from PartialFourPort)Fluid connector b2 (positive design flow direction is from port_a2 to port_b2)
Modelica.Blocks.Interfaces.BooleanInput[num]on (from PartialPlantParallelInterface)Set to true to enable equipment, or false to disable equipment

Components

TypeNameDefaultDescription
Medium1.MassFlowRatem1_flow (from PartialFourPortInterface)port_a1.m_flowMass flow rate from port_a1 to port_b1 (m1_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedp1 (from PartialFourPortInterface)port_a1.p - port_b1.pPressure difference between port_a1 and port_b1
Medium2.MassFlowRatem2_flow (from PartialFourPortInterface)port_a2.m_flowMass flow rate from port_a2 to port_b2 (m2_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedp2 (from PartialFourPortInterface)port_a2.p - port_b2.pPressure difference between port_a2 and port_b2
Medium1.ThermodynamicStatesta_a1 (from PartialFourPortInterface)if allowFlowReversal1 then Medium1.setState_phX(port_a1.p, noEvent(actualStream(port_a1.h_outflow)), noEvent(actualStream(port_a1.Xi_outflow))) else Medium1.setState_phX(port_a1.p, inStream(port_a1.h_outflow), inStream(port_a1.Xi_outflow))Medium properties in port_a1
Medium1.ThermodynamicStatesta_b1 (from PartialFourPortInterface)if allowFlowReversal1 then Medium1.setState_phX(port_b1.p, noEvent(actualStream(port_b1.h_outflow)), noEvent(actualStream(port_b1.Xi_outflow))) else Medium1.setState_phX(port_b1.p, port_b1.h_outflow, port_b1.Xi_outflow)Medium properties in port_b1
Medium2.ThermodynamicStatesta_a2 (from PartialFourPortInterface)if allowFlowReversal2 then Medium2.setState_phX(port_a2.p, noEvent(actualStream(port_a2.h_outflow)), noEvent(actualStream(port_a2.Xi_outflow))) else Medium2.setState_phX(port_a2.p, inStream(port_a2.h_outflow), inStream(port_a2.Xi_outflow))Medium properties in port_a2
Medium2.ThermodynamicStatesta_b2 (from PartialFourPortInterface)if allowFlowReversal2 then Medium2.setState_phX(port_b2.p, noEvent(actualStream(port_b2.h_outflow)), noEvent(actualStream(port_b2.Xi_outflow))) else Medium2.setState_phX(port_b2.p, port_b2.h_outflow, port_b2.Xi_outflow)Medium properties in port_b2
Modelica.Blocks.Math.BooleanToReal[num]booToRea (from PartialPlantParallelInterface)Boolean to real (if true then 1 else 0)
Buildings.Fluid.Actuators.Valves.TwoWayLinear[num]val2Isolation valves on medium 2 side for on/off use
Buildings.Fluid.Actuators.Valves.TwoWayLinear[num]val1Isolation valves on medium 1 side for on/off use

Revisions

  • September 4, 2024, by Jianjun Hu:
    Added input filter to the isolation valve 2.
    This is for issue 3989.
  • August 26, 2024, by Michael Wetter:
    Implemented linear actuator travel dynamics.
    This is for Buildings, #3965.
  • April 14, 2020, by Michael Wetter:
    Changed homotopyInitialization to a constant.
    This is for Buildings, #1341.
  • June 30, 2017, by Yangyang Fu:
    First implementation.