Buildings.Fluid.Movers.Data

Package containing data for real pumps/fans

Information

This package contains data for fans and pumps.

See the User's Guide for more information.

Extends from Modelica.Icons.MaterialPropertiesPackage (Icon for package containing property classes).

Package Content

Name Description
Buildings.Fluid.Movers.Data.Generic Generic Generic data record for movers
Buildings.Fluid.Movers.Data.Pumps Pumps Package containing data for pumps

Buildings.Fluid.Movers.Data.Generic Buildings.Fluid.Movers.Data.Generic

Generic data record for movers

Information

Record containing parameters for pumps or fans.

Typical use

This record may be used to assign for example fan performance data using declaration such as

  Buildings.Fluid.Movers.SpeedControlled_y fan(
    redeclare package Medium = Medium,
      per(pressure(V_flow={0,m_flow_nominal,2*m_flow_nominal}/1.2,
                   dp={2*dp_nominal,dp_nominal,0}))) "Fan";

This data record can be used with Buildings.Fluid.Movers.SpeedControlled_Nrpm, Buildings.Fluid.Movers.SpeedControlled_y, Buildings.Fluid.Movers.FlowControlled_dp, Buildings.Fluid.Movers.FlowControlled_m_flow.

An example that uses manufacturer data can be found in Buildings.Fluid.Movers.Validation.Pump_Nrpm_stratos.

Parameters in RPM

The parameters speed_rpm_nominal, constantSpeed_rpm and speeds_rpm are used to assign the non-dimensional speeds

  parameter Real constantSpeed(final min=0, final unit="1") = constantSpeed_rpm/speed_rpm_nominal;
  parameter Real[:] speeds(each final min = 0, each final unit="1") = speeds_rpm/speed_rpm_nominal;

In addition, speed_rpm_nominal is used in Buildings.Fluid.Movers.SpeedControlled_Nrpm to normalize the control input signal. Otherwise, these speed parameters in RPM are not used in the models.

Extends from Modelica.Icons.Record (Icon for records).

Parameters

TypeNameDefaultDescription
Pressure curve
flowParameterspressurepressure( V_flow = {0, 0},...Volume flow rate vs. total pressure rise
Power computation
Booleanuse_powerCharacteristicfalseUse power data instead of motor efficiency
efficiencyParametershydraulicEfficiencyhydraulicEfficiency( V_f...Hydraulic efficiency (used if use_powerCharacteristic=false)
efficiencyParametersmotorEfficiencymotorEfficiency( V_flow=...Electric motor efficiency (used if use_powerCharacteristic=false)
powerParameterspowerpower( V_flow={0}, P={...Volume flow rate vs. electrical power consumption (used if use_powerCharacteristic=true)
Motor heat rejection
BooleanmotorCooledByFluidtrueIf true, then motor heat is added to fluid stream
Normalized speeds (used in model, default values assigned from speeds in rpm)
Realspeed_nominal1Nominal rotational speed for flow characteristic [1]
RealconstantSpeedconstantSpeed_rpm/speed_rpm_...Normalized speed set point, used if inputType = Buildings.Fluid.Types.InputType.Constant [1]
Realspeeds[:]speeds_rpm/speed_rpm_nominalVector of normalized speed set points, used if inputType = Buildings.Fluid.Types.InputType.Stages [1]
Speeds in RPM
AngularVelocity_rpmspeed_rpm_nominal1500Nominal rotational speed for flow characteristic [rev/min]
AngularVelocity_rpmconstantSpeed_rpmspeed_rpm_nominalSpeed set point, used if inputType = Buildings.Fluid.Types.InputType.Constant [rev/min]
AngularVelocity_rpmspeeds_rpm[:]{speed_rpm_nominal}Vector of speed set points, used if inputType = Buildings.Fluid.Types.InputType.Stages [rev/min]

Modelica definition

record Generic "Generic data record for movers" extends Modelica.Icons.Record; // Pressure requires default values to avoid in Dymola the message // Failed to expand the variable pressure.V_flow. parameter Buildings.Fluid.Movers.BaseClasses.Characteristics.flowParameters pressure( V_flow = {0, 0}, dp = {0, 0}) "Volume flow rate vs. total pressure rise"; parameter Boolean use_powerCharacteristic=false "Use power data instead of motor efficiency"; parameter Buildings.Fluid.Movers.BaseClasses.Characteristics.efficiencyParameters hydraulicEfficiency( V_flow={0}, eta={0.7}) "Hydraulic efficiency (used if use_powerCharacteristic=false)"; parameter Buildings.Fluid.Movers.BaseClasses.Characteristics.efficiencyParameters motorEfficiency( V_flow={0}, eta={0.7}) "Electric motor efficiency (used if use_powerCharacteristic=false)"; // Power requires default values to avoid in Dymola the message // Failed to expand the variable Power.V_flow parameter BaseClasses.Characteristics.powerParameters power( V_flow={0}, P={0}) "Volume flow rate vs. electrical power consumption (used if use_powerCharacteristic=true)"; parameter Boolean motorCooledByFluid=true "If true, then motor heat is added to fluid stream"; parameter Real speed_nominal( final min=0, final unit="1") = 1 "Nominal rotational speed for flow characteristic"; parameter Real constantSpeed(final min=0, final unit="1") = constantSpeed_rpm/speed_rpm_nominal "Normalized speed set point, used if inputType = Buildings.Fluid.Types.InputType.Constant"; parameter Real[:] speeds(each final min = 0, each final unit="1") = speeds_rpm/speed_rpm_nominal "Vector of normalized speed set points, used if inputType = Buildings.Fluid.Types.InputType.Stages"; parameter Modelica.SIunits.Conversions.NonSIunits.AngularVelocity_rpm speed_rpm_nominal=1500 "Nominal rotational speed for flow characteristic"; parameter Modelica.SIunits.Conversions.NonSIunits.AngularVelocity_rpm constantSpeed_rpm=speed_rpm_nominal "Speed set point, used if inputType = Buildings.Fluid.Types.InputType.Constant"; parameter Modelica.SIunits.Conversions.NonSIunits.AngularVelocity_rpm[:] speeds_rpm = {speed_rpm_nominal} "Vector of speed set points, used if inputType = Buildings.Fluid.Types.InputType.Stages"; // Set a parameter in order for // (a) FlowControlled_m_flow and FlowControlled_dp being able to set a reasonable // default pressure curve if it is not specified here, and // (b) SpeedControlled_y and SpeedControlled_Nrpm being able to issue an assert // if no pressure curve is specified. final parameter Boolean havePressureCurve= sum(pressure.V_flow) > Modelica.Constants.eps and sum(pressure.dp) > Modelica.Constants.eps "= true, if default record values are being used"; end Generic;