modelPump

Container class for circulating pumps

Extends from Buildings.Fluid.Interfaces.LumpedVolumeDeclarations (Declarations for lumped volumes), Buildings.Fluid.Interfaces.PartialTwoPortInterface (Partial model with two ports and declaration of quantities that are used by many models).

Information

This is a container class for pump models from Buildings.Fluid.Movers.

Two parameters allow configuring the model.

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

TypeNameDefaultDescription
Buildings.Fluid.Movers.Data.Genericper
BooleanaddPowerToMediumtrueSet to false to avoid any power (=heat and flow work) being added to medium (may give simpler equations)
Dynamics › Conservation equations
Modelica.Fluid.Types.DynamicsenergyDynamics (from LumpedVolumeDeclarations)Modelica.Fluid.Types.Dynamics.DynamicFreeInitialType of energy balance: dynamic (3 initialization options) or steady state
Modelica.Fluid.Types.DynamicssubstanceDynamics (from LumpedVolumeDeclarations)energyDynamicsType of independent mass fraction balance: dynamic (3 initialization options) or steady state
Modelica.Fluid.Types.DynamicstraceDynamics (from LumpedVolumeDeclarations)energyDynamicsType of trace substance balance: dynamic (3 initialization options) or steady state
Advanced › Dynamics
Modelica.Fluid.Types.DynamicsmassDynamics (from LumpedVolumeDeclarations)energyDynamicsType of mass balance: dynamic (3 initialization options) or steady state, must be steady state if energyDynamics is steady state
Initialization
Medium.AbsolutePressurep_start (from LumpedVolumeDeclarations)Medium.p_defaultStart value of pressure
Medium.TemperatureT_start (from LumpedVolumeDeclarations)Medium.T_defaultStart value of temperature
Medium.MassFraction[Medium.nX]X_start (from LumpedVolumeDeclarations)Medium.X_defaultStart value of mass fractions m_i/m
Medium.ExtraProperty[Medium.nC]C_start (from LumpedVolumeDeclarations)fill(0, Medium.nC)Start value of trace substances
Medium.ExtraProperty[Medium.nC]C_nominal (from LumpedVolumeDeclarations)fill(1E-2, Medium.nC)Nominal value of trace substances. (Set to typical order of magnitude.)
Dynamics
RealmSenFac (from LumpedVolumeDeclarations)1Factor for scaling the sensible thermal mass of the volume
Assumptions
BooleanallowFlowReversal (from PartialTwoPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal
Nominal condition
Modelica.Units.SI.MassFlowRatem_flow_nominal (from PartialTwoPortInterface)Nominal mass flow rate
Modelica.Units.SI.PressureDifferencedp_nominalPump head at design conditions
Advanced
Modelica.Units.SI.MassFlowRatem_flow_small (from PartialTwoPortInterface)1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow
Advanced › Diagnostics
Booleanshow_T (from PartialTwoPortInterface)false= true, if actual temperature at port is computed
Configuration
Buildings.Fluid.HydronicConfigurations.Types.PumptypBuildings.Fluid.HydronicConfigurations.Types.Pump.VariableInputType of secondary pump
Buildings.Fluid.HydronicConfigurations.Types.PumpModeltypModBuildings.Fluid.HydronicConfigurations.Types.PumpModel.SpeedType of pump model
Control
Buildings.Fluid.Types.InputTypeinputTypeBuildings.Fluid.Types.InputType.ContinuousControl input type
Dynamics › Motor speed
Booleanuse_riseTimetrueSet to true to continuously change motor speed
Modelica.Units.SI.TimeriseTime30Time needed to change motor speed between zero and full speed
Modelica.Blocks.Types.InitinitModelica.Blocks.Types.Init.InitialOutputType of initialization (no init/steady state/initial state/initial output)

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a (from PartialTwoPort)Fluid connector a (positive design flow direction is from port_a to port_b)
Modelica.Fluid.Interfaces.FluidPort_bport_b (from PartialTwoPort)Fluid connector b (positive design flow direction is from port_a to port_b)
Buildings.Controls.OBC.CDL.Interfaces.RealInputyAnalog control signal
Buildings.Controls.OBC.CDL.Interfaces.BooleanInputy1Start signal
Buildings.Controls.OBC.CDL.Interfaces.RealOutputy_actualActual pump input value that is used for computations
Buildings.Controls.OBC.CDL.Interfaces.RealOutputPElectrical power consumed
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_aheatPortHeat dissipation to environment

Components

TypeNameDefaultDescription
Modelica.Units.SI.MassFlowRatem_flow (from PartialTwoPortInterface)port_a.m_flowMass flow rate from port_a to port_b (m_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedp (from PartialTwoPortInterface)port_a.p - port_b.pPressure difference between port_a and port_b
Medium.ThermodynamicStatesta_a (from PartialTwoPortInterface)if allowFlowReversal then Medium.setState_phX(port_a.p, noEvent(actualStream(port_a.h_outflow)), noEvent(actualStream(port_a.Xi_outflow))) else Medium.setState_phX(port_a.p, noEvent(inStream(port_a.h_outflow)), noEvent(inStream(port_a.Xi_outflow)))Medium properties in port_a
Medium.ThermodynamicStatesta_b (from PartialTwoPortInterface)if allowFlowReversal then Medium.setState_phX(port_b.p, noEvent(actualStream(port_b.h_outflow)), noEvent(actualStream(port_b.Xi_outflow))) else Medium.setState_phX(port_b.p, noEvent(port_b.h_outflow), noEvent(port_b.Xi_outflow))Medium properties in port_b
Modelica.Units.SI.VolumeFlowRateVMachine_flowV_flow.V_flowVolume flow rate
Modelica.Units.SI.PressureDifferencedpMachineport_b.p - port_a.pPressure rise
Movers.FlowControlled_dppumDpPump with ideally controlled head as input signal
Movers.SpeedControlled_ypumSpePump with ideally controlled normalized speed as input
Movers.FlowControlled_m_flowpumFloPump with ideally controlled mass flow rate as input
Sensors.VolumeFlowRateV_flowVolume flow rate
Buildings.Controls.OBC.CDL.Reals.MultiplyByParameterscaHeaScale control input to design head
Buildings.Controls.OBC.CDL.Reals.MultiplyByParameterscaSpeScale control input to design speed
Buildings.Controls.OBC.CDL.Reals.MultiplyByParameterscaFloScale control input to design flow rate
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantzerZero
Buildings.Controls.OBC.CDL.Reals.SwitchswiSwitch on/off
Buildings.Controls.OBC.CDL.Reals.Sources.ConstantOneone
FixedResistances.LosslessPipenoPumDirect fluid pass-through in case of no pump

Revisions

  • April 4, 2023, by Hongxiang Fu:
    Deleted the mover with Nrpm signal. This is for IBPSA, #1704.
  • June 30, 2022, by Antoine Gautier:
    First implementation.