modelElectricChillerParallel
Multiple identical electric chillers
Extends from Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialParallelElectricEIR (Partial model for electric chiller parallel).
Information
This model implements a chiller parallel with num identical chillers. For the chiller model please see
Buildings.Fluid.Chillers.ElectricEIR.
Note that although the chillers have identical nominal conditions, they can have different
performance curves specified in performance data per.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | num (from PartialPlantParallelInterface) | 2 | Number of equipment |
| Integer | numVal (from ValvesParameters) | Number of valves | |
| Integer | numAct (from SignalFilterParameters) | 4 | Number of filters |
| Boolean | homotopyInitialization (from PartialPlantParallel) | true | = true, use homotopy method |
| Buildings.Fluid.Chillers.Data.ElectricEIR.Generic[numAct] | per | Performance data | |
| Assumptions | |||
| Boolean | allowFlowReversal1 (from PartialFourPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 |
| Boolean | allowFlowReversal2 (from PartialFourPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 |
| Nominal condition | |||
| Modelica.Units.SI.MassFlowRate | m1_flow_nominal (from PartialFourPortInterface) | Nominal mass flow rate | |
| Modelica.Units.SI.MassFlowRate | m2_flow_nominal (from PartialFourPortInterface) | Nominal mass flow rate | |
| Modelica.Units.SI.PressureDifference | dp1_nominal (from FourPortFlowResistanceParameters) | Pressure difference | |
| Modelica.Units.SI.PressureDifference | dp2_nominal (from FourPortFlowResistanceParameters) | Pressure difference | |
| Advanced | |||
| Medium1.MassFlowRate | m1_flow_small (from PartialFourPortInterface) | 1E-4*abs(m1_flow_nominal) | Small mass flow rate for regularization of zero flow |
| Medium2.MassFlowRate | m2_flow_small (from PartialFourPortInterface) | 1E-4*abs(m2_flow_nominal) | Small mass flow rate for regularization of zero flow |
| Advanced › Diagnostics | |||
| Boolean | show_T (from PartialFourPortInterface) | false | = true, if actual temperature at port is computed |
| Flow resistance › Medium 1 | |||
| Boolean | computeFlowResistance1 (from FourPortFlowResistanceParameters) | true | =true, compute flow resistance. Set to false to assume no friction |
| Boolean | from_dp1 (from FourPortFlowResistanceParameters) | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Real | n1 (from FourPortFlowResistanceParameters) | 2 | Flow exponent for side 1, n=1 for laminar, n=2 for turbulent |
| Boolean | linearizeFlowResistance1 (from FourPortFlowResistanceParameters) | false | = true, use linear relation between m_flow and dp for any flow rate |
| Real | deltaM1 (from FourPortFlowResistanceParameters) | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
| Flow resistance › Medium 2 | |||
| Boolean | computeFlowResistance2 (from FourPortFlowResistanceParameters) | true | =true, compute flow resistance. Set to false to assume no friction |
| Boolean | from_dp2 (from FourPortFlowResistanceParameters) | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Real | n2 (from FourPortFlowResistanceParameters) | 2 | Flow exponent for side 2, n=1 for laminar, n=2 for turbulent |
| Boolean | linearizeFlowResistance2 (from FourPortFlowResistanceParameters) | false | = true, use linear relation between m_flow and dp for any flow rate |
| Real | deltaM2 (from FourPortFlowResistanceParameters) | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
| Two-way valve | |||
| Buildings.Fluid.Types.CvTypes | CvData (from ValvesParameters) | Buildings.Fluid.Types.CvTypes.OpPoint | Selection of flow coefficient |
| Real | Kv (from ValvesParameters) | Kv (metric) flow coefficient [m3/h/(bar)^(1/2)] | |
| Real | Cv (from ValvesParameters) | Cv (US) flow coefficient [USG/min/(psi)^(1/2)] | |
| Modelica.Units.SI.Area | Av (from ValvesParameters) | Av (metric) flow coefficient | |
| Modelica.Units.SI.MassFlowRate | m_flow_nominal (from ValvesParameters) | Nominal mass flow rate | |
| Modelica.Units.SI.PressureDifference | dpValve_nominal (from ValvesParameters) | fill(6000, numVal) | Nominal pressure drop of fully open valve, used if CvData=Buildings.Fluid.Types.CvTypes.OpPoint |
| Real[2] | l (from PartialPlantParallel) | {0.0001, 0.0001} | Valve leakage, l=Kv(y=0)/Kv(y=1) |
| Pressure-flow linearization | |||
| Real | deltaM (from ValvesParameters) | 0.02 | Fraction of nominal flow rate where linearization starts, if y=1 |
| Advanced › Two-way valve | |||
| Modelica.Units.SI.Density | rhoStd (from ValvesParameters) | Inlet density for which valve coefficients are defined | |
| Dynamics › Time needed to open or close valve | |||
| Boolean | use_strokeTime (from SignalFilterParameters) | false | = true, if opening is filtered to avoid a step change in actuator position |
| Modelica.Units.SI.Time | strokeTime (from SignalFilterParameters) | 30 | Time needed to open or close valve |
| Modelica.Blocks.Types.Init | initValve (from SignalFilterParameters) | Modelica.Blocks.Types.Init.InitialOutput | Type of initialization (no init/steady state/initial state/initial output) |
| Real | yValve_start (from SignalFilterParameters) | fill(1, numAct) | Initial value of output:0-closed, 1-fully opened |
| Dynamics › Nominal condition | |||
| Modelica.Units.SI.Time | tau1 (from PartialParallelElectricEIR) | 30 | Time constant at nominal flow in chillers |
| Modelica.Units.SI.Time | tau2 (from PartialParallelElectricEIR) | 30 | Time constant at nominal flow in chillers |
| Dynamics › Conservation equations | |||
| Modelica.Fluid.Types.Dynamics | energyDynamics (from PartialParallelElectricEIR) | Modelica.Fluid.Types.Dynamics.FixedInitial | Type of energy balance: dynamic (3 initialization options) or steady state |
| Initialization › Medium 1 | |||
| Medium1.AbsolutePressure | p1_start (from PartialParallelElectricEIR) | Medium1.p_default | Start value of pressure |
| Medium1.Temperature | T1_start (from PartialParallelElectricEIR) | Medium1.T_default | Start value of temperature |
| Medium1.MassFraction[Medium1.nX] | X1_start (from PartialParallelElectricEIR) | Medium1.X_default | Start value of mass fractions m_i/m |
| Medium1.ExtraProperty[Medium1.nC] | C1_start (from PartialParallelElectricEIR) | fill(0, Medium1.nC) | Start value of trace substances |
| Medium1.ExtraProperty[Medium1.nC] | C1_nominal (from PartialParallelElectricEIR) | fill(1E-2, Medium1.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
| Initialization › Medium 2 | |||
| Medium2.AbsolutePressure | p2_start (from PartialParallelElectricEIR) | Medium2.p_default | Start value of pressure |
| Medium2.Temperature | T2_start (from PartialParallelElectricEIR) | Medium2.T_default | Start value of temperature |
| Medium2.MassFraction[Medium2.nX] | X2_start (from PartialParallelElectricEIR) | Medium2.X_default | Start value of mass fractions m_i/m |
| Medium2.ExtraProperty[Medium2.nC] | C2_start (from PartialParallelElectricEIR) | fill(0, Medium2.nC) | Start value of trace substances |
| Medium2.ExtraProperty[Medium2.nC] | C2_nominal (from PartialParallelElectricEIR) | fill(1E-2, Medium2.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.Interfaces.FluidPort_a | port_a1 (from PartialFourPort) | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b1 (from PartialFourPort) | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) | |
| Modelica.Fluid.Interfaces.FluidPort_a | port_a2 (from PartialFourPort) | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_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 | |
| Modelica.Blocks.Interfaces.RealInput | TSet (from PartialParallelElectricEIR) | Set point for leaving water temperature | |
| Modelica.Blocks.Interfaces.RealOutput[num] | P (from PartialParallelElectricEIR) | Electric power consumed by chiller compressor |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Medium1.MassFlowRate | m1_flow (from PartialFourPortInterface) | port_a1.m_flow | Mass flow rate from port_a1 to port_b1 (m1_flow > 0 is design flow direction) |
| Modelica.Units.SI.PressureDifference | dp1 (from PartialFourPortInterface) | port_a1.p - port_b1.p | Pressure difference between port_a1 and port_b1 |
| Medium2.MassFlowRate | m2_flow (from PartialFourPortInterface) | port_a2.m_flow | Mass flow rate from port_a2 to port_b2 (m2_flow > 0 is design flow direction) |
| Modelica.Units.SI.PressureDifference | dp2 (from PartialFourPortInterface) | port_a2.p - port_b2.p | Pressure difference between port_a2 and port_b2 |
| Medium1.ThermodynamicState | sta_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.ThermodynamicState | sta_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.ThermodynamicState | sta_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.ThermodynamicState | sta_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] | val2 (from PartialPlantParallel) | Isolation valves on medium 2 side for on/off use | |
| Buildings.Fluid.Actuators.Valves.TwoWayLinear[num] | val1 (from PartialPlantParallel) | Isolation valves on medium 1 side for on/off use | |
| Buildings.Fluid.Chillers.BaseClasses.PartialElectric[num] | chi (from PartialParallelElectricEIR) |
Revisions
-
June 30, 2017, by Yangyang Fu:
First implementation.