modelSpeedControlled_Nrpm
Fan or pump with ideally controlled speed Nrpm as input signal
Extends from IBPSA.Fluid.Movers.BaseClasses.PartialFlowMachine (Partial model to interface fan or pump models with the medium).
Information
This model describes a fan or pump with prescribed speed in revolutions per minute. 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. The efficiency of the device is computed based on the efficiency curves that take as an argument the actual volume flow rate divided by the maximum possible volume flow rate, or based on the motor performance curves.See the User's Guide for more information.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| IBPSA.Fluid.Movers.Data.Generic | per (from PartialFlowMachine) | ||
| Boolean | computePowerUsingSimilarityLaws (from PartialFlowMachine) | = true, compute power exactly, using similarity laws. Otherwise approximate. | |
| Boolean | addPowerToMedium (from PartialFlowMachine) | true | Set to false to avoid any power (=heat and flow work) being added to medium (may give simpler equations) |
| Boolean | nominalValuesDefineDefaultPressureCurve (from PartialFlowMachine) | false | Set to true to avoid warning if m_flow_nominal and dp_nominal are used to construct the default pressure curve |
| Dynamics › Equations | |||
| Modelica.Fluid.Types.Dynamics | energyDynamics (from LumpedVolumeDeclarations) | Modelica.Fluid.Types.Dynamics.DynamicFreeInitial | Type of energy balance: dynamic (3 initialization options) or steady state |
| Modelica.Fluid.Types.Dynamics | massDynamics (from LumpedVolumeDeclarations) | energyDynamics | Type of mass balance: dynamic (3 initialization options) or steady state |
| Modelica.Fluid.Types.Dynamics | substanceDynamics (from LumpedVolumeDeclarations) | energyDynamics | Type of independent mass fraction balance: dynamic (3 initialization options) or steady state |
| Modelica.Fluid.Types.Dynamics | traceDynamics (from LumpedVolumeDeclarations) | energyDynamics | Type of trace substance balance: dynamic (3 initialization options) or steady state |
| Initialization | |||
| Medium.AbsolutePressure | p_start (from LumpedVolumeDeclarations) | Medium.p_default | Start value of pressure |
| Medium.Temperature | T_start (from LumpedVolumeDeclarations) | Medium.T_default | Start value of temperature |
| Medium.MassFraction[Medium.nX] | X_start (from LumpedVolumeDeclarations) | Medium.X_default | Start 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 | |||
| Real | mSenFac (from LumpedVolumeDeclarations) | 1 | Factor for scaling the sensible thermal mass of the volume |
| Assumptions | |||
| Boolean | allowFlowReversal (from PartialTwoPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Nominal condition | |||
| Modelica.SIunits.MassFlowRate | m_flow_nominal (from PartialTwoPortInterface) | Nominal mass flow rate | |
| Advanced | |||
| Modelica.SIunits.MassFlowRate | m_flow_small (from PartialTwoPortInterface) | 1E-4*abs(m_flow_nominal) | Small mass flow rate for regularization of zero flow |
| Advanced › Diagnostics | |||
| Boolean | show_T (from PartialTwoPortInterface) | false | = true, if actual temperature at port is computed |
| Control | |||
| IBPSA.Fluid.Types.InputType | inputType (from PartialFlowMachine) | IBPSA.Fluid.Types.InputType.Continuous | Control input type |
| Real | constInput (from PartialFlowMachine) | 0 | Constant input set point |
| Real[:] | stageInputs (from PartialFlowMachine) | Vector of input set points corresponding to stages | |
| Dynamics › Nominal condition | |||
| Modelica.SIunits.Time | tau (from PartialFlowMachine) | 1 | Time constant of fluid volume for nominal flow, used if energy or mass balance is dynamic |
| Dynamics › Filtered speed | |||
| Boolean | use_inputFilter (from PartialFlowMachine) | true | = true, if speed is filtered with a 2nd order CriticalDamping filter |
| Modelica.SIunits.Time | riseTime (from PartialFlowMachine) | 30 | Rise time of the filter (time to reach 99.6 % of the speed) |
| Modelica.Blocks.Types.Init | init (from PartialFlowMachine) | Modelica.Blocks.Types.Init.InitialOutput | Type of initialization (no init/steady state/initial state/initial output) |
| Real | y_start (from PartialFlowMachine) | 0 | Initial value of speed |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.Interfaces.FluidPort_a | port_a (from PartialTwoPort) | Fluid connector a (positive design flow direction is from port_a to port_b) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b (from PartialTwoPort) | Fluid connector b (positive design flow direction is from port_a to port_b) | |
| Modelica.Blocks.Interfaces.IntegerInput | stage (from PartialFlowMachine) | Stage input signal for the pressure head | |
| Modelica.Blocks.Interfaces.RealOutput | y_actual (from PartialFlowMachine) | Actual normalised pump speed that is used for computations | |
| Modelica.Blocks.Interfaces.RealOutput | P (from PartialFlowMachine) | Electrical power consumed | |
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a | heatPort (from PartialFlowMachine) | Heat dissipation to environment | |
| Modelica.Blocks.Interfaces.RealInput | Nrpm | Prescribed rotational speed |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.SIunits.MassFlowRate | m_flow (from PartialTwoPortInterface) | port_a.m_flow | Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) |
| Modelica.SIunits.PressureDifference | dp (from PartialTwoPortInterface) | port_a.p - port_b.p | Pressure difference between port_a and port_b |
| Medium.ThermodynamicState | sta_a (from PartialTwoPortInterface) | Medium.setState_phX(port_a.p, noEvent(actualStream(port_a.h_outflow)), noEvent(actualStream(port_a.Xi_outflow))) | Medium properties in port_a |
| Medium.ThermodynamicState | sta_b (from PartialTwoPortInterface) | Medium.setState_phX(port_b.p, noEvent(actualStream(port_b.h_outflow)), noEvent(actualStream(port_b.Xi_outflow))) | Medium properties in port_b |
| Modelica.SIunits.VolumeFlowRate | VMachine_flow (from PartialFlowMachine) | eff.V_flow | Volume flow rate |
| Modelica.SIunits.PressureDifference | dpMachine (from PartialFlowMachine) | -preSou.dp | Pressure difference |
| Real | eta (from PartialFlowMachine) | eff.eta | Global efficiency |
| Real | etaHyd (from PartialFlowMachine) | eff.etaHyd | Hydraulic efficiency |
| Real | etaMot (from PartialFlowMachine) | eff.etaMot | Motor efficiency |
Revisions
-
March 24, 2017, by Michael Wetter:
RenamedfilteredSpeedtouse_inputFilter.
This is for #665. -
March 2, 2016, by Filip Jorissen:
Refactored model such that it directly extendsPartialFlowMachine. This is for #417. -
February 17, 2016, by Michael Wetter:
Updated parameter names for #396. -
January 19, 2016, by Filip Jorissen:
Set default value of parameter:speeds=per.speeds. This is for #396. -
April 2, 2015, by Filip Jorissen:
Added code for supporting stage input and constant input. -
March 6, 2015, by Michael Wetter
Made performance recordperreplaceable as for the other models. -
January 6, 2015, by Michael Wetter:
Revised model for OpenModelica. -
April 17, 2014, by Filip Jorissen:
Implemented records for supplying pump/fan parameters -
February 14, 2012, by Michael Wetter:
Added filter for start-up and shut-down transient. -
May 25, 2011, by Michael Wetter:
Revised implementation of energy balance to avoid having to use conditionally removed models. -
July 27, 2010, by Michael Wetter:
Redesigned model to fix bug in medium balance. - March 24, 2010, by Michael Wetter:
Revised implementation to allow zero flow rate. - October 1, 2009,
by Michael Wetter:
Model added to the IBPSA library. - 31 Oct 2005
by Francesco Casella:
Model added to the Fluid library