modelPump
Container class for circulating pumps
Extends from Buildings.Fluid.Interfaces.LumpedVolumeDeclarations, Buildings.Fluid.Interfaces.PartialTwoPortInterface.
Information
This is a container class for pump models from Buildings.Fluid.Movers.
Two parameters allow configuring the model.
-
The parameter
typenables selecting the type of pump based on the enumeration Buildings.Fluid.HydronicConfigurations.Types.Pump. If "No pump" is selected the model resolves into a simple fluid direct pass-through. -
The parameter
typModenables selecting the type of pump model based on the enumeration Buildings.Fluid.HydronicConfigurations.Types.PumpModel.
The model takes the following input variables that are conditional
to the parameter typ.
| Variable | Type (unit) | Condition | Description |
|---|---|---|---|
y1 |
Boolean | Only available if typ<>None |
Start signal |
y |
Real (-) | Only available if typ==VariableInput |
Analog control signal. Whatever the type of pump model (specified with typMod) the container class takes a non-dimensional input between 0 and 1. |
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Fluid.Movers.Data.Generic | per | ||
| Boolean | addPowerToMedium | true | Set to false to avoid any power (=heat and flow work) being added to medium (may give simpler equations) |
| Configuration | |||
| Buildings.Fluid.HydronicConfigurations.Types.Pump | typ | Buildings.Fluid.HydronicConfigurations.Types.Pump.VariableInput | Type of secondary pump |
| Buildings.Fluid.HydronicConfigurations.Types.PumpModel | typMod | Buildings.Fluid.HydronicConfigurations.Types.PumpModel.Speed | Type of pump model |
| Nominal condition | |||
| Modelica.Units.SI.PressureDifference | dp_nominal | Pump head at design conditions | |
| Control | |||
| Buildings.Fluid.Types.InputType | inputType | Buildings.Fluid.Types.InputType.Continuous | Control input type |
| 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 |
|---|---|---|---|
| Modelica.Units.SI.VolumeFlowRate | VMachine_flow | V_flow.V_flow | Volume flow rate |
| Modelica.Units.SI.PressureDifference | dpMachine | port_b.p - port_a.p | Pressure rise |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | y | Analog control signal | |
| Buildings.Controls.OBC.CDL.Interfaces.BooleanInput | y1 | Start signal | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | y_actual | Actual pump input value that is used for computations | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | P | Electrical power consumed | |
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a | heatPort | Heat dissipation to environment | |
| Movers.FlowControlled_dp | pumDp | Pump with ideally controlled head as input signal | |
| Movers.SpeedControlled_y | pumSpe | Pump with ideally controlled normalized speed as input | |
| Movers.FlowControlled_m_flow | pumFlo | Pump with ideally controlled mass flow rate as input | |
| Sensors.VolumeFlowRate | V_flow | Volume flow rate | |
| Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter | scaHea | Scale control input to design head | |
| Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter | scaSpe | Scale control input to design speed | |
| Buildings.Controls.OBC.CDL.Reals.MultiplyByParameter | scaFlo | Scale control input to design flow rate | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | zer | Zero | |
| Buildings.Controls.OBC.CDL.Reals.Switch | swi | Switch on/off | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | One | one | |
| FixedResistances.LosslessPipe | noPum | Direct fluid pass-through in case of no pump |
Revisions
-
April 4, 2023, by Hongxiang Fu:
Deleted the mover withNrpmsignal. This is for IBPSA, #1704. -
June 30, 2022, by Antoine Gautier:
First implementation.