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
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.SIunits.MassFlowRate | m_flow_turbulent (from PartialResistance) | Turbulent flow if |m_flow| >= m_flow_turbulent | |
| Boolean | use_deltaM | true | Set to true to use deltaM for turbulent transition, else ReC is used |
| Real | deltaM | 0.3 | Fraction of nominal mass flow rate where transition to turbulent occurs |
| Modelica.SIunits.Velocity | v_nominal | 1 | Nominal face velocity |
| Modelica.SIunits.Area | A | m_flow_nominal/rho_default/v_nominal | Face area |
| Boolean | roundDuct | false | Set to true for round duct, false for square cross section |
| Real | ReC | 4000 | Reynolds number where transition to turbulent starts |
| Real | kFixed | Flow coefficient of fixed resistance that may be in series with damper, k=m_flow/sqrt(dp), with unit=(kg.m)^(1/2). | |
| Assumptions | |||
| Boolean | allowFlowReversal (from PartialTwoPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Nominal condition | |||
| Modelica.SIunits.MassFlowRate | m_flow_nominal (from PartialTwoPortInterface) | Nominal mass flow rate | |
| Modelica.SIunits.PressureDifference | dp_nominal (from PartialResistance) | Pressure drop at nominal mass flow rate | |
| Advanced | |||
| Modelica.SIunits.MassFlowRate | m_flow_small (from PartialTwoPortInterface) | 1E-4*abs(m_flow_nominal) | Small mass flow rate for regularization of zero flow |
| Boolean | from_dp (from PartialResistance) | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Boolean | homotopyInitialization (from PartialResistance) | true | = true, use homotopy method |
| Boolean | linearized (from PartialResistance) | false | = true, use linear relation between m_flow and dp for any flow rate |
| Boolean | use_constant_density | true | Set to true to use constant density for flow friction |
| Advanced › Diagnostics | |||
| Boolean | show_T (from PartialTwoPortInterface) | false | = true, if actual temperature at port is computed |
| Dynamics › Filtered opening | |||
| Boolean | use_inputFilter (from ActuatorSignal) | true | = true, if opening is filtered with a 2nd order CriticalDamping filter |
| Modelica.SIunits.Time | riseTime (from ActuatorSignal) | 120 | Rise time of the filter (time to reach 99.6 % of an opening step) |
| Integer | order (from ActuatorSignal) | 2 | Order of filter |
| Modelica.Blocks.Types.Init | init (from ActuatorSignal) | Modelica.Blocks.Types.Init.InitialOutput | Type of initialization (no init/steady state/initial state/initial output) |
| Real | y_start (from ActuatorSignal) | 1 | Initial value of output |
| Damper coefficients | |||
| 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 |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.Interfaces.FluidPort_a | port_a (from PartialTwoPort) | Fluid connector a (positive design flow direction is from port_a to port_b) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b (from PartialTwoPort) | Fluid connector b (positive design flow direction is from port_a to port_b) | |
| Modelica.Blocks.Interfaces.RealInput | y (from ActuatorSignal) | Actuator position (0: closed, 1: open) | |
| Modelica.Blocks.Interfaces.RealOutput | y_actual (from ActuatorSignal) | Actual valve position |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.SIunits.MassFlowRate | m_flow (from PartialTwoPortInterface) | port_a.m_flow | Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) |
| Modelica.SIunits.PressureDifference | dp (from PartialTwoPortInterface) | port_a.p - port_b.p | Pressure difference between port_a and port_b |
| Medium.ThermodynamicState | sta_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.ThermodynamicState | sta_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.Density | rho | Medium density | |
| Real | kDam | Flow coefficient of damper, k=m_flow/sqrt(dp), with unit=(kg.m)^(1/2) | |
| Real | k | Flow 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 backv_nominal, but set the assignment ofAto be final. This allows scaling the model withm_flow_nominal, which is generally known in the flow leg, andv_nominal, for which a default value can be specified.
This is for #544. -
October 12, 2016 by David Blum:
Removed parameterv_nominaland variablearea, to simplify parameterization of the model. Also added assertion statements upon initialization for parametersk0andk1so that they fall within suggested ranges found in ASHRAE 825-RP. This is for #544. -
January 27, 2015 by Michael Wetter:
SetEvaluate=trueforuse_constant_density. This is a structural parameter. Adding this annotation leads to fewer numerical Jacobians forBuildings.Examples.VAVReheat.ClosedLoopwithBuildings.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 classesIBPSA.Fluid.BaseClasses.PartialResistance,IBPSA.Fluid.Actuators.BaseClasses.PartialTwoWayValve,IBPSA.Fluid.Actuators.BaseClasses.PartialDamperExponential,IBPSA.Fluid.Actuators.BaseClasses.PartialActuatorand modelIBPSA.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.