modelVAVBoxExponential
VAV box with a fixed resistance plus a damper model withe exponential characteristics
Extends from IBPSA.Fluid.Actuators.BaseClasses.PartialDamperExponential (Partial model for air dampers with exponential opening characteristics).
Information
Model of two resistances in series. One resistance has a fixed flow coefficient, the other resistance is an air damper whose flow coefficient is an exponential function of the opening angle.
If dp_nominalIncludesDamper=true, then the parameter dp_nominal
is equal to the pressure drop of the damper plus the fixed flow resistance at the nominal
flow rate.
If dp_nominalIncludesDamper=false, then dp_nominal
does not include the flow resistance of the air damper.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.SIunits.MassFlowRate | m_flow_turbulent (from PartialResistance) | Turbulent flow if |m_flow| >= m_flow_turbulent | |
| Boolean | use_deltaM (from PartialDamperExponential) | true | Set to true to use deltaM for turbulent transition, else ReC is used |
| Real | deltaM (from PartialDamperExponential) | 0.3 | Fraction of nominal mass flow rate where transition to turbulent occurs |
| Modelica.SIunits.Velocity | v_nominal (from PartialDamperExponential) | 1 | Nominal face velocity |
| Modelica.SIunits.Area | A (from PartialDamperExponential) | m_flow_nominal/rho_default/v_nominal | Face area |
| Boolean | roundDuct (from PartialDamperExponential) | false | Set to true for round duct, false for square cross section |
| Real | ReC (from PartialDamperExponential) | 4000 | Reynolds number where transition to turbulent starts |
| Real | kFixed (from PartialDamperExponential) | 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 | |
| Boolean | dp_nominalIncludesDamper | true | set to true if dp_nominal includes the pressure loss of the open damper |
| 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 (from PartialDamperExponential) | 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 (from PartialDamperExponential) | -1.51 | Coefficient a for damper characteristics |
| Real | b (from PartialDamperExponential) | 0.105*90 | Coefficient b for damper characteristics |
| Real | yL (from PartialDamperExponential) | 15/90 | Lower value for damper curve |
| Real | yU (from PartialDamperExponential) | 55/90 | Upper value for damper curve |
| Real | k0 (from PartialDamperExponential) | 1E6 | Flow coefficient for y=0, k0 = pressure drop divided by dynamic pressure |
| Real | k1 (from PartialDamperExponential) | 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 (from PartialDamperExponential) | Medium density | |
| Real | kDam (from PartialDamperExponential) | Flow coefficient of damper, k=m_flow/sqrt(dp), with unit=(kg.m)^(1/2) | |
| Real | k (from PartialDamperExponential) | Flow coefficient of damper plus fixed resistance, k=m_flow/sqrt(dp), with unit=(kg.m)^(1/2) |
Revisions
-
January 22, 2016, by Michael Wetter:
Corrected type declaration of pressure difference. This is for #404. -
December 14, 2012 by Michael Wetter:
Renamed protected parameters for consistency with the naming conventions. -
April 13, 2010 by Michael Wetter:
AddednoEventto guard evaluation of the square root for negative numbers during the solver iterations. -
June 10, 2008 by Michael Wetter:
Introduced new partial base class, PartialDamperExponential. -
September 11, 2007 by Michael Wetter:
RedefinedkRes, now the pressure drop of the fully open damper is subtracted from the fixed resistance. -
February 24, 2010 by Michael Wetter:
Added parameterdp_nominalIncludesDamper. -
July 27, 2007 by Michael Wetter:
First implementation.