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.

Extends from Buildings.Fluids.Actuators.BaseClasses.PartialDamperExponential (Partial model for air dampers with exponential opening characteristics).

Parameters

TypeNameDefaultDescription
replaceable package MediumModelica.Media.Interfaces.Pa...Medium in the component
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
Nominal condition
MassFlowRatem0_flow Nominal mass flow rate [kg/s]
Initialization
RealkDam.start1Flow coefficient for damper, k=m_flow/sqrt(dp), with unit=(kg*m)^(1/2)
Assumptions
BooleanallowFlowReversalsystem.allowFlowReversal= true to allow flow reversal, false restricts to design direction (port_a -> port_b)
Advanced
AbsolutePressuredp_start0.01*system.p_startGuess value of dp = port_a.p - port_b.p [Pa]
MassFlowRatem_flow_startsystem.m_flow_startGuess value of m_flow = port_a.m_flow [kg/s]
MassFlowRatem_flow_small1E-4*m0_flowSmall mass flow rate for regularization of zero flow [kg/s]
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
Diagnostics
Booleanshow_Ttrue= true, if temperatures at port_a and port_b are computed
Booleanshow_V_flowtrue= true, if volume flow rate at inflowing 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 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.


Extends from Buildings.BaseClasses.BaseIcon (Base icon).

Parameters

TypeNameDefaultDescription
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]
Assumptions
BooleanallowFlowReversalsystem.allowFlowReversal= true to allow flow reversal, false restricts to design direction (port_a -> port_b)

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;
  outer Modelica_Fluid.System system "System wide properties";
  replaceable package Medium = 
      Modelica.Media.Interfaces.PartialMedium "Medium in the component";
   import Modelica.Constants;

  parameter Boolean allowFlowReversal = system.allowFlowReversal 
    "= true to allow flow reversal, false restricts to design direction (port_a -> port_b)";

  Buildings.Fluids.Actuators.Dampers.Exponential damOAMin(
                                                         A=AOutMin,
    redeclare package Medium = Medium,
    m0_flow=m0OutMin_flow) "Damper for minimum outside air supply";
  Buildings.Fluids.Actuators.Dampers.Exponential damOA(
                                                      A=AOut,
    redeclare package Medium = Medium,
    m0_flow=m0Out_flow);
  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,
    m0_flow=m0Exh_flow) "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,
    m0_flow=m0Rec_flow) "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.

Extends from Buildings.Fluids.Actuators.BaseClasses.PartialDamperExponential (Partial model for air dampers with exponential opening characteristics).

Parameters

TypeNameDefaultDescription
replaceable package MediumModelica.Media.Interfaces.Pa...Medium in the component
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
Nominal condition
MassFlowRatem0_flow Nominal mass flow rate [kg/s]
Initialization
RealkDam.start1Flow coefficient for damper, k=m_flow/sqrt(dp), with unit=(kg*m)^(1/2)
Nominal Condition
Pressuredp0 Pressure drop, including fully open damper [Pa]
Assumptions
BooleanallowFlowReversalsystem.allowFlowReversal= true to allow flow reversal, false restricts to design direction (port_a -> port_b)
Advanced
AbsolutePressuredp_start0.01*system.p_startGuess value of dp = port_a.p - port_b.p [Pa]
MassFlowRatem_flow_startsystem.m_flow_startGuess value of m_flow = port_a.m_flow [kg/s]
MassFlowRatem_flow_small1E-4*m0_flowSmall mass flow rate for regularization of zero flow [kg/s]
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
Diagnostics
Booleanshow_Ttrue= true, if temperatures at port_a and port_b are computed
Booleanshow_V_flowtrue= true, if volume flow rate at inflowing 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 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 = m0_flow / sqrt(dp0-dpDamOpe0) 
    "Resistance coefficient for fixed resistance element with unit=(kg.m)^(1/2)";
equation 
   kInv = 1/kRes/kRes + 1/kDam/kDam 
    "flow coefficient for resistance base model";
end VAVBoxExponential;

HTML-documentation generated by Dymola Thu Feb 19 16:50:53 2009.