Buildings.Airflow.Multizone
Package with models for multizone airflow and contaminant transport
Information
This package provides models to compute the airflow and contaminant transport between different rooms and between a room and the exterior environment. See the User's Guide for more information.Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).
Package Content
Name | Description |
---|---|
UsersGuide | User's Guide |
DoorDiscretizedOpen | Door model using discretization along height coordinate |
DoorDiscretizedOperable | Door model using discretization along height coordinate |
EffectiveAirLeakageArea | Effective air leakage area |
MediumColumn | Vertical shaft with no friction and no storage of heat and mass |
MediumColumnDynamic | Vertical shaft with no friction and storage of heat and mass |
Orifice | Orifice |
ZonalFlow_ACS | Zonal flow with input air change per second |
ZonalFlow_m_flow | Zonal flow with input air change per second |
Types | Package with type definitions |
Examples | Collection of models that illustrate model use and test models |
Validation | Collection of validation models |
BaseClasses | Package with base classes for Buildings.Airflow.Multizone |
Buildings.Airflow.Multizone.DoorDiscretizedOpen
Door model using discretization along height coordinate
Information
This model describes the bi-directional air flow through an open door.
To compute the bi-directional flow, the door is discretize along the height coordinate. An orifice equation is used to compute the flow for each compartment.
In this model, the door is always open. Use the model Buildings.Airflow.Multizone.DoorDiscretizedOperable for a door that can either be open or closed.
Extends from Buildings.Airflow.Multizone.BaseClasses.DoorDiscretized (Door model using discretization along height coordinate).
Parameters
Type | Name | Default | Description |
---|---|---|---|
Boolean | forceErrorControlOnFlow | true | Flag to force error control on m_flow. Set to true if interested in flow rate |
replaceable package Medium | PartialMedium | ||
Velocity | vZer | 0.001 | Minimum velocity to prevent zero flow. Recommended: 0.001 [m/s] |
Integer | nCom | 10 | Number of compartments for the discretization |
PressureDifference | dp_turbulent | 0.01 | Pressure difference where laminar and turbulent flow relation coincide. Recommended: 0.01 [Pa] |
Geometry | |||
Length | wOpe | 0.9 | Width of opening [m] |
Length | hOpe | 2.1 | Height of opening [m] |
Length | hA | 2.7/2 | Height of reference pressure zone A [m] |
Length | hB | 2.7/2 | Height of reference pressure zone B [m] |
Orifice characteristics | |||
Real | CD | 0.65 | Discharge coefficient |
Advanced | |||
MassFlowRate | m1_flow_small | 1E-4*abs(m1_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
MassFlowRate | m2_flow_small | 1E-4*abs(m2_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Connectors
Type | Name | Description |
---|---|---|
FluidPort_a | port_a1 | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_b | port_b1 | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_a | port_a2 | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) |
FluidPort_b | port_b2 | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) |
Modelica definition
Buildings.Airflow.Multizone.DoorDiscretizedOperable
Door model using discretization along height coordinate
Information
This model describes the bi-directional air flow through an open door.
To compute the bi-directional flow, the door is discretize along the height coordinate, and uses an orifice equation to compute the flow for each compartment.
The door can be either open or closed, depending on the input signal y. Set y=0 if the door is closed, and y=1 if the door is open. Use the model Buildings.Airflow.Multizone.DoorDiscretizedOpen for a door that is always closed.
Extends from Buildings.Airflow.Multizone.BaseClasses.DoorDiscretized (Door model using discretization along height coordinate).
Parameters
Type | Name | Default | Description |
---|---|---|---|
Boolean | forceErrorControlOnFlow | true | Flag to force error control on m_flow. Set to true if interested in flow rate |
replaceable package Medium | PartialMedium | ||
Velocity | vZer | 0.001 | Minimum velocity to prevent zero flow. Recommended: 0.001 [m/s] |
Integer | nCom | 10 | Number of compartments for the discretization |
PressureDifference | dp_turbulent | 0.01 | Pressure difference where laminar and turbulent flow relation coincide. Recommended: 0.01 [Pa] |
Geometry | |||
Length | wOpe | 0.9 | Width of opening [m] |
Length | hOpe | 2.1 | Height of opening [m] |
Length | hA | 2.7/2 | Height of reference pressure zone A [m] |
Length | hB | 2.7/2 | Height of reference pressure zone B [m] |
Orifice characteristics | |||
Real | CD | 0.65 | Discharge coefficient |
Closed aperture rating conditions | |||
PressureDifference | dpCloRat | 4 | Pressure drop at rating condition [Pa] |
Real | CDCloRat | 1 | Discharge coefficient |
Closed aperture | |||
Area | LClo | Effective leakage area [m2] | |
Real | CDClo | 0.65 | Discharge coefficient |
Real | mClo | 0.65 | Flow exponent for crack |
Open aperture | |||
Real | CDOpe | 0.65 | Discharge coefficient |
Real | mOpe | 0.5 | Flow exponent for door |
Advanced | |||
MassFlowRate | m1_flow_small | 1E-4*abs(m1_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
MassFlowRate | m2_flow_small | 1E-4*abs(m2_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Connectors
Type | Name | Description |
---|---|---|
FluidPort_a | port_a1 | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_b | port_b1 | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_a | port_a2 | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) |
FluidPort_b | port_b2 | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) |
input RealInput | y | Opening signal, 0=closed, 1=open [1] |
Modelica definition
Buildings.Airflow.Multizone.EffectiveAirLeakageArea
Effective air leakage area
Information
This model describes the one-directional pressure driven air flow through a crack-like opening, using the equation
V̇ = k Δpm,
where V̇ is the volume flow rate, k is a flow coefficient and m is the flow exponent. The flow coefficient is
k = L CD,Rat ΔpRat(0.5-m) (2/ρ0)0.5,
where L is the effective leakage area, CD,Rat is the discharge coefficient at the reference condition, ΔpRat is the pressure drop at the rating condition, and ρ0 is the mass density at the medium default pressure, temperature and humidity.
The effective air leakage area L can be obtained, for example, from the ASHRAE fundamentals (ASHRAE, 1997, p. 25.18). In the ASHRAE fundamentals, the effective air leakage area is based on a reference pressure difference of ΔpRat = 4 Pa and a discharge coefficient of CD,Rat = 1. A similar model is also used in the CONTAM software (Dols and Walton, 2002). Dols and Walton (2002) recommend to use for the flow exponent m=0.6 to m=0.7 if the flow exponent is not reported with the test results.
Note: The parameter CD
does not affect this model, and it will
be removed in future releases.
References
- ASHRAE, 1997. ASHRAE Fundamentals, American Society of Heating, Refrigeration and Air-Conditioning Engineers, 1997.
- Dols and Walton, 2002. W. Stuart Dols and George N. Walton, CONTAMW 2.0 User Manual, Multizone Airflow and Contaminant Transport Analysis Software, Building and Fire Research Laboratory, National Institute of Standards and Technology, Tech. Report NISTIR 6921, November, 2002.
Extends from Buildings.Airflow.Multizone.Orifice (Orifice).
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium | PartialMedium | Medium in the component | |
Boolean | forceErrorControlOnFlow | true | Flag to force error control on m_flow. Set to true if interested in flow rate |
Real | m | 0.65 | Flow exponent, m=0.5 for turbulent, m=1 for laminar |
Boolean | useDefaultProperties | true | Set to false to use density and viscosity based on actual medium state, rather than using default values |
PressureDifference | dp_turbulent | 0.1 | Pressure difference where laminar and turbulent flow relation coincide. Recommended = 0.1 [Pa] |
Length | lWet | sqrt(A) | Wetted perimeter used for Reynolds number calculation [m] |
Area | L | Effective leakage area [m2] | |
Orifice characteristics | |||
Area | A | L*CDRat/CD*dpRat^(0.5 - m) | Area of orifice [m2] |
Real | CD | 0.65 | Discharge coefficient |
Rating conditions | |||
PressureDifference | dpRat | 4 | Pressure drop at rating condition [Pa] |
Real | CDRat | 1 | Discharge coefficient |
Assumptions | |||
Boolean | allowFlowReversal | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
Advanced | |||
MassFlowRate | m_flow_small | 1E-4*abs(m_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
Boolean | homotopyInitialization | true | = true, use homotopy method |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Connectors
Type | Name | Description |
---|---|---|
FluidPort_a | port_a | Fluid connector a (positive design flow direction is from port_a to port_b) |
FluidPort_b | port_b | Fluid connector b (positive design flow direction is from port_a to port_b) |
Modelica definition
Buildings.Airflow.Multizone.MediumColumn
Vertical shaft with no friction and no storage of heat and mass
Information
This model describes the pressure difference of a vertical medium column. It can be used to model the pressure difference caused by stack effect.
The model can be used with the following three configurations, which are
controlled by the setting of the parameter densitySelection
:
-
top
: Use this setting to use the density from the volume that is connected toport_a
. -
bottom
: Use this setting to use the density from the volume that is connected toport_b
. -
actual
: Use this setting to use the density based on the actual flow direction.
The settings top
and bottom
should be used when rooms or different floors of a building are
connected since multizone airflow models assume that each floor is completely mixed.
For these two seetings, this model will compute the pressure between the center of the room
and an opening that is at height h
relative to the center of the room.
The setting actual
may be used to model a chimney in which
a column of air will change its density based on the flow direction.
In this model, the parameter h
must always be positive, and the port port_a
must be
at the top of the column.
For a steady-state model, use Buildings.Airflow.Multizone.MediumColumnDynamic instead of this model.
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium | Modelica.Media.Interfaces.Pa... | Medium in the component | |
Length | h | 3 | Height of shaft [m] |
densitySelection | densitySelection | Select how to pick density | |
Assumptions | |||
Boolean | allowFlowReversal | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
Connectors
Type | Name | Description |
---|---|---|
replaceable package Medium | Medium in the component | |
FluidPort_a | port_a | Fluid connector a (positive design flow direction is from port_a to port_b) |
FluidPort_b | port_b | Fluid connector b (positive design flow direction is from port_a to port_b) |
Modelica definition
Buildings.Airflow.Multizone.MediumColumnDynamic
Vertical shaft with no friction and storage of heat and mass
Information
This model contains a completely mixed fluid volume and models that take into account the pressure difference of a medium column that is at the same temperature as the fluid volume. It can be used to model the pressure difference caused by a stack effect.
Set the parameter use_HeatTransfer=true
to expose
a heatPort
. This heatPort
can be used
to add or subtract heat from the volume. This allows, for example,
to use this model in conjunction with a model for heat transfer through
walls to model a solar chimney that stores heat.
For a steady-state model, use Buildings.Airflow.Multizone.MediumColumn instead of this model.
In this model, the parameter h
must always be positive, and the port port_a
must be
at the top of the column.
Extends from Buildings.Fluid.Interfaces.LumpedVolumeDeclarations (Declarations for lumped volumes).
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium | PartialMedium | Medium in the component | |
Length | h | 3 | Height of shaft [m] |
Volume | V | Volume in medium shaft [m3] | |
Nominal condition, used only for steady-state model | |||
MassFlowRate | m_flow_nominal | Nominal mass flow rate [kg/s] | |
Dynamics | |||
Equations | |||
Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state |
Dynamics | massDynamics | energyDynamics | Type of mass balance: dynamic (3 initialization options) or steady state |
Real | mSenFac | 1 | Factor for scaling the sensible thermal mass of the volume |
Initialization | |||
AbsolutePressure | p_start | Medium.p_default | Start value of pressure [Pa] |
Temperature | T_start | Medium.T_default | Start value of temperature [K] |
MassFraction | X_start[Medium.nX] | Medium.X_default | Start value of mass fractions m_i/m [kg/kg] |
ExtraProperty | C_start[Medium.nC] | fill(0, Medium.nC) | Start value of trace substances |
ExtraProperty | C_nominal[Medium.nC] | fill(1E-2, Medium.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
Assumptions | |||
Boolean | allowFlowReversal | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
Heat transfer | |||
Boolean | use_HeatTransfer | false | = true to use the HeatTransfer model |
replaceable model HeatTransfer | Modelica.Fluid.Vessels.BaseC... | Wall heat transfer |
Connectors
Type | Name | Description |
---|---|---|
replaceable package Medium | Medium in the component | |
FluidPort_a | port_a | Fluid connector a (positive design flow direction is from port_a to port_b) |
FluidPort_b | port_b | Fluid connector b (positive design flow direction is from port_a to port_b) |
HeatPort_a | heatPort | Heat port to exchange energy with the fluid volume |
Assumptions | ||
Heat transfer | ||
replaceable model HeatTransfer | Wall heat transfer |
Modelica definition
Buildings.Airflow.Multizone.Orifice
Orifice
Information
This model describes the mass flow rate and pressure difference relation of an orifice in the form
V̇ = k Δpm,
where V̇ is the volume flow rate, k is a flow coefficient and m is the flow exponent. The flow coefficient is
k = CD A (2/ρ0)0.5,
where CD is the discharge coefficient, A is the cross section area and ρ0 is the mass density at the medium default pressure, temperature and humidity.
For turbulent flow, set m=1/2 and for laminar flow, set m=1. Large openings are characterized by values close to 0.5, while values near 0.65 have been found for small crack-like openings (Dols and Walton, 2002).
References
- W. Stuart Dols and George N. Walton, CONTAMW 2.0 User Manual, Multizone Airflow and Contaminant Transport Analysis Software, Building and Fire Research Laboratory, National Institute of Standards and Technology, Tech. Report NISTIR 6921, November, 2002.
Extends from Buildings.Airflow.Multizone.BaseClasses.PowerLawResistance (Flow resistance that uses the power law).
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium | PartialMedium | Medium in the component | |
Boolean | forceErrorControlOnFlow | true | Flag to force error control on m_flow. Set to true if interested in flow rate |
Real | m | 0.5 | Flow exponent, m=0.5 for turbulent, m=1 for laminar |
Boolean | useDefaultProperties | true | Set to false to use density and viscosity based on actual medium state, rather than using default values |
PressureDifference | dp_turbulent | 0.1 | Pressure difference where laminar and turbulent flow relation coincide. Recommended = 0.1 [Pa] |
Length | lWet | sqrt(A) | Wetted perimeter used for Reynolds number calculation [m] |
Orifice characteristics | |||
Area | A | Area of orifice [m2] | |
Real | CD | 0.65 | Discharge coefficient |
Assumptions | |||
Boolean | allowFlowReversal | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
Advanced | |||
MassFlowRate | m_flow_small | 1E-4*abs(m_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
Boolean | homotopyInitialization | true | = true, use homotopy method |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Connectors
Type | Name | Description |
---|---|---|
FluidPort_a | port_a | Fluid connector a (positive design flow direction is from port_a to port_b) |
FluidPort_b | port_b | Fluid connector b (positive design flow direction is from port_a to port_b) |
Modelica definition
Buildings.Airflow.Multizone.ZonalFlow_ACS
Zonal flow with input air change per second
Information
This model computes the air exchange between volumes.
Input is the air change per seconds. The volume flow rate is computed as
V_flow = ACS * V
where ACS
is an input and the volume V
is a parameter.
Extends from Buildings.Airflow.Multizone.BaseClasses.ZonalFlow (Flow across zonal boundaries of a room).
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium | PartialMedium | ||
Boolean | useDefaultProperties | false | Set to true to use constant density |
Volume | V | Volume of room [m3] | |
Advanced | |||
MassFlowRate | m1_flow_small | 1E-4*abs(m1_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
MassFlowRate | m2_flow_small | 1E-4*abs(m2_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Connectors
Type | Name | Description |
---|---|---|
FluidPort_a | port_a1 | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_b | port_b1 | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_a | port_a2 | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) |
FluidPort_b | port_b2 | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) |
input RealInput | ACS | Air change per seconds, relative to the smaller of the two volumes |
Modelica definition
Buildings.Airflow.Multizone.ZonalFlow_m_flow
Zonal flow with input air change per second
Information
This model computes the air exchange between volumes.
Input is the mass flow rate from
port_a1
to port_b1
and from
port_a2
to port_b2
.
Extends from Buildings.Airflow.Multizone.BaseClasses.ZonalFlow (Flow across zonal boundaries of a room).
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium | PartialMedium | ||
Advanced | |||
MassFlowRate | m1_flow_small | 1E-4*abs(m1_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
MassFlowRate | m2_flow_small | 1E-4*abs(m2_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Connectors
Type | Name | Description |
---|---|---|
FluidPort_a | port_a1 | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_b | port_b1 | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_a | port_a2 | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) |
FluidPort_b | port_b2 | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) |
input RealInput | mAB_flow | Mass flow rate from A to B, positive if flow from port_a1 to port_b1 |
input RealInput | mBA_flow | Mass flow rate from B to A, positive if flow from port_a2 to port_b2 |