| Name | Description |
|---|---|
| Air damper with exponential opening characteristics | |
| Outside air mixing box with parallel damper for minimum outside air flow rate | |
| VAV box with a fixed resistance plus a damper model withe exponential characteristics |
Buildings.Fluids.Actuators.Dampers.Exponential
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 blades | single blades | |
| yL | 15/90 | 15/90 |
| yU | 55/90 | 65/90 |
| k0 | 1E6 | 1E6 |
| k1 | 0.2 to 0.5 | 0.2 to 0.5 |
| a | -1.51 | -1.51 |
| b | 0.105*90 | 0.0842*90 |
| Type | Name | Default | Description |
|---|---|---|---|
| replaceable package Medium | PartialMedium | Medium in the component | |
| MassFlowRate | m_small_flow | eta0*ReC*sqrt(A)*facRouDuc | Mass flow rate where transition to laminar occurs [kg/s] |
| Area | A | Face area [m2] | |
| Boolean | roundDuct | false | Set to true for round duct, false for square cross section |
| Real | ReC | 4000 | Reynolds number where transition to laminar starts |
| Real | a | -1.51 | Coefficient a for damper characteristics |
| Real | b | 0.105*90 | Coefficient b for damper characteristics |
| Real | yL | 15/90 | Lower value for damper curve |
| Real | yU | 55/90 | Upper value for damper curve |
| Real | k0 | 1E6 | Flow coefficient for y=0, k0 = pressure drop divided by dynamic pressure |
| Real | k1 | 0.45 | Flow coefficient for y=1, k1 = pressure drop divided by dynamic pressure |
| Initialization | |||
| MassFlowRate | m_flow | Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) [kg/s] | |
| Pressure | dp | Pressure difference between port_a and port_b [Pa] | |
| Real | kDam | Flow coefficient for damper, k=m_flow/sqrt(dp) [(kg*m)^(1/2)] | |
| Advanced | |||
| Temp | flowDirection | Modelica_Fluid.Types.FlowDir... | Unidirectional (port_a -> port_b) or bidirectional flow component |
| Boolean | from_dp | true | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Boolean | linearized | false | = true, use linear relation between m_flow and dp for any flow rate |
| 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 RealInput | y | Damper position (0: closed, 1: open) |
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
Model of an outside air mixing box with air dampers and a flow path for the minimum outside air flow rate.
| Type | Name | Default | Description |
|---|---|---|---|
| replaceable package Medium | PartialMedium | Medium in the component | |
| Area | AOutMin | Face area minimum outside air damper [m2] | |
| Area | AOut | Face area outside air damper [m2] | |
| Area | AExh | Face area exhaust air damper [m2] | |
| Area | ARec | Face area recirculation air damper [m2] | |
| Nominal condition | |||
| MassFlowRate | m0OutMin_flow | Mass flow rate minimum outside air damper [kg/s] | |
| Pressure | dp0OutMin | Pressure drop minimum outside air leg (without damper) [Pa] | |
| MassFlowRate | m0Out_flow | Mass flow rate outside air damper [kg/s] | |
| Pressure | dp0Out | Pressure drop outside air leg (without damper) [Pa] | |
| MassFlowRate | m0Rec_flow | Mass flow rate recirculation air damper [kg/s] | |
| Pressure | dp0Rec | Pressure drop recirculation air leg (without damper) [Pa] | |
| MassFlowRate | m0Exh_flow | Mass flow rate exhaust air damper [kg/s] | |
| Pressure | dp0Exh | Pressure drop exhaust air leg (without damper) [Pa] | |
| Advanced | |||
| Temp | flowDirection | Modelica_Fluid.Types.FlowDir... | Unidirectional (port_a -> port_b) or bidirectional flow component |
| Type | Name | Description |
|---|---|---|
| FluidPort_a | port_Out | Fluid connector a (positive design flow direction is from port_a to port_b) |
| FluidPort_a | port_OutMin | Fluid connector a (positive design flow direction is from port_a to port_b) |
| FluidPort_b | port_Exh | Fluid connector b (positive design flow direction is from port_a to port_b) |
| FluidPort_a | port_Ret | Fluid connector a (positive design flow direction is from port_a to port_b) |
| FluidPort_b | port_Sup | Fluid connector b (positive design flow direction is from port_a to port_b) |
| input RealInput | y | Damper position (0: closed, 1: open) |
| input RealInput | yOutMin | Damper position minimum outside air (0: closed, 1: open) |
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
| Type | Name | Default | Description |
|---|---|---|---|
| replaceable package Medium | PartialMedium | Medium in the component | |
| MassFlowRate | m_small_flow | eta0*ReC*sqrt(A)*facRouDuc | Mass flow rate where transition to laminar occurs [kg/s] |
| Area | A | Face area [m2] | |
| Boolean | roundDuct | false | Set to true for round duct, false for square cross section |
| Real | ReC | 4000 | Reynolds number where transition to laminar starts |
| Real | a | -1.51 | Coefficient a for damper characteristics |
| Real | b | 0.105*90 | Coefficient b for damper characteristics |
| Real | yL | 15/90 | Lower value for damper curve |
| Real | yU | 55/90 | Upper value for damper curve |
| Real | k0 | 1E6 | Flow coefficient for y=0, k0 = pressure drop divided by dynamic pressure |
| Real | k1 | 0.45 | Flow coefficient for y=1, k1 = pressure drop divided by dynamic pressure |
| Initialization | |||
| MassFlowRate | m_flow | Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) [kg/s] | |
| Pressure | dp | Pressure difference between port_a and port_b [Pa] | |
| Real | kDam | Flow coefficient for damper, k=m_flow/sqrt(dp) [(kg*m)^(1/2)] | |
| Nominal Condition | |||
| MassFlowRate | m0_flow | Mass flow rate [kg/s] | |
| Pressure | dp0 | Pressure drop, including fully open damper [Pa] | |
| Advanced | |||
| Temp | flowDirection | Modelica_Fluid.Types.FlowDir... | Unidirectional (port_a -> port_b) or bidirectional flow component |
| Boolean | from_dp | true | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Boolean | linearized | false | = true, use linear relation between m_flow and dp for any flow rate |
| 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 RealInput | y | Damper position (0: closed, 1: open) |
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;