Buildings.Fluids.Actuators.Dampers

Package with air damper models

Information


This package contains components models for air dampers.
For motor models, see
Buildings.Fluids.Actuators.Motors.

Package Content

NameDescription
Buildings.Fluids.Actuators.Dampers.Exponential Exponential Air damper with exponential opening characteristics
Buildings.Fluids.Actuators.Dampers.OAMixingBoxMinimumDamper OAMixingBoxMinimumDamper Outside air mixing box with parallel damper for minimum outside air flow rate
Buildings.Fluids.Actuators.Dampers.VAVBoxExponential VAVBoxExponential VAV box with a fixed resistance plus a damper model withe exponential characteristics


Buildings.Fluids.Actuators.Dampers.Exponential Buildings.Fluids.Actuators.Dampers.Exponential

Air damper with exponential opening characteristics

Buildings.Fluids.Actuators.Dampers.Exponential

Information


This model is an air damper with flow coefficient that is an exponential function 
of the opening angle. The model is as in ASHRAE 825-RP.
A control signal of y=0 means the damper is closed, and y=1 means the damper 
is open. This is opposite of the implementation of ASHRAE 825-RP, but used here
for consistency within this library.

For yL < y < yU, the damper characteristics is

  k = exp(a+b*(1-y)).
Outside this range, the damper characteristic is defined by a quadratic polynomial that matches the damper resistance at y=0 and y=yL or y=yU and y=1, respectively. In addition, the polynomials are such that k(y) is differentiable in y and the derivative is continuous.

ASHRAE 825-RP lists the following parameter values as typical:
opposed bladessingle blades
yL15/9015/90
yU55/9065/90
k01E61E6
k10.2 to 0.50.2 to 0.5
a-1.51-1.51
b0.105*900.0842*90

References

P. Haves, L. K. Norford, M. DeSimone and L. Mei, A Standard Simulation Testbed for the Evaluation of Control Algorithms & Strategies, ASHRAE, Final Report 825-RP, Atlanta, GA.

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMediumMedium in the component
MassFlowRatem_small_floweta0*ReC*sqrt(A)*facRouDucMass flow rate where transition to laminar occurs [kg/s]
AreaA Face area [m2]
BooleanroundDuctfalseSet to true for round duct, false for square cross section
RealReC4000Reynolds number where transition to laminar starts
Reala-1.51Coefficient a for damper characteristics
Realb0.105*90Coefficient b for damper characteristics
RealyL15/90Lower value for damper curve
RealyU55/90Upper value for damper curve
Realk01E6Flow coefficient for y=0, k0 = pressure drop divided by dynamic pressure
Realk10.45Flow coefficient for y=1, k1 = pressure drop divided by dynamic pressure
Initialization
MassFlowRatem_flow Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) [kg/s]
Pressuredp Pressure difference between port_a and port_b [Pa]
RealkDam Flow coefficient for damper, k=m_flow/sqrt(dp) [(kg*m)^(1/2)]
Advanced
TempflowDirectionModelica_Fluid.Types.FlowDir...Unidirectional (port_a -> port_b) or bidirectional flow component
Booleanfrom_dptrue= true, use m_flow = f(dp) else dp = f(m_flow)
Booleanlinearizedfalse= true, use linear relation between m_flow and dp for any flow rate

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 RealInputyDamper position (0: closed, 1: open)

Modelica definition

model Exponential 
  "Air damper with exponential opening characteristics" 
  extends Buildings.Fluids.Actuators.BaseClasses.PartialDamperExponential;
equation 
  k = kDam "flow coefficient for resistance base model";
end Exponential;

Buildings.Fluids.Actuators.Dampers.OAMixingBoxMinimumDamper Buildings.Fluids.Actuators.Dampers.OAMixingBoxMinimumDamper

Outside air mixing box with parallel damper for minimum outside air flow rate

Buildings.Fluids.Actuators.Dampers.OAMixingBoxMinimumDamper

Information


Model of an outside air mixing box with air dampers and a flow path for the minimum outside air flow rate.


Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMediumMedium in the component
AreaAOutMin Face area minimum outside air damper [m2]
AreaAOut Face area outside air damper [m2]
AreaAExh Face area exhaust air damper [m2]
AreaARec Face area recirculation air damper [m2]
Nominal condition
MassFlowRatem0OutMin_flow Mass flow rate minimum outside air damper [kg/s]
Pressuredp0OutMin Pressure drop minimum outside air leg (without damper) [Pa]
MassFlowRatem0Out_flow Mass flow rate outside air damper [kg/s]
Pressuredp0Out Pressure drop outside air leg (without damper) [Pa]
MassFlowRatem0Rec_flow Mass flow rate recirculation air damper [kg/s]
Pressuredp0Rec Pressure drop recirculation air leg (without damper) [Pa]
MassFlowRatem0Exh_flow Mass flow rate exhaust air damper [kg/s]
Pressuredp0Exh Pressure drop exhaust air leg (without damper) [Pa]
Advanced
TempflowDirectionModelica_Fluid.Types.FlowDir...Unidirectional (port_a -> port_b) or bidirectional flow component

Connectors

TypeNameDescription
FluidPort_aport_OutFluid connector a (positive design flow direction is from port_a to port_b)
FluidPort_aport_OutMinFluid connector a (positive design flow direction is from port_a to port_b)
FluidPort_bport_ExhFluid connector b (positive design flow direction is from port_a to port_b)
FluidPort_aport_RetFluid connector a (positive design flow direction is from port_a to port_b)
FluidPort_bport_SupFluid connector b (positive design flow direction is from port_a to port_b)
input RealInputyDamper position (0: closed, 1: open)
input RealInputyOutMinDamper position minimum outside air (0: closed, 1: open)

Modelica definition

model OAMixingBoxMinimumDamper 
  "Outside air mixing box with parallel damper for minimum outside air flow rate" 
  extends Buildings.BaseClasses.BaseIcon;
  extends Buildings.Fluids.Interfaces.PartialSingleFluidParameters;
  import Modelica.Constants;
  
  Buildings.Fluids.Actuators.Dampers.Exponential damOAMin(
                                                         A=AOutMin,
    redeclare package Medium = Medium) "Damper for minimum outside air supply";
  Buildings.Fluids.Actuators.Dampers.Exponential damOA(
                                                      A=AOut,
    redeclare package Medium = Medium);
  parameter Modelica.SIunits.Area AOutMin 
    "Face area minimum outside air damper";
  parameter Modelica.SIunits.Area AOut "Face area outside air damper";
  Buildings.Fluids.Actuators.Dampers.Exponential damExh(
                                                       A=AExh,
    redeclare package Medium = Medium) "Exhaust air damper";
  parameter Modelica.SIunits.Area AExh "Face area exhaust air damper";
  Buildings.Fluids.Actuators.Dampers.Exponential damRec(
                                                       A=ARec,
    redeclare package Medium = Medium) "Recirculation air damper";
  parameter Modelica.SIunits.Area ARec "Face area recirculation air damper";
  
  parameter Modelica.SIunits.MassFlowRate m0OutMin_flow 
    "Mass flow rate minimum outside air damper";
  parameter Modelica.SIunits.Pressure dp0OutMin 
    "Pressure drop minimum outside air leg (without damper)";
  
  parameter Modelica.SIunits.MassFlowRate m0Out_flow 
    "Mass flow rate outside air damper";
  parameter Modelica.SIunits.Pressure dp0Out 
    "Pressure drop outside air leg (without damper)";
  
  parameter Modelica.SIunits.MassFlowRate m0Rec_flow 
    "Mass flow rate recirculation air damper";
  parameter Modelica.SIunits.Pressure dp0Rec 
    "Pressure drop recirculation air leg (without damper)";
  
  parameter Modelica.SIunits.MassFlowRate m0Exh_flow 
    "Mass flow rate exhaust air damper";
  parameter Modelica.SIunits.Pressure dp0Exh 
    "Pressure drop exhaust air leg (without damper)";
  
  Buildings.Fluids.FixedResistances.FixedResistanceDpM preDroOutMin(
                                                              m0_flow=
        m0OutMin_flow, dp0=dp0OutMin, redeclare package Medium = Medium) 
    "Pressure drop for minimum outside air branch";
  Buildings.Fluids.FixedResistances.FixedResistanceDpM preDroOut(
                                                           m0_flow=
        m0Out_flow, dp0=dp0Out, redeclare package Medium = Medium) 
    "Pressure drop for outside air branch";
  Buildings.Fluids.FixedResistances.FixedResistanceDpM preDroExh(
                                                           m0_flow=
        m0Exh_flow, dp0=dp0Exh, redeclare package Medium = Medium) 
    "Pressure drop for exhaust air branch";
  Buildings.Fluids.FixedResistances.FixedResistanceDpM preDroRec(
                                                           m0_flow=
        m0Rec_flow, dp0=dp0Rec, redeclare package Medium = Medium) 
    "Pressure drop for recirculation air branch";
  Modelica_Fluid.Interfaces.FluidPort_a port_Out(redeclare package Medium = 
        Medium, m_flow(start=0, min=if allowFlowReversal then -Constants.inf else 
                0)) 
    "Fluid connector a (positive design flow direction is from port_a to port_b)";
  Modelica_Fluid.Interfaces.FluidPort_a port_OutMin(redeclare package Medium = 
        Medium, m_flow(start=0, min=if allowFlowReversal then -Constants.inf else 
                0)) 
    "Fluid connector a (positive design flow direction is from port_a to port_b)";
  Modelica_Fluid.Interfaces.FluidPort_b port_Exh(redeclare package Medium = 
        Medium, m_flow(start=0, max=if allowFlowReversal then +Constants.inf else 
                0)) 
    "Fluid connector b (positive design flow direction is from port_a to port_b)";
  Modelica_Fluid.Interfaces.FluidPort_a port_Ret(redeclare package Medium = 
        Medium, m_flow(start=0, min=if allowFlowReversal then -Constants.inf else 
                0)) 
    "Fluid connector a (positive design flow direction is from port_a to port_b)";
  Modelica_Fluid.Interfaces.FluidPort_b port_Sup(redeclare package Medium = 
        Medium, m_flow(start=0, max=if allowFlowReversal then +Constants.inf else 
                0)) 
    "Fluid connector b (positive design flow direction is from port_a to port_b)";
  Modelica.Blocks.Interfaces.RealInput y "Damper position (0: closed, 1: open)";
  Modelica.Blocks.Interfaces.RealInput yOutMin 
    "Damper position minimum outside air (0: closed, 1: open)";
  Modelica.Blocks.Sources.Constant uni(k=1) "Unity signal";
  
  Modelica.Blocks.Math.Add add(k2=-1);
protected 
  Modelica_Fluid.Interfaces.FluidPort_b port_Ret1(redeclare package Medium = 
        Medium);
protected 
  Modelica_Fluid.Interfaces.FluidPort_b port_b1(redeclare package Medium = 
        Medium);
equation 
  connect(preDroOutMin.port_b, damOAMin.port_a);
  connect(preDroOut.port_b, damOA.port_a);
  connect(yOutMin, damOAMin.y);
  connect(y, damOA.y);
  connect(y, damExh.y);
  connect(damExh.port_b, preDroExh.port_a);
  connect(preDroExh.port_b, port_Exh);
  connect(preDroOut.port_a, port_Out);
  connect(port_OutMin, preDroOutMin.port_a);
  connect(uni.y, add.u1);
  connect(y, add.u2);
  connect(add.y, damRec.y);
  connect(port_Ret, port_Ret1);
  connect(preDroRec.port_a, port_Ret1);
  connect(damExh.port_a, port_Ret1);
  connect(damOAMin.port_b, port_b1);
  connect(port_Sup, port_b1);
  connect(damRec.port_b, port_b1);
  connect(damOA.port_b, port_b1);
  connect(preDroRec.port_b, damRec.port_a);
end OAMixingBoxMinimumDamper;

Buildings.Fluids.Actuators.Dampers.VAVBoxExponential Buildings.Fluids.Actuators.Dampers.VAVBoxExponential

VAV box with a fixed resistance plus a damper model withe exponential characteristics

Buildings.Fluids.Actuators.Dampers.VAVBoxExponential

Information


VAV box plus an air damper with a flow coefficient that is an exponential function of the opening angle.

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMediumMedium in the component
MassFlowRatem_small_floweta0*ReC*sqrt(A)*facRouDucMass flow rate where transition to laminar occurs [kg/s]
AreaA Face area [m2]
BooleanroundDuctfalseSet to true for round duct, false for square cross section
RealReC4000Reynolds number where transition to laminar starts
Reala-1.51Coefficient a for damper characteristics
Realb0.105*90Coefficient b for damper characteristics
RealyL15/90Lower value for damper curve
RealyU55/90Upper value for damper curve
Realk01E6Flow coefficient for y=0, k0 = pressure drop divided by dynamic pressure
Realk10.45Flow coefficient for y=1, k1 = pressure drop divided by dynamic pressure
Initialization
MassFlowRatem_flow Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) [kg/s]
Pressuredp Pressure difference between port_a and port_b [Pa]
RealkDam Flow coefficient for damper, k=m_flow/sqrt(dp) [(kg*m)^(1/2)]
Nominal Condition
MassFlowRatem0_flow Mass flow rate [kg/s]
Pressuredp0 Pressure drop, including fully open damper [Pa]
Advanced
TempflowDirectionModelica_Fluid.Types.FlowDir...Unidirectional (port_a -> port_b) or bidirectional flow component
Booleanfrom_dptrue= true, use m_flow = f(dp) else dp = f(m_flow)
Booleanlinearizedfalse= true, use linear relation between m_flow and dp for any flow rate

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 RealInputyDamper position (0: closed, 1: open)

Modelica definition

model VAVBoxExponential 
  "VAV box with a fixed resistance plus a damper model withe exponential characteristics" 
  extends Buildings.Fluids.Actuators.BaseClasses.PartialDamperExponential;
  import SI = Modelica.SIunits;
  
  parameter SI.MassFlowRate m0_flow "Mass flow rate";
  parameter SI.Pressure dp0(min=0) "Pressure drop, including fully open damper";
protected 
  parameter SI.Pressure dpDamOpe0 = k1*m0_flow^2/2/Medium.density(sta0)/A^2 
    "Pressure drop of fully open damper at nominal flow rate";
  parameter Real kRes(unit="(kg*m)^(1/2)") = m0_flow / sqrt(dp0-dpDamOpe0) 
    "Resistance coefficient for fixed resistance element";
equation 
   kInv = 1/kRes/kRes + 1/kDam/kDam 
    "flow coefficient for resistance base model";
end VAVBoxExponential;

HTML-documentation generated by Dymola Tue Sep 30 14:24:22 2008.