LBL logo

Buildings.Obsolete.Fluid.Movers

Package with obsolete models for flow machines

Information

This package contains obsolete models that are planned to be removed.

Extends from Modelica.Icons.Package (Icon for standard packages).

Package Content

Name Description
Buildings.Obsolete.Fluid.Movers.FlowMachinePolynomial FlowMachinePolynomial Fan or pump with head and efficiency declared by a non-dimensional polynomial
Buildings.Obsolete.Fluid.Movers.Examples Examples Package with obsolete models for examples of flow machines

Buildings.Obsolete.Fluid.Movers.FlowMachinePolynomial Buildings.Obsolete.Fluid.Movers.FlowMachinePolynomial

Fan or pump with head and efficiency declared by a non-dimensional polynomial

Buildings.Obsolete.Fluid.Movers.FlowMachinePolynomial

Information

This is a model of a flow machine (pump or fan).

The normalized pressure difference is computed using a function of the normalized mass flow rate. The function is a polynomial for which a user needs to supply the coefficients and two values that determine for what flow rate the polynomial is linearly extended.

Note: This model is here for compatibility with older versions of this library. For new models, use instead Buildings.Fluid.Movers.FlowMachine_y.

Extends from Buildings.Fluid.Interfaces.PartialTwoPortInterface (Partial model transporting fluid between two ports without storing mass or energy), Modelica.Icons.ObsoleteModel (Icon for classes that are obsolete and will be removed in later versions).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMediumMedium in the component
LengthD Diameter [m]
Reala[:] Polynomial coefficients for pressure=p(mNor_flow)
Realb[:] Polynomial coefficients for etaSha=p(mNor_flow)
RealmNorMin_flow Lowest valid normalized mass flow rate
RealmNorMax_flow Highest valid normalized mass flow rate
RealscaM_flow1Factor used to scale the mass flow rate of the fan (used for quickly adjusting fan size)
RealscaDp1Factor used to scale the pressure increase of the fan (used for quickly adjusting fan size)
Nominal condition
MassFlowRatem_flow_nominal Nominal mass flow rate [kg/s]
Initialization
MassFlowRatem_flow.start0Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) [kg/s]
Pressuredp.start0Pressure difference between port_a and port_b [Pa]
Assumptions
BooleanallowFlowReversalsystem.allowFlowReversal= true to allow flow reversal, false restricts to design direction (port_a -> port_b)
Advanced
MassFlowRatem_flow_small1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow [kg/s]
Diagnostics
Booleanshow_Tfalse= true, if actual temperature at port is computed

Connectors

TypeNameDescription
FluidPort_aport_aFluid connector a (positive design flow direction is from port_a to port_b)
FluidPort_bport_bFluid connector b (positive design flow direction is from port_a to port_b)
input RealInputN_inPrescribed rotational speed

Modelica definition

model FlowMachinePolynomial "Fan or pump with head and efficiency declared by a non-dimensional polynomial" extends Buildings.Fluid.Interfaces.PartialTwoPortInterface; extends Modelica.Icons.ObsoleteModel; Modelica.Blocks.Interfaces.RealInput N_in "Prescribed rotational speed"; parameter Modelica.SIunits.Length D "Diameter"; parameter Real[:] a "Polynomial coefficients for pressure=p(mNor_flow)"; parameter Real[:] b "Polynomial coefficients for etaSha=p(mNor_flow)"; parameter Real mNorMin_flow "Lowest valid normalized mass flow rate"; parameter Real mNorMax_flow "Highest valid normalized mass flow rate"; parameter Real scaM_flow = 1 "Factor used to scale the mass flow rate of the fan (used for quickly adjusting fan size)"; parameter Real scaDp = 1 "Factor used to scale the pressure increase of the fan (used for quickly adjusting fan size)"; Real pNor(min=0) "Normalized pressure"; Real mNor_flow(start=mNorMax_flow) "Normalized mass flow rate"; Real etaSha(min=0, max=1) "Efficiency, flow work divided by shaft power"; Modelica.SIunits.Power PSha "Power input at shaft"; Medium.Density rho "Medium density"; protected parameter Real pNorMin1(fixed=false) "Normalized pressure, used to test slope of polynomial outside [xMin, xMax]"; parameter Real pNorMin2(fixed=false) "Normalized pressure, used to test slope of polynomial outside [xMin, xMax]"; parameter Real pNorMax1(fixed=false) "Normalized pressure, used to test slope of polynomial outside [xMin, xMax]"; parameter Real pNorMax2(fixed=false) "Normalized pressure, used to test slope of polynomial outside [xMin, xMax]"; initial equation Modelica.Utilities.Streams.print("The model Buildings.Fluid.Movers.FlowMachinePolynomial is deprecated. It will be removed in future releases. You should use Buildings.Fluid.Movers.FlowMachine_y instead of Buildings.Fluid.Movers.FlowMachinePolynomial."); // check slope of polynomial outside the domain [mNorMin_flow, mNorMax_flow] pNorMin1 = Buildings.Fluid.Utilities.extendedPolynomial( c=a, x=mNorMin_flow/2, xMin=mNorMin_flow, xMax=mNorMax_flow); pNorMin2 = Buildings.Fluid.Utilities.extendedPolynomial( c=a, x=mNorMin_flow, xMin=mNorMin_flow, xMax=mNorMax_flow); pNorMax1 = Buildings.Fluid.Utilities.extendedPolynomial( c=a, x=mNorMax_flow, xMin=mNorMin_flow, xMax=mNorMax_flow); pNorMax2 = Buildings.Fluid.Utilities.extendedPolynomial( c=a, x=mNorMax_flow*2, xMin=mNorMin_flow, xMax=mNorMax_flow); assert(pNorMin1>pNorMin2, "Slope of pump pressure polynomial is non-negative for mNor_flow < mNorMin_flow. Check parameter a."); assert(pNorMax1>pNorMax2, "Slope of pump pressure polynomial is non-negative for mNorMax_flow < mNor_flow. Check parameter a."); equation // For computing the density, we assume that the fan operates in the design flow direction. rho = Medium.density( Medium.setState_phX(port_a.p, inStream(port_a.h_outflow), inStream(port_a.Xi_outflow))); -dp = scaDp * pNor * rho * D*D * N_in * N_in; m_flow = scaM_flow * mNor_flow * rho * D*D*D * N_in; pNor = Buildings.Fluid.Utilities.extendedPolynomial( c=a, x=mNor_flow, xMin=mNorMin_flow, xMax=mNorMax_flow); etaSha = max(0.1, Buildings.Fluid.Utilities.polynomial( c=b, x=mNor_flow)); etaSha * PSha = -dp * m_flow / rho; // dp<0 and m_flow>0 for normal operation // Energy balance (no storage, no heat loss/gain) PSha = -m_flow*(port_a.h_outflow-inStream(port_b.h_outflow)); PSha = m_flow*(port_b.h_outflow-inStream(port_a.h_outflow)); // Mass balance (no storage) port_a.m_flow + port_b.m_flow = 0; // Transport of substances port_a.Xi_outflow = inStream(port_b.Xi_outflow); port_b.Xi_outflow = inStream(port_a.Xi_outflow); port_a.C_outflow = inStream(port_b.C_outflow); port_b.C_outflow = inStream(port_a.C_outflow); end FlowMachinePolynomial;

Automatically generated Thu Jun 19 11:07:16 2014.