modelVav
Variable air volume with control signal in [0, 1] that corresponds to mass flow rates [fraMin, fraMax]*m_flow_nominal
Extends from IDEAS.Fluid.Actuators.Dampers.PressureIndependent (Model for an air damper whose mass flow is proportional to the input signal).
Information
This VAV model is an extension of
IDEAS.Fluid.Actuators.Dampers.PressureIndependent
and adds the parameters fraMin and fraMax.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | homotopyInitialization (from PartialResistance) | true | = true, use homotopy method |
| Modelica.Units.SI.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.Units.SI.Velocity | v_nominal (from PartialDamperExponential) | (2/rho_default/k1*dpDamper_nominal)^0.5 | Nominal face velocity |
| Modelica.Units.SI.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 turbulence starts |
| Real | kFixed (from PartialDamperExponential) | if dpFixed_nominal > Modelica.Constants.eps then m_flow_nominal/sqrt(dpFixed_nominal) else Modelica.Constants.inf | Flow coefficient of fixed resistance that may be in series with damper, k=m_flow/sqrt(dp), with unit=(kg.m)^(1/2). |
| Real | fraMax | 1 | m_flow_set = fraMax*m_flow_nominal at y = y_nominal |
| Real | fraMin | 0 | m_flow_set = fraMin*m_flow_nominal at y = 0 |
| Assumptions | |||
| Boolean | allowFlowReversal (from PartialTwoPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Nominal condition | |||
| Modelica.Units.SI.MassFlowRate | m_flow_nominal (from PartialTwoPortInterface) | Nominal mass flow rate | |
| Modelica.Units.SI.PressureDifference | dp_nominal (from PartialResistance) | Pressure drop at nominal mass flow rate | |
| Modelica.Units.SI.PressureDifference | dpDamper_nominal (from PartialDamperExponential) | Pressure drop of fully open damper at nominal mass flow rate | |
| Modelica.Units.SI.PressureDifference | dpFixed_nominal (from PartialDamperExponential) | 0 | Pressure drop of duct and resistances other than the damper in series, at nominal mass flow rate |
| Advanced | |||
| Modelica.Units.SI.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 | 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 |
| Real | l2 (from PressureIndependent) | 0.01 | Gain for mass flow increase if pressure is above nominal pressure |
| Real | deltax (from PressureIndependent) | 0.02 | Transition interval for flow rate |
| Advanced › Diagnostics | |||
| Boolean | show_T (from PartialTwoPortInterface) | false | = true, if actual temperature at port is computed |
| Dynamics › Actuator position | |||
| Boolean | use_strokeTime (from ActuatorSignal) | true | Set to true to continuously open and close valve using strokeTime |
| Modelica.Units.SI.Time | strokeTime (from ActuatorSignal) | 120 | Time needed to fully open or close actuator |
| 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 position of actuator |
| 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) | 2*rho_default*(A/kDamMin)^2 | Loss coefficient for y=0 (pressure drop divided by dynamic pressure) |
| Real | k1 (from PartialDamperExponential) | 0.45 | Loss coefficient for y=1 (pressure drop divided by dynamic pressure) |
| Real | l (from PartialDamperExponential) | 0.0001 | Damper leakage, ratio of flow coefficients k(y=0)/k(y=1) |
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 actuator position |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.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.Units.SI.PressureDifference | dp (from PartialTwoPortInterface) | port_a.p - port_b.p | Pressure difference between port_a and port_b |
| Medium.ThermodynamicState | sta_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.ThermodynamicState | sta_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 |
| 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) | |
| Real | phi (from PressureIndependent) | l + y_internal*(1 - l) | Ratio actual to nominal mass flow rate of damper, phi=kDam(y)/kDam(y=1) |
Revisions
-
April 12, 2021 by Filip Jorissen:
First implementation.