modelDamper

Multiple-configuration damper

Extends from Buildings.Fluid.Interfaces.PartialTwoPortInterface (Partial model with two ports and declaration of quantities that are used by many models).

Information

This is a container model that can be used to represent a variety of dampers. The supported damper types are described in the enumeration Buildings.Templates.Components.Types.Damper.

Control points

The following input and output points are available.

For modulating dampers:

  • The damper opening is modulated with a fractional opening signal y (real).
    y = 0 corresponds to fully closed. y = 1 corresponds to fully open.
  • The actual damper position y_actual (real) is returned.
    y_actual = 0 corresponds to fully closed. y_actual = 1 corresponds to fully open.

For pressure-independent dampers:

  • The airflow setpoint is modulated with a fractional airflow signal y (real).
    y = 0 corresponds to zero airflow. y = 1 corresponds to the maximum airflow.
  • The actual damper position y_actual (real) is returned.
    y_actual = 0 corresponds to fully closed. y_actual = 1 corresponds to fully open.

For two-position dampers:

  • The damper is commanded open with a Boolean signal y1.
    y1 = 0 corresponds to fully closed. y1 = 1 corresponds to fully open.
  • The open end switch status y1_actual and closed end switch status y0_actual (Booleans) are returned.
    y1_actual = false corresponds to fully closed. y1_actual = true corresponds to fully open. And the opposite for y0_actual.

Model parameters

The design operating point is specified with an instance of Buildings.Templates.Components.Data.Damper.

Parameters

TypeNameDefaultDescription
Buildings.Templates.Components.Data.DamperdatDesign and operating parameters
Modelica.Units.SI.PressureDifferencedp_nominaldat.dp_nominalDamper pressure drop
Modelica.Units.SI.PressureDifferencedpFixed_nominaldat.dpFixed_nominalPressure drop of duct and resistances other than the damper in series, at nominal mass flow rate
Assumptions
BooleanallowFlowReversal (from PartialTwoPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal
Nominal condition
Modelica.Units.SI.MassFlowRatem_flow_nominal (from PartialTwoPortInterface)Nominal mass flow rate
Advanced
Modelica.Units.SI.MassFlowRatem_flow_small (from PartialTwoPortInterface)1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow
Booleanfrom_dpfalse= 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
Advanced › Diagnostics
Booleanshow_T (from PartialTwoPortInterface)false= true, if actual temperature at port is computed
Configuration
Buildings.Templates.Components.Types.DampertypEquipment type
Dynamics › Time needed to open or close valve
Booleanuse_strokeTimetrueSet to true to continuously open and close valve
Modelica.Units.SI.TimestrokeTime120Time needed to open or close valve
Modelica.Blocks.Types.InitinitModelica.Blocks.Types.Init.InitialOutputType of initialization (no init/steady state/initial state/initial output)
Realy_start1Initial position of actuator
Graphics
Buildings.Templates.Components.Types.DamperBladestypBlaif typ == Buildings.Templates.Components.Types.Damper.TwoPosition then Buildings.Templates.Components.Types.DamperBlades.Opposed elseif typ == Buildings.Templates.Components.Types.Damper.PressureIndependent then Buildings.Templates.Components.Types.DamperBlades.VAV else Buildings.Templates.Components.Types.DamperBlades.ParallelType of blades
Integertext_rotation0Text rotation angle in icon layer
Booleantext_flipfalseTrue to flip text horizontally in icon layer

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a (from PartialTwoPort)Fluid connector a (positive design flow direction is from port_a to port_b)
Modelica.Fluid.Interfaces.FluidPort_bport_b (from PartialTwoPort)Fluid connector b (positive design flow direction is from port_a to port_b)
Buildings.Templates.Components.Interfaces.BusbusControl bus

Components

TypeNameDefaultDescription
Modelica.Units.SI.MassFlowRatem_flow (from PartialTwoPortInterface)port_a.m_flowMass flow rate from port_a to port_b (m_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedp (from PartialTwoPortInterface)port_a.p - port_b.pPressure difference between port_a and port_b
Medium.ThermodynamicStatesta_a (from PartialTwoPortInterface)if allowFlowReversal then Medium.setState_phX(port_a.p, noEvent(actualStream(port_a.h_outflow)), noEvent(actualStream(port_a.Xi_outflow))) else Medium.setState_phX(port_a.p, noEvent(inStream(port_a.h_outflow)), noEvent(inStream(port_a.Xi_outflow)))Medium properties in port_a
Medium.ThermodynamicStatesta_b (from PartialTwoPortInterface)if allowFlowReversal then Medium.setState_phX(port_b.p, noEvent(actualStream(port_b.h_outflow)), noEvent(actualStream(port_b.Xi_outflow))) else Medium.setState_phX(port_b.p, noEvent(port_b.h_outflow), noEvent(port_b.Xi_outflow))Medium properties in port_b
Buildings.Fluid.Actuators.Dampers.ExponentialexpDamper with exponential characteristic
Buildings.Fluid.Actuators.Dampers.PressureIndependentindPressure independent damper
Buildings.Fluid.FixedResistances.PressureDropnonNo damper
Buildings.Controls.OBC.CDL.Conversions.BooleanToRealy1Two-position signal
Modelica.Blocks.Routing.RealPassThroughyModulating signal
Buildings.Controls.OBC.CDL.Reals.LessThresholdy0_actualClosed end switch status
Buildings.Controls.OBC.CDL.Reals.GreaterThresholdy1_actualOpen end switch status
Modelica.Blocks.Routing.RealPassThroughy_actualPosition feedback

Revisions

  • May 7, 2025, by Antoine Gautier:
    Replaced direct fluid pass-through with fixed resistance.
    This is for #4227.
  • September 27, 2023, by Antoine Gautier:
    First implementation.