modelPartialMultiplePumps
Base class for modeling multiple identical pumps in parallel
Extends from Buildings.Fluid.Interfaces.LumpedVolumeDeclarations, Buildings.Fluid.Interfaces.PartialTwoPortInterface.
Information
This base class represents multiple identical pumps that are piped in parallel. An optional check valve in series with each pump is included. This class is used to construct the various multiple-pump models within Buildings.DHC.Plants.Combined.Subsystems.
Details
In a parallel arrangement, all operating units have the same operating point. This allows modeling the multiple pumps with a single instance of any class derived from Buildings.Fluid.Movers.BaseClasses.PartialFlowMachine. Hydronics are resolved with mass flow rate multiplier components.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | nPum | Number of pumps | |
| Boolean | have_var | true | Set to true for variable speed pumps, false for constant speed |
| Boolean | have_valve | true | Set to true for inline check valve |
| Fluid.Movers.Data.Generic | per | ||
| Nominal condition | |||
| Modelica.Units.SI.MassFlowRate | mPum_flow_nominal | Design mass flow rate (each pump) | |
| Modelica.Units.SI.PressureDifference | dpPum_nominal | Design head (each pump) | |
| Modelica.Units.SI.PressureDifference | dpValve_nominal | 10000 | Pressure drop of check valve fully open |
| Dynamics › Nominal condition | |||
| Modelica.Units.SI.Time | tau | 1 | Time constant of fluid volume for nominal flow, used if energy or mass balance is dynamic |
| Dynamics › Motor speed | |||
| Boolean | use_riseTime | true | Set to true to continuously change motor speed |
| Modelica.Units.SI.Time | riseTime | 30 | Time needed to change motor speed between zero and full speed |
| Modelica.Blocks.Types.Init | init | Modelica.Blocks.Types.Init.InitialOutput | Type of initialization (no init/steady state/initial state/initial output) |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput[nPum] | y1 | Start signal (VFD Run or motor starter contact) | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | P | Total power (all pumps) | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput[nPum] | y1_actual | Pump status | |
| Fluid.BaseClasses.MassFlowRateMultiplier | mulOut | Flow rate multiplier | |
| Fluid.BaseClasses.MassFlowRateMultiplier | mulInl | Flow rate multiplier | |
| Fluid.Movers.SpeedControlled_y | pum | ||
| Buildings.Templates.Components.Controls.MultipleCommands | com | Convert command signal | |
| Buildings.Controls.OBC.CDL.Conversions.BooleanToReal | booToRea | Convert to real | |
| Buildings.Controls.OBC.CDL.Reals.Multiply | mul | Compute total power | |
| Buildings.Controls.OBC.CDL.Reals.Multiply | inp | Compute pump input signal | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | cst | Constant setpoint | |
| Buildings.Controls.OBC.CDL.Reals.GreaterThreshold | isOpe | Evaluate if pump is operating | |
| Fluid.FixedResistances.CheckValve | cheVal | Check valve (optional) | |
| Buildings.DHC.Plants.Combined.Subsystems.BaseClasses.PassThroughFluid | pas | Direct fluid pass-through (case without check valve) | |
| Buildings.Controls.OBC.CDL.Routing.BooleanScalarReplicator | rep | Replicate | |
| Buildings.Controls.OBC.CDL.Logical.Pre[nPum] | preY1 | Left limit of signal avoiding direct feedback of status to controller |
Revisions
-
February 24, 2023, by Antoine Gautier:
First implementation.