Buildings.Fluid.Movers
Package with fan and pump models
Information
This package contains component models for fans and pumps.Extends from Modelica.Icons.Package (Icon for standard packages).
Package Content
Name | Description |
---|---|
UsersGuide | User's Guide |
FlowControlled_dp | Fan or pump with ideally controlled head dp as input signal |
FlowControlled_m_flow | Fan or pump with ideally controlled mass flow rate as input signal |
SpeedControlled_y | Fan or pump with ideally controlled normalized speed y as input signal |
Preconfigured | Preconfigured mover models |
Data | Package containing data for real pumps/fans |
Examples | Collection of models that illustrate model use and test models |
Validation | Collection of validation models |
BaseClasses | Package with base classes for Buildings.Fluid.Movers |
Buildings.Fluid.Movers.FlowControlled_dp
Fan or pump with ideally controlled head dp as input signal
Information
This model describes a fan or pump with prescribed head. The input connector provides the pressure rise from the inlet to the outlet.
Main equations
See the User's Guide.
Typical use and important parameters
If use_inputFilter=true
, then the parameter dp_nominal
is
used to normalize the filter. This is used to improve the numerics of the transient response.
The actual pressure raise of the mover at steady-state is independent
of the value of dp_nominal
. It is recommended to set
dp_nominal
to approximately the pressure raise that the mover has during
full speed.
Options
Parameter prescribeSystemPressure
can be used to control the mover such that the pressure
difference set point is obtained across two points
in the system, instead of across the fan.
This allows an efficient implementation of
static pressure reset controllers.
A measurement of the pressure difference between the
two points in system then needs to be connected
to RealInput dpMea
.
This functionality is demonstrated in
Buildings.Fluid.Movers.Validation.FlowControlled_dpSystem.
Extends from Buildings.Fluid.Movers.BaseClasses.PartialFlowMachine (Partial model to interface fan or pump models with the medium).
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium | PartialMedium | Medium in the component | |
Generic | per | redeclare parameter Building... | Record with performance data |
Boolean | computePowerUsingSimilarityLaws | per.havePressureCurve | = true, compute power exactly, using similarity laws. Otherwise approximate. |
Boolean | addPowerToMedium | true | Set to false to avoid any power (=heat and flow work) being added to medium (may give simpler equations) |
Boolean | nominalValuesDefineDefaultPressureCurve | false | Set to true to avoid warning if m_flow_nominal and dp_nominal are used to construct the default pressure curve |
PressureDifference | constantHead | dp_nominal | Constant pump head, used when inputType=Constant [Pa] |
PressureDifference | heads[:] | dp_nominal*{(per.speeds[i]/p... | Vector of head set points, used when inputType=Stages [Pa] |
Control | |||
InputType | inputType | Buildings.Fluid.Types.InputT... | Control input type |
Nominal condition | |||
MassFlowRate | m_flow_nominal | Nominal mass flow rate [kg/s] | |
PressureDifference | dp_nominal | if rho_default < 500 then 50... | Nominal pressure raise, used to normalized the filter if use_inputFilter=true, to set default values of constantHead and heads, and and for default pressure curve if not specified in record per [Pa] |
Dynamics | |||
Conservation equations | |||
Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state |
Nominal condition | |||
Time | tau | 1 | Time constant of fluid volume for nominal flow, used if energy or mass balance is dynamic [s] |
Filtered speed | |||
Boolean | use_inputFilter | true | = true, if speed is filtered with a 2nd order CriticalDamping filter |
Time | riseTime | 30 | Rise time of the filter (time to reach 99.6 % of the speed) [s] |
Init | init | Modelica.Blocks.Types.Init.I... | Type of initialization (no init/steady state/initial state/initial output) |
PressureDifference | dp_start | 0 | Initial value of pressure raise [Pa] |
Initialization | |||
AbsolutePressure | p_start | Medium.p_default | Start value of pressure [Pa] |
Temperature | T_start | Medium.T_default | Start value of temperature [K] |
MassFraction | X_start[Medium.nX] | Medium.X_default | Start value of mass fractions m_i/m [kg/kg] |
ExtraProperty | C_start[Medium.nC] | fill(0, Medium.nC) | Start value of trace substances |
ExtraProperty | C_nominal[Medium.nC] | fill(1E-2, Medium.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
Assumptions | |||
Boolean | allowFlowReversal | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
Advanced | |||
MassFlowRate | m_flow_small | 1E-4*abs(_m_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
Boolean | prescribeSystemPressure | false | =true, to control mover such that pressure difference is obtained across two remote points in system |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Connectors
Type | Name | Description |
---|---|---|
FluidPort_a | port_a | Fluid connector a (positive design flow direction is from port_a to port_b) |
FluidPort_b | port_b | Fluid connector b (positive design flow direction is from port_a to port_b) |
input IntegerInput | stage | Stage input signal for the pressure head |
output RealOutput | y_actual | Actual normalised fan or pump speed that is used for computations [1] |
output RealOutput | P | Electrical power consumed [W] |
HeatPort_a | heatPort | Heat dissipation to environment |
input RealInput | dpMea | Measurement of pressure difference between two points where the set point should be obtained [Pa] |
input RealInput | dp_in | Prescribed pressure rise [Pa] |
output RealOutput | dp_actual | Pressure difference between the mover inlet and outlet [Pa] |
Modelica definition
Buildings.Fluid.Movers.FlowControlled_m_flow
Fan or pump with ideally controlled mass flow rate as input signal
Information
This model describes a fan or pump with prescribed mass flow rate.
Note that if the model operates with a head that is larger than dpMax
, which by default is
two times larger than the largest head declared in eff.per.pressure.dp
,
the simulation will stop with an error message.
This guards against unreasonably high pressure drops and electrical power use,
which can happen if the model is forcing mass flow rate through a closed actuator.
See the User's Guide for more information.
Extends from Buildings.Fluid.Movers.BaseClasses.PartialFlowMachine (Partial model to interface fan or pump models with the medium).
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium | PartialMedium | Medium in the component | |
Generic | per | redeclare parameter Building... | Record with performance data |
Boolean | computePowerUsingSimilarityLaws | per.havePressureCurve | = true, compute power exactly, using similarity laws. Otherwise approximate. |
Boolean | addPowerToMedium | true | Set to false to avoid any power (=heat and flow work) being added to medium (may give simpler equations) |
Boolean | nominalValuesDefineDefaultPressureCurve | false | Set to true to avoid warning if m_flow_nominal and dp_nominal are used to construct the default pressure curve |
MassFlowRate | constantMassFlowRate | m_flow_nominal | Constant pump mass flow rate, used when inputType=Constant [kg/s] |
MassFlowRate | massFlowRates[:] | m_flow_nominal*{per.speeds[i... | Vector of mass flow rate set points, used when inputType=Stage [kg/s] |
Control | |||
InputType | inputType | Buildings.Fluid.Types.InputT... | Control input type |
Nominal condition | |||
MassFlowRate | m_flow_nominal | Nominal mass flow rate [kg/s] | |
PressureDifference | dp_nominal | if rho_default < 500 then 50... | Nominal pressure raise, used for default pressure curve if not specified in record per [Pa] |
Dynamics | |||
Conservation equations | |||
Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state |
Nominal condition | |||
Time | tau | 1 | Time constant of fluid volume for nominal flow, used if energy or mass balance is dynamic [s] |
Filtered speed | |||
Boolean | use_inputFilter | true | = true, if speed is filtered with a 2nd order CriticalDamping filter |
Time | riseTime | 30 | Rise time of the filter (time to reach 99.6 % of the speed) [s] |
Init | init | Modelica.Blocks.Types.Init.I... | Type of initialization (no init/steady state/initial state/initial output) |
MassFlowRate | m_flow_start | 0 | Initial value of mass flow rate [kg/s] |
Initialization | |||
AbsolutePressure | p_start | Medium.p_default | Start value of pressure [Pa] |
Temperature | T_start | Medium.T_default | Start value of temperature [K] |
MassFraction | X_start[Medium.nX] | Medium.X_default | Start value of mass fractions m_i/m [kg/kg] |
ExtraProperty | C_start[Medium.nC] | fill(0, Medium.nC) | Start value of trace substances |
ExtraProperty | C_nominal[Medium.nC] | fill(1E-2, Medium.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
Assumptions | |||
Boolean | allowFlowReversal | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
Advanced | |||
MassFlowRate | m_flow_small | 1E-4*abs(_m_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
Pressure | dpMax | 2*max(eff.per.pressure.dp) | Maximum pressure allowed to operate the model, if exceeded, the simulation stops with an error [Pa] |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Connectors
Type | Name | Description |
---|---|---|
FluidPort_a | port_a | Fluid connector a (positive design flow direction is from port_a to port_b) |
FluidPort_b | port_b | Fluid connector b (positive design flow direction is from port_a to port_b) |
input IntegerInput | stage | Stage input signal for the pressure head |
output RealOutput | y_actual | Actual normalised fan or pump speed that is used for computations [1] |
output RealOutput | P | Electrical power consumed [W] |
HeatPort_a | heatPort | Heat dissipation to environment |
input RealInput | m_flow_in | Prescribed mass flow rate [kg/s] |
output RealOutput | m_flow_actual | Actual mass flow rate [kg/s] |
Modelica definition
Buildings.Fluid.Movers.SpeedControlled_y
Fan or pump with ideally controlled normalized speed y as input signal
Information
This model describes a fan or pump with prescribed normalized speed. The input connector provides the normalized rotational speed (between 0 and 1). The head is computed based on the performance curve that take as an argument the actual volume flow rate divided by the maximum flow rate and the relative speed of the fan.
See the User's Guide for more information.
Extends from Buildings.Fluid.Movers.BaseClasses.PartialFlowMachine (Partial model to interface fan or pump models with the medium).
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium | PartialMedium | Medium in the component | |
Generic | per | redeclare parameter Building... | Record with performance data |
Boolean | computePowerUsingSimilarityLaws | true | = true, compute power exactly, using similarity laws. Otherwise approximate. |
Boolean | addPowerToMedium | true | Set to false to avoid any power (=heat and flow work) being added to medium (may give simpler equations) |
Boolean | nominalValuesDefineDefaultPressureCurve | false | Set to true to avoid warning if m_flow_nominal and dp_nominal are used to construct the default pressure curve |
Control | |||
InputType | inputType | Buildings.Fluid.Types.InputT... | Control input type |
Dynamics | |||
Conservation equations | |||
Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state |
Nominal condition | |||
Time | tau | 1 | Time constant of fluid volume for nominal flow, used if energy or mass balance is dynamic [s] |
Filtered speed | |||
Boolean | use_inputFilter | true | = true, if speed is filtered with a 2nd order CriticalDamping filter |
Time | riseTime | 30 | Rise time of the filter (time to reach 99.6 % of the speed) [s] |
Init | init | Modelica.Blocks.Types.Init.I... | Type of initialization (no init/steady state/initial state/initial output) |
Real | y_start | 0 | Initial value of speed [1] |
Initialization | |||
AbsolutePressure | p_start | Medium.p_default | Start value of pressure [Pa] |
Temperature | T_start | Medium.T_default | Start value of temperature [K] |
MassFraction | X_start[Medium.nX] | Medium.X_default | Start value of mass fractions m_i/m [kg/kg] |
ExtraProperty | C_start[Medium.nC] | fill(0, Medium.nC) | Start value of trace substances |
ExtraProperty | C_nominal[Medium.nC] | fill(1E-2, Medium.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
Assumptions | |||
Boolean | allowFlowReversal | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
Advanced | |||
MassFlowRate | m_flow_small | 1E-4*abs(_m_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Connectors
Type | Name | Description |
---|---|---|
FluidPort_a | port_a | Fluid connector a (positive design flow direction is from port_a to port_b) |
FluidPort_b | port_b | Fluid connector b (positive design flow direction is from port_a to port_b) |
input IntegerInput | stage | Stage input signal for the pressure head |
output RealOutput | y_actual | Actual normalised fan or pump speed that is used for computations [1] |
output RealOutput | P | Electrical power consumed [W] |
HeatPort_a | heatPort | Heat dissipation to environment |
input RealInput | y | Constant normalized rotational speed [1] |