Zonal components for a scalable air flow benchmark
Information
This package contains modular zone models that can be combined for a scalable airflow benchmark.
The individual zone models are combined in the Floor model, in which a number of Zones nZones can
be specified. The model will then accordingly adjust the number of the vectorized zones.
Package Content
| Name |
Description |
Floor
|
Floor element for air flow benchmark, consisting of zones, hallway, outdoor environment, and staircase |
OutsideEnvironment
|
Outside Environment air volume for simple air flow benchmark |
SimpleZone
|
A room as a thermal zone represented by its air volume |
Staircase
|
Zone representing a staircase connecting multiple floor models |
ZoneHallway
|
Zone representing a hallway connecting multiple SimpleZone models |
Floor element for air flow benchmark, consisting of zones, hallway, outdoor environment, and staircase
Information
A floor model for a scalable air flow benchmark.
Assumptions and limitations
See e.g.
Annex60.Experimental.Benchmarks.AirFlow.Components.SimpleZone for limitations and assumptions on
the zone level representation.
Typical use and important parameters
This floor model consists of a staircase element connected to at least one hallway element. The
hallway is connected to a simple zone model through a door model, and to the outside environment via
orifice models. Zone, hallway and outside environment are vectorized. Thus, by setting the number of
zones nZones, the floor model can be scaled to represent a floor with varying numbers of rooms. In
addition, the staircase element can be connected to other floor models in order to also scale the
model representation of air flows in a building regarding the number of floors on top of each
other.
References
Inspired by
Annex60.Airflow.Multizone.Validation.ThreeRoomsContam
Parameters
| Type | Name | Default | Description |
| replaceable package Medium | Modelica.Media.Interfaces.Pa... | Medium in the component |
| Integer | nZones | 4 | Number of zone elements |
| Temperature | TRoom | 298.15 | Indoor air temperature of room in K [K] |
| Temperature | THallway | 293.15 | Indoor air temperature of hallway in K [K] |
| Temperature | TStaircase | 293.15 | Indoor air temperature of staircase in K [K] |
| Height | heightRooms | 3 | Height of rooms in m [m] |
| Length | lengthZone | 5 | Length of room in m [m] |
| Length | widthZone | 5 | Width of room in m [m] |
| Length | widthHallway | 3 | Width of room in m [m] |
| Real | doorOpening | 1 | Opening of door (between 0:closed and 1:open) |
| Boolean | forceErrorControlOnFlow | true | Flag to force error control on m_flow. Set to true if interested in flow rate |
Connectors
| Type | Name | Description |
| replaceable package Medium | Medium in the component |
| FluidPort_a | port_a_top | Fluid port for connection to higher floors |
| FluidPort_a | port_a_bot | Fluid port for connection to lower floors |
| FluidPort_a | port_a_vent[nZones] | Port to connect mechanical ventilation equipment to each zone |
| Bus | weaBus1 | Bus with weather data |
Modelica definition
model Floor
replaceable package Medium =
Modelica.Media.Interfaces.PartialMedium
;
parameter Integer nZones(min=1) = 4 ;
parameter Modelica.SIunits.Temperature TRoom = 298.15
;
parameter Modelica.SIunits.Temperature THallway = 293.15
;
parameter Modelica.SIunits.Temperature TStaircase = 293.15
;
parameter Modelica.SIunits.Height heightRooms = 3 ;
parameter Modelica.SIunits.Length lengthZone = 5 ;
parameter Modelica.SIunits.Length widthZone = 5 ;
parameter Modelica.SIunits.Length widthHallway = 3 ;
parameter Real doorOpening = 1
;
parameter Boolean forceErrorControlOnFlow = true
;
Experimental.Benchmarks.AirFlow.Components.Staircase staircase(
heightRoom=heightRooms,
widthRoom=widthHallway,
redeclare package Medium =
Medium,
forceErrorControlOnFlow=forceErrorControlOnFlow,
TRoom=TStaircase) ;
Modelica.Fluid.Interfaces.FluidPort_a port_a_top(
redeclare package Medium =
Medium) ;
Modelica.Fluid.Interfaces.FluidPort_a port_a_bot(
redeclare package Medium =
Medium) ;
Experimental.Benchmarks.AirFlow.Components.ZoneHallway zoneHallway[nZones](
each heightRoom=heightRooms,
each lengthRoom=lengthZone,
each widthRoom=widthHallway,
redeclare each package Medium =
Medium,
each forceErrorControlOnFlow=forceErrorControlOnFlow,
each TRoom=THallway) ;
Experimental.Benchmarks.AirFlow.Components.OutsideEnvironment
outsideEnvironment[nZones](
redeclare each package Medium =
Medium,
each
heightRoom=heightRooms)
;
Experimental.Benchmarks.AirFlow.Components.SimpleZone simpleZone[nZones](
each heightRoom=heightRooms,
each lengthRoom=lengthZone,
each widthRoom=widthZone,
redeclare each package Medium =
Medium,
each forceErrorControlOnFlow=forceErrorControlOnFlow,
each TRoom=TRoom) ;
Modelica.Fluid.Interfaces.FluidPort_a port_a_vent[nZones](
redeclare each
package Medium =
Medium) ;
BoundaryConditions.WeatherData.Bus weaBus1 ;
equation
connect(staircase.port_a_top, port_a_top);
connect(staircase.port_a_bot, port_a_bot);
connect(staircase.port_a_toHallway, zoneHallway[1].port_a2);
connect(staircase.port_b_toHallway, zoneHallway[1].port_b2);
for i
in 1:(nZones-1)
loop
connect(zoneHallway[i].port_a1, zoneHallway[i+1].port_a2);
connect(zoneHallway[i].port_b1, zoneHallway[i+1].port_b2);
end for;
for i
in 1:nZones
loop
connect(simpleZone[i].port_a, zoneHallway[i].port_a_toZone);
connect(simpleZone[i].port_b, zoneHallway[i].port_b_toZone);
connect(zoneHallway[i].port_a_toOutside, outsideEnvironment[i].port_a);
connect(zoneHallway[i].port_b_toOutside, outsideEnvironment[i].port_b);
end for;
for i
in 1:nZones
loop
connect(port_a_vent[i], simpleZone[i].port_a_vent);
end for;
for i
in 1:nZones
loop
connect(outsideEnvironment[i].weaBus1, weaBus1);
end for;
for i
in 1:nZones
loop
connect(weaBus1, simpleZone[i].weaBus);
end for;
for i
in 1:nZones
loop
connect(weaBus1, zoneHallway[i].weaBus);
end for;
connect(weaBus1, staircase.weaBus);
end Floor;
Outside Environment air volume for simple air flow benchmark
Information
An air volume to represent the outside environment for air flow benchmark.
Assumptions and limitations
So far, the side ratio for the building is set to 1 for testing the general modeling
approach. It may be necessary to calculate this parameter depending on the scale of the test.
Typical use and important parameters
port_a and port_b should be connected to the corresponding ports of
ZoneHallway so that there is an air exchange through the orifices of the hallway
element.
References
Inspired by
Annex60.Airflow.Multizone.Validation.ThreeRoomsContam
Parameters
| Type | Name | Default | Description |
| replaceable package Medium | Modelica.Media.Interfaces.Pa... | Medium in the component |
| Height | heightRoom | 3 | Height of room connected to outdoor air in m [m] |
Connectors
| Type | Name | Description |
| replaceable package Medium | Medium in the component |
| FluidPort_a | port_a | Fluid port at the top of the room |
| FluidPort_b | port_b | Fluid port at the bottom of the room |
| Bus | weaBus1 | Bus with weather data |
Modelica definition
model OutsideEnvironment
replaceable package Medium =
Modelica.Media.Interfaces.PartialMedium
;
parameter Modelica.SIunits.Height heightRoom = 3
;
Airflow.Multizone.MediumColumn colOutBot(
redeclare package Medium =
Medium,
h=heightRoom/2,
densitySelection=Annex60.Airflow.Multizone.Types.densitySelection.fromTop)
;
Airflow.Multizone.MediumColumn colOutTop(
redeclare package Medium =
Medium,
h=heightRoom/2,
densitySelection=Annex60.Airflow.Multizone.Types.densitySelection.fromBottom)
;
Modelica.Fluid.Interfaces.FluidPort_a port_a(
redeclare package Medium =
Medium) ;
Modelica.Fluid.Interfaces.FluidPort_b port_b(
redeclare package Medium =
Medium) ;
Fluid.Sources.Outside_CpLowRise out(
nPorts=2,
redeclare package Medium =
Medium,
s=1,
azi=0) ;
BoundaryConditions.WeatherData.Bus weaBus1 ;
equation
connect(port_a, colOutTop.port_a);
connect(port_b, colOutBot.port_b);
connect(colOutBot.port_a, out.ports[1]);
connect(colOutTop.port_b, out.ports[2]);
connect(out.weaBus, weaBus1);
end OutsideEnvironment;
A room as a thermal zone represented by its air volume
Information
An air volume to represent a zone/room within a building that can be connected to a hallway
element and to ventilation equipment.
Assumptions and limitations
This is a very simple room representation. The model is intended to roughly approximate a first
order response of the zone to changes in outdoor air temperature. This is achieved by a thermal
resistance in model conRoom and the capitancy of the mixing volume represented by the
value for mSenFac. The G-Value of conRoom is approximated by the area of
one outside wall multiplied with a U-Value of 1 W/(m² K). The value for mSenFac
has been estimated from comparisons with other room models as shown in
Annex60.Experimental.Benchmarks.AirFlow.Examples.ZoneStepResponse.
Typical use and important parameters
port_a and port_b should be connected to the corresponding ports of
ZoneHallway so that there is an air exchange through the door connecting the room to
the hallway element.
Validation
This model is following the approach used in
Annex60.Airflow.Multizone.Validation.ThreeRoomsContam, only in a more modularized way
in order to be part of a scalable benchmark.
References
Inspired by
Annex60.Airflow.Multizone.Validation.ThreeRoomsContam
Parameters
| Type | Name | Default | Description |
| replaceable package Medium | Modelica.Media.Interfaces.Pa... | Medium in the component |
| Temperature | TRoom | 293.15 | Indoor air temperature of room in K [K] |
| Height | heightRoom | 3 | Height of room in m [m] |
| Length | lengthRoom | 5 | Length of room in m [m] |
| Length | widthRoom | 5 | Width of room in m [m] |
| CoefficientOfHeatTransfer | UValue | 1 | Heat transfer coefficient for outside wall [W/(m2.K)] |
| Real | doorOpening | 1 | Opening of door (between 0:closed and 1:open) |
| Boolean | forceErrorControlOnFlow | true | Flag to force error control on m_flow. Set to true if interested in flow rate |
Connectors
| Type | Name | Description |
| replaceable package Medium | Medium in the component |
| FluidPort_a | port_a | Fluid port that connects to the top of the door |
| FluidPort_b | port_b | Fluid port that connects to the bottom of the door |
| FluidPort_a | port_a_vent | Port that connects to the room volume |
| Bus | weaBus | Weather data connection for outdoor air temperature |
Modelica definition
model SimpleZone
replaceable package Medium =
Modelica.Media.Interfaces.PartialMedium
;
parameter Medium.Temperature TRoom(start=293.15) = 293.15
;
parameter Modelica.SIunits.Height heightRoom = 3 ;
parameter Modelica.SIunits.Length lengthRoom = 5 ;
parameter Modelica.SIunits.Length widthRoom = 5 ;
parameter Modelica.SIunits.CoefficientOfHeatTransfer UValue = 1
;
parameter Real doorOpening = 1
;
parameter Boolean forceErrorControlOnFlow = true
;
Modelica.Thermal.HeatTransfer.Components.ThermalConductor conRoom(G=
heightRoom*lengthRoom*UValue,
port_a(T(start=Medium.T_default)))
;
Fluid.MixingVolumes.MixingVolume volRoom(
energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
T_start=TRoom,
m_flow_nominal=0.001,
V=heightRoom*lengthRoom*widthRoom,
redeclare package Medium =
Medium,
nPorts=3,
mSenFac=75) ;
Modelica.Fluid.Interfaces.FluidPort_a port_a(
redeclare package Medium =
Medium) ;
Modelica.Fluid.Interfaces.FluidPort_b port_b(
redeclare package Medium =
Medium) ;
Airflow.Multizone.DoorDiscretizedOperable door(
redeclare package Medium =
Medium,
LClo=20*1E-4,
wOpe=1,
hOpe=2.2,
CDOpe=0.78,
CDClo=0.78,
nCom=10,
hA=3/2,
hB=3/2,
dp_turbulent(displayUnit="Pa") = 0.01,
forceErrorControlOnFlow=forceErrorControlOnFlow) ;
Modelica.Blocks.Sources.Constant const(k=doorOpening)
;
Modelica.Fluid.Interfaces.FluidPort_a port_a_vent(
redeclare package Medium =
Medium) ;
Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature preTemp(T(start=Medium.T_default),
port(T(start=Medium.T_default))) ;
BoundaryConditions.WeatherData.Bus weaBus
;
equation
connect(conRoom.port_b, volRoom.heatPort);
connect(volRoom.ports[1], door.port_b2);
connect(volRoom.ports[2], door.port_a1);
connect(door.port_b1, port_a);
connect(door.port_a2, port_b);
connect(const.y, door.y);
connect(port_a_vent, volRoom.ports[3]);
connect(preTemp.port, conRoom.port_a);
connect(preTemp.T, weaBus.TDryBul);
end SimpleZone;
Zone representing a staircase connecting multiple floor models
Information
An air volume to represent a staircase element for a scalable air flow benchmark.
Assumptions and limitations
This is a very simple room representation. The model is intended to roughly approximate a first
order response of the zone to changes in outdoor air temperature. This is achieved by a thermal
resistance in model conRoom and the capitancy of the mixing volume represented by the
value for mSenFac. The G-Value of conRoom is approximated by the area of
one outside wall multiplied with a U-Value of 1 W/(m² K). The value for mSenFac
has been estimated from comparisons with other room models as shown in
Annex60.Experimental.Benchmarks.AirFlow.Examples.ZoneStepResponse. For this model, a value for
mSenFac slightly lower than in
Annex60.Experimental.Benchmarks.AirFlow.Components.SimpleZone has been chosen.
Typical use and important parameters
port_a_toHallway and port_b_toHallway should be connected to the
corresponding ports of a hallway model. port_a_top and port_b_top can be
connected to another staircase model via its respective port_a_bot and
port_b_bot.
References
Inspired by
Annex60.Airflow.Multizone.Validation.ThreeRoomsContam
Parameters
| Type | Name | Default | Description |
| replaceable package Medium | Modelica.Media.Interfaces.Pa... | Medium in the component |
| Temperature | TRoom | 293.15 | Indoor air temperature of room in K [K] |
| Height | heightRoom | 3 | Height of room in m [m] |
| Length | lengthRoom | 3 | Length of room in m [m] |
| Length | widthRoom | 3 | Width of room in m [m] |
| Real | doorOpening | 1 | Opening of door (between 0:closed and 1:open) |
| CoefficientOfHeatTransfer | UValue | 1 | Heat transfer coefficient for outside wall [W/(m2.K)] |
| Boolean | forceErrorControlOnFlow | true | Flag to force error control on m_flow. Set to true if interested in flow rate |
Connectors
| Type | Name | Description |
| replaceable package Medium | Medium in the component |
| FluidPort_a | port_a_toHallway | Upper fluid port to hallway element |
| FluidPort_b | port_b_toHallway | Lower fluid port to hallway element |
| FluidPort_a | port_a_bot | Fluid port to lower staircase element |
| FluidPort_a | port_a_top | Fluid port to higher staircase element |
| Bus | weaBus | Weather data connection |
Modelica definition
model Staircase
replaceable package Medium =
Modelica.Media.Interfaces.PartialMedium
;
parameter Modelica.SIunits.Temperature TRoom = 293.15
;
parameter Modelica.SIunits.Height heightRoom = 3 ;
parameter Modelica.SIunits.Length lengthRoom = 3 ;
parameter Modelica.SIunits.Length widthRoom = 3 ;
parameter Real doorOpening = 1
;
parameter Modelica.SIunits.CoefficientOfHeatTransfer UValue = 1
;
parameter Boolean forceErrorControlOnFlow = true
;
Fluid.MixingVolumes.MixingVolume volumeStairs(
redeclare package Medium =
Medium,
m_flow_nominal=0.001,
V=heightRoom*lengthRoom*widthRoom,
T_start=TRoom,
energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
nPorts=4,
mSenFac=60) ;
Modelica.Thermal.HeatTransfer.Components.ThermalConductor conRoom(G=
heightRoom*widthRoom*UValue,
port_a(T(start=Medium.T_default)))
;
Modelica.Fluid.Interfaces.FluidPort_a port_a_toHallway(
redeclare package
Medium =
Medium) ;
Modelica.Fluid.Interfaces.FluidPort_b port_b_toHallway(
redeclare package
Medium =
Medium) ;
Modelica.Fluid.Interfaces.FluidPort_a port_a_bot(
redeclare package Medium =
Medium) ;
Modelica.Fluid.Interfaces.FluidPort_a port_a_top(
redeclare package Medium =
Medium) ;
Airflow.Multizone.MediumColumn col2(
redeclare package Medium =
Medium,
h=heightRoom/2,
densitySelection=Annex60.Airflow.Multizone.Types.densitySelection.fromTop)
;
Airflow.Multizone.MediumColumn col1(
redeclare package Medium =
Medium,
h=heightRoom/2,
densitySelection=Annex60.Airflow.Multizone.Types.densitySelection.fromBottom)
;
Airflow.Multizone.Orifice ori(
redeclare package Medium =
Medium,
forceErrorControlOnFlow=forceErrorControlOnFlow,
A=widthRoom*lengthRoom) ;
Airflow.Multizone.DoorDiscretizedOperable doo(
redeclare package Medium =
Medium,
LClo=20*1E-4,
wOpe=1,
hOpe=2.2,
CDOpe=0.78,
CDClo=0.78,
nCom=10,
hA=3/2,
hB=3/2,
dp_turbulent(displayUnit="Pa") = 0.01,
forceErrorControlOnFlow=forceErrorControlOnFlow)
;
Modelica.Blocks.Sources.Constant const(k=doorOpening)
;
Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature preTemp(T(start=Medium.T_default),
port(T(start=Medium.T_default))) ;
BoundaryConditions.WeatherData.Bus weaBus ;
equation
connect(conRoom.port_b, volumeStairs.heatPort);
connect(port_a_bot, col2.port_b);
connect(doo.port_b1, port_b_toHallway);
connect(doo.port_a2, port_a_toHallway);
connect(const.y, doo.y);
connect(ori.port_b, port_a_top);
connect(ori.port_a, col1.port_a);
connect(doo.port_b2, volumeStairs.ports[1]);
connect(doo.port_a1, volumeStairs.ports[2]);
connect(col2.port_a, volumeStairs.ports[3]);
connect(col1.port_b, volumeStairs.ports[4]);
connect(preTemp.port, conRoom.port_a);
connect(preTemp.T, weaBus.TDryBul);
end Staircase;
Zone representing a hallway connecting multiple SimpleZone models
Information
An air volume to represent a hallway element for a scalable air flow benchmark.
Assumptions and limitations
This is a very simple room representation. The model is intended to roughly approximate a first
order response of the zone to changes in outdoor air temperature. This is achieved by a thermal
resistance in model conRoom and the capitancy of the mixing volume represented by the
value for mSenFac. The G-Value of conRoom is approximated by the area of
one outside wall multiplied with a U-Value of 1 W/(m² K). The value for
mSenFac has been estimated from comparisons with other room models as shown in
Annex60.Experimental.Benchmarks.AirFlow.Examples.ZoneStepResponse. For this model, a value for
mSenFac slightly lower than in
Annex60.Experimental.Benchmarks.AirFlow.Components.SimpleZone has been chosen.
Typical use and important parameters
port_a_toZone and port_b_toZone should be connected to the corresponding
ports of a zone model, port_a_toOutside and port_b_toOutside should be
connected to the corresponding ports of the OutsideEnvironment. port_a2
and port_b2 can be connected to either a staircase model or to further hallway elements
via their respective port_a1 and port_b2.
Validation
This model is following the approach used in
Annex60.Airflow.Multizone.Validation.ThreeRoomsContam, only in a more modularized way
in order to be part of a scalable benchmark.
References
Inspired by
Annex60.Airflow.Multizone.Validation.ThreeRoomsContam
Parameters
| Type | Name | Default | Description |
| replaceable package Medium | Modelica.Media.Interfaces.Pa... | Medium in the component |
| Temperature | TRoom | 293.15 | Indoor air temperature of room in K [K] |
| Height | heightRoom | 3 | Height of room in m [m] |
| Length | lengthRoom | 5 | Length of room in m [m] |
| Length | widthRoom | 3 | Width of room in m [m] |
| CoefficientOfHeatTransfer | UValue | 1 | Heat transfer coefficient for outside wall [W/(m2.K)] |
| Boolean | forceErrorControlOnFlow | true | Flag to force error control on m_flow. Set to true if interested in flow rate |
Connectors
| Type | Name | Description |
| replaceable package Medium | Medium in the component |
| FluidPort_a | port_a_toZone | Direct connection to air volume without orifice |
| FluidPort_b | port_b_toZone | Direct connection to air volume without orifice |
| FluidPort_a | port_a_toOutside | Indirect connection to air volume with orifice |
| FluidPort_b | port_b_toOutside | Indirect connection to air volume with orifice |
| FluidPort_a | port_a1 | Indirect connection to air volume with orifice |
| FluidPort_a | port_a2 | Direct connection to air volume without orifice |
| FluidPort_b | port_b1 | Indirect connection to air volume with orifice |
| FluidPort_b | port_b2 | Direct connection to air volume without orifice |
| Bus | weaBus | Weather data connection for outdoor air temperature |
Modelica definition
model ZoneHallway
replaceable package Medium =
Modelica.Media.Interfaces.PartialMedium
;
parameter Modelica.SIunits.Temperature TRoom = 293.15
;
parameter Modelica.SIunits.Height heightRoom = 3 ;
parameter Modelica.SIunits.Length lengthRoom = 5 ;
parameter Modelica.SIunits.Length widthRoom = 3 ;
parameter Modelica.SIunits.CoefficientOfHeatTransfer UValue = 1
;
parameter Boolean forceErrorControlOnFlow = true
;
Fluid.MixingVolumes.MixingVolume volumeHall(
redeclare package Medium =
Medium,
m_flow_nominal=0.001,
V=heightRoom*lengthRoom*widthRoom,
nPorts=8,
T_start=TRoom,
energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
mSenFac=60) ;
Modelica.Thermal.HeatTransfer.Components.ThermalConductor conRoom(G=
heightRoom*lengthRoom*UValue,
port_a(T(start=Medium.T_default)))
;
Airflow.Multizone.MediumColumn col(
redeclare package Medium =
Medium,
h=heightRoom/2,
densitySelection=Annex60.Airflow.Multizone.Types.densitySelection.fromTop)
;
Airflow.Multizone.MediumColumn col1(
redeclare package Medium =
Medium,
h=heightRoom/2,
densitySelection=Annex60.Airflow.Multizone.Types.densitySelection.fromBottom)
;
Modelica.Fluid.Interfaces.FluidPort_a port_a_toZone(
redeclare package Medium =
Medium) ;
Modelica.Fluid.Interfaces.FluidPort_b port_b_toZone(
redeclare package Medium =
Medium) ;
Modelica.Fluid.Interfaces.FluidPort_a port_a_toOutside(
redeclare package
Medium =
Medium) ;
Modelica.Fluid.Interfaces.FluidPort_b port_b_toOutside(
redeclare package
Medium =
Medium) ;
Modelica.Fluid.Interfaces.FluidPort_a port_a1(
redeclare package Medium =
Medium) ;
Modelica.Fluid.Interfaces.FluidPort_a port_a2(
redeclare package Medium =
Medium) ;
Airflow.Multizone.Orifice oriOutTop(
redeclare package Medium =
Medium,
A=0.01,
forceErrorControlOnFlow=forceErrorControlOnFlow)
;
Airflow.Multizone.Orifice oriOutBottom(
redeclare package Medium =
Medium,
A=0.01,
forceErrorControlOnFlow=forceErrorControlOnFlow)
;
Modelica.Fluid.Interfaces.FluidPort_b port_b1(
redeclare package Medium =
Medium) ;
Modelica.Fluid.Interfaces.FluidPort_b port_b2(
redeclare package Medium =
Medium) ;
Airflow.Multizone.MediumColumn col2(
redeclare package Medium =
Medium,
densitySelection=Annex60.Airflow.Multizone.Types.densitySelection.fromBottom,
h=heightRoom/4)
;
Airflow.Multizone.MediumColumn col3(
redeclare package Medium =
Medium,
densitySelection=Annex60.Airflow.Multizone.Types.densitySelection.fromTop,
h=heightRoom/4)
;
Airflow.Multizone.Orifice ori(
redeclare package Medium =
Medium,
A=widthRoom*heightRoom/2,
forceErrorControlOnFlow=forceErrorControlOnFlow)
;
Airflow.Multizone.Orifice ori1(
redeclare package Medium =
Medium,
A=widthRoom*heightRoom/2,
forceErrorControlOnFlow=forceErrorControlOnFlow)
;
Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature preTemp(T(start=Medium.T_default),
port(T(start=Medium.T_default))) ;
BoundaryConditions.WeatherData.Bus weaBus
;
equation
connect(conRoom.port_b, volumeHall.heatPort);
connect(port_a_toZone, volumeHall.ports[1]);
connect(port_b_toZone, volumeHall.ports[2]);
connect(col.port_b, oriOutBottom.port_a);
connect(oriOutBottom.port_b, port_b_toOutside);
connect(col1.port_a, oriOutTop.port_a);
connect(oriOutTop.port_b, port_a_toOutside);
connect(ori.port_b,port_a1);
connect(ori1.port_b,port_b1);
connect(ori.port_a, col2.port_a);
connect(col3.port_b, ori1.port_a);
connect(col2.port_b, volumeHall.ports[3]);
connect(col3.port_a, volumeHall.ports[4]);
connect(col.port_a, volumeHall.ports[5]);
connect(col1.port_b, volumeHall.ports[6]);
connect(volumeHall.ports[7],port_b2);
connect(volumeHall.ports[8],port_a2);
connect(preTemp.port, conRoom.port_a);
connect(preTemp.T, weaBus.TDryBul);
end ZoneHallway;
http://iea-annex60.org