modelPartialDamperExponential

Partial model for air dampers with exponential opening characteristics

Extends from IBPSA.Fluid.BaseClasses.PartialResistance (Partial model for a hydraulic resistance), IBPSA.Fluid.Actuators.BaseClasses.ActuatorSignal (Partial model that implements the filtered opening for valves and dampers).

Information

Partial model for air dampers with exponential opening characteristics. This is the base model for air dampers and variable air volume flow boxes. The model implements the functions that relate the opening signal, the pressure drop and the mass flow rate. The model also defines parameters that are used by different air damper models.

For a description of the opening characteristics and typical parameter values, see the damper model IBPSA.Fluid.Actuators.Dampers.Exponential.

Parameters

TypeNameDefaultDescription
Modelica.SIunits.MassFlowRatem_flow_turbulent (from PartialResistance)Turbulent flow if |m_flow| >= m_flow_turbulent
Booleanuse_deltaMtrueSet to true to use deltaM for turbulent transition, else ReC is used
RealdeltaM0.3Fraction of nominal mass flow rate where transition to turbulent occurs
Modelica.SIunits.Velocityv_nominal1Nominal face velocity
Modelica.SIunits.AreaAm_flow_nominal/rho_default/v_nominalFace area
BooleanroundDuctfalseSet to true for round duct, false for square cross section
RealReC4000Reynolds number where transition to turbulent starts
RealkFixedFlow coefficient of fixed resistance that may be in series with damper, k=m_flow/sqrt(dp), with unit=(kg.m)^(1/2).
Assumptions
BooleanallowFlowReversal (from PartialTwoPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal
Nominal condition
Modelica.SIunits.MassFlowRatem_flow_nominal (from PartialTwoPortInterface)Nominal mass flow rate
Modelica.SIunits.PressureDifferencedp_nominal (from PartialResistance)Pressure drop at nominal mass flow rate
Advanced
Modelica.SIunits.MassFlowRatem_flow_small (from PartialTwoPortInterface)1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow
Booleanfrom_dp (from PartialResistance)false= true, use m_flow = f(dp) else dp = f(m_flow)
BooleanhomotopyInitialization (from PartialResistance)true= true, use homotopy method
Booleanlinearized (from PartialResistance)false= true, use linear relation between m_flow and dp for any flow rate
Booleanuse_constant_densitytrueSet to true to use constant density for flow friction
Advanced › Diagnostics
Booleanshow_T (from PartialTwoPortInterface)false= true, if actual temperature at port is computed
Dynamics › Filtered opening
Booleanuse_inputFilter (from ActuatorSignal)true= true, if opening is filtered with a 2nd order CriticalDamping filter
Modelica.SIunits.TimeriseTime (from ActuatorSignal)120Rise time of the filter (time to reach 99.6 % of an opening step)
Integerorder (from ActuatorSignal)2Order of filter
Modelica.Blocks.Types.Initinit (from ActuatorSignal)Modelica.Blocks.Types.Init.InitialOutputType of initialization (no init/steady state/initial state/initial output)
Realy_start (from ActuatorSignal)1Initial value of output
Damper coefficients
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

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)
Modelica.Blocks.Interfaces.RealInputy (from ActuatorSignal)Actuator position (0: closed, 1: open)
Modelica.Blocks.Interfaces.RealOutputy_actual (from ActuatorSignal)Actual valve position

Components

TypeNameDefaultDescription
Modelica.SIunits.MassFlowRatem_flow (from PartialTwoPortInterface)port_a.m_flowMass flow rate from port_a to port_b (m_flow > 0 is design flow direction)
Modelica.SIunits.PressureDifferencedp (from PartialTwoPortInterface)port_a.p - port_b.pPressure difference between port_a and port_b
Medium.ThermodynamicStatesta_a (from PartialTwoPortInterface)Medium.setState_phX(port_a.p, noEvent(actualStream(port_a.h_outflow)), noEvent(actualStream(port_a.Xi_outflow)))Medium properties in port_a
Medium.ThermodynamicStatesta_b (from PartialTwoPortInterface)Medium.setState_phX(port_b.p, noEvent(actualStream(port_b.h_outflow)), noEvent(actualStream(port_b.Xi_outflow)))Medium properties in port_b
Medium.DensityrhoMedium density
RealkDamFlow coefficient of damper, k=m_flow/sqrt(dp), with unit=(kg.m)^(1/2)
RealkFlow coefficient of damper plus fixed resistance, k=m_flow/sqrt(dp), with unit=(kg.m)^(1/2)

Revisions

  • March 22, 2017, by Michael Wetter:
    Added back v_nominal, but set the assignment of A to be final. This allows scaling the model with m_flow_nominal, which is generally known in the flow leg, and v_nominal, for which a default value can be specified.
    This is for #544.
  • October 12, 2016 by David Blum:
    Removed parameter v_nominal and variable area, to simplify parameterization of the model. Also added assertion statements upon initialization for parameters k0 and k1 so that they fall within suggested ranges found in ASHRAE 825-RP. This is for #544.
  • January 27, 2015 by Michael Wetter:
    Set Evaluate=true for use_constant_density. This is a structural parameter. Adding this annotation leads to fewer numerical Jacobians for Buildings.Examples.VAVReheat.ClosedLoop with Buildings.Media.PerfectGases.MoistAirUnsaturated.
  • December 14, 2012 by Michael Wetter:
    Renamed protected parameters for consistency with the naming conventions.
  • January 16, 2012 by Michael Wetter:
    To simplify object inheritance tree, revised base classes IBPSA.Fluid.BaseClasses.PartialResistance, IBPSA.Fluid.Actuators.BaseClasses.PartialTwoWayValve, IBPSA.Fluid.Actuators.BaseClasses.PartialDamperExponential, IBPSA.Fluid.Actuators.BaseClasses.PartialActuator and model IBPSA.Fluid.FixedResistances.PressureDrop.
  • August 5, 2011, by Michael Wetter:
    Moved linearized pressure drop equation from the function body to the equation section. With the previous implementation, the symbolic processor may not rearrange the equations, which can lead to coupled equations instead of an explicit solution.
  • June 22, 2008 by Michael Wetter:
    Extended range of control signal from 0 to 1 by implementing the function exponentialDamper.
  • June 10, 2008 by Michael Wetter:
    First implementation.