Buildings.Obsolete.Fluid.Movers
Package for obsolete models for fans and pumps
Information
This package contains obsolete models for fans and pumps.
Extends from Modelica.Icons.Package (Icon for standard packages).
Package Content
Name | Description |
---|---|
SpeedControlled_Nrpm | Fan or pump with ideally controlled speed Nrpm as input signal |
Preconfigured | Obsolete preconfigured models |
Data | Package containing data for real pumps/fans |
Examples | Obsolete example models |
Validation | Obsolete validation models |
BaseClasses | Package with base classes for Buildings.Obsolete.Fluid.Movers |
Buildings.Obsolete.Fluid.Movers.SpeedControlled_Nrpm
Fan or pump with ideally controlled speed Nrpm as input signal
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.
See the User's Guide for more information.
Extends from Buildings.Obsolete.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 | Nrpm | Prescribed rotational speed [rev/min] |
Modelica definition
model SpeedControlled_Nrpm
"Fan or pump with ideally controlled speed Nrpm as input signal"
extends Buildings.Obsolete.Fluid.Movers.BaseClasses.PartialFlowMachine(
final preVar=Buildings.Fluid.Movers.BaseClasses.Types.PrescribedVariable.Speed,
final nominalValuesDefineDefaultPressureCurve=false,
final computePowerUsingSimilarityLaws=true,
final stageInputs(each final unit="1") = per.speeds,
final constInput(final unit="1") = per.constantSpeed,
filter(
final y_start=y_start,
u(final unit="1"),
y(final unit="1")),
eff(
per(final pressure = per.pressure,
final etaHydMet = per.etaHydMet,
final etaMotMet = per.etaMotMet),
r_N(start=y_start)),
gaiSpe(u(final unit="rev/min"),
final k=1/per.speed_rpm_nominal));
parameter Real y_start(min=0, max=1, unit="1")=0 "Initial value of speed";
Modelica.Blocks.Interfaces.RealInput Nrpm(final unit="rev/min")
if inputType == Buildings.Fluid.Types.InputType.Continuous
"Prescribed rotational speed";
protected
Modelica.Blocks.Math.Gain gain(final k=-1) "Pressure gain";
initial equation
assert(per.havePressureCurve,
"SpeedControlled_Nrpm model requires to set the pressure vs. flow rate curve in record 'per'.");
equation
connect(Nrpm, gaiSpe.u);
connect(gaiSpe.y, inputSwitch.u);
connect(eff.dp, gain.u);
connect(gain.y, preSou.dp_in);
if use_inputFilter then
connect(filter.y, eff.y_in);
else
connect(inputSwitch.y, eff.y_in);
end if;
end SpeedControlled_Nrpm;