This package contains examples demonstrating the use of models available in the FLEXLAB package.
Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).Name | Description |
---|---|
X3AWithRadiantFloor | Example model showing a use of X3A |
TestBedX3WithRadiantFloor | Example model of test cells X3A and X3B connected to form test bed X3 |
X3BWithRadiantFloor | Example model showing a use of X3B |
This model demonstrates one potential simulation using the models available in Buildings.Rooms.FLEXLAB.Rooms.X3A. This example simulates test cell X3A when it is conditioned with a radiant slab. This example model includes heat transfer between the test cell, the outdoor environment, the radiant slab conditioning the test cell, the connected electrical room and closet, and the neighboring test cells.
The connections between the test cell and the external models are described in the following table. Only models not included in the X3A package are included. For documentation describing the connections between X3A models see Buildings.Rooms.FLEXLAB.Rooms.X3A.
External model name | External model significance | External model port | X3A port |
---|---|---|---|
weaDat | Outdoor weather | weaDat.weaBus | X3A.weaBus |
TNei | Neighboring test cells (X2B and X3B) | X2B: X3A.preTem2.port[1] X3B: X3A.preTem2.port[2] |
X2B: X3A.surf_conBou[1] X3B: X3A.surf_conBou[2] |
sla4A1 | Radiant slab serving the north portion of X3A | sla4A1.surf_a | X3A.surf_surBou[1] |
sla4A2 | Radiant slab serving the north-central portion of X3A | sla4A2.surf_a | X3A.surf_surBou[2] |
sla4A3 | Radiant slab serving the south-central portion of X3A | sla4A3.surf_a | X3A.surf_surBou[3] |
sla4A4 | Radiant slab serving the south portion of X3A | sla4A4.surf_a | X3A.surf_surBou[4] |
shaPos | Table describing the position of the window shade | shaPos.y[1] | X3A.uSha |
intGai | Table specifying the internal gains in the space | intGai[1,2,3] | X3A.qGai_flow[1,2,3] |
airIn | Prescribed airflow describing service air from the AHU | airIn.ports[1] | X3A.ports[1] |
airOut | Outlet for ventilation air flow | airOut.ports[1] | X3A.ports[1] |
The connections between the closet and external models are described in the following table. Only connections to models not included in the X3A package are described.
External model name | External model significance | External model port | clo port |
---|---|---|---|
intGaiClo | Table specifying the internal gains in the closet | intGaiClo[1,2,3] | clo.qGai_flow[1,2,3] |
airInClo | Prescribed airflow describing service air from the AHU | airInClo.ports[1] | clo.ports[1] |
airOutClo | Outlet for ventilation air flow | airOutClo.ports[1] | clo.ports[1] |
preT | Prescribed temperature describing the ground temperature | preT.port | clo.surf_conBou[3] |
The connections between the electrical room and external models are described in the following table. Only connections to models not included in the X3A package are described.
External model name | External model significance | External model port | ele port |
---|---|---|---|
intGaiEle | Table specifying the internal gains in the electrical room | intGaiEle[1,2,3] | ele.qGai_flow[1,2,3] |
airInEle | Prescribed airflow describing service air from the AHU | airInEle.ports[1] | ele.ports[1] |
airOutEle | Outlet for ventilation air flow | airOutEle.ports[1] | ele.ports[1] |
preT | Prescribed temperature describing the ground temperature | preT.port | ele.surf_conBou[1] |
The radiant slab is modeled using an instance of Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab. All of the inputs used to define the radiant slab are taken from the architectural drawings. The following table describes the connections between models used in the radiant slab. The connection to X3A is not included because it was previously described.
External model name | External model significance | External model port | Radiant slab port |
---|---|---|---|
watIn | Inlet for service fluid flow. Currently connects to a prescribed flow described in a table | watIn.ports[1] | sla.port_a |
preT | Ground temperature beneath the radiant slab construction. Currently connects to a prescribed temperature defined in a table | preT.port | sla.surf_b |
watOut | Outlet for service fluid flow | watOut.ports[1] | sla.port_b |
The model only simulates the space conditions, the effects of the radiant slab, and the
heat transfer between the rooms. The air handling unit, chilled water plant, shade control,
internal gains, and ground temperature are all modeled by reading data from tables.
Currently the ventilation air is read from an external data file, via the model
airCon
, while the others use tables described in the data reader model. The table
below shows the name of data input files in the model, what physical phenomena the data file
describes, the physical quantity of each data file output, and the source of the data.
Model name | Quantity described | Data source | y[1] significance | y[2] significance | y[3] significance | y[4] significance | |
---|---|---|---|---|---|---|---|
shaPos | Position of the shade | Table in model | Position of the shade | ||||
intGai | Internal gains | Table in model | Radiant heat | Convective heat | Latent heat | ||
airCon | Ventilation air from air handling unit | External text file | Mass flow rate | Temperature | |||
watCon | Conditioning water from central plant | Table in model | Mass flow rate | Temperature | |||
TGro | Ground temperature | Table in model | Temperature | ||||
intGaiClo | Internal gains for the closet | Table in model | Radiant heat | Convective heat | Latent heat | ||
intGaiEle | Internal gains for the electrical room | Table in model | Radiant heat | Convective heat | Latent heat | ||
airConEle | Ventilation air from AHU in the electrical room | External text file | Mass flow rate | Temperature | |||
airConClo | Ventilation air from AHU in closet | External text file | Mass flow rate | Temperature | |||
TNei | Temperature of the neighboring cells | Table in model | X2B | X3B |
In the above table blank entires either show that there is no data to describe, or that the data is describing a quantity for a separate model. Two examples are:
The ventilation air flow rates used during occupied hours in this example were calculated using the assumption of 4 air changes per hour (ACH). It is assumed that there is no ventilation flow during unoccupied hours.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Type | Name | Default | Description |
---|---|---|---|
Generic | slaCon | Construction of the slab | |
PEX_RADTEST | pipe |
model X3AWithRadiantFloor "Example model showing a use of X3A" extends Modelica.Icons.Example; package Air = Buildings.Media.GasesConstantDensity.MoistAirUnsaturated "Air model used in the example model"; package Water = Buildings.Media.ConstantPropertyLiquidWater "Water model used in the radiant slab loop";Buildings.Rooms.FLEXLAB.Rooms.X3A.TestCell X3A( nPorts=2, redeclare package Medium = Air, linearizeRadiation=false); Modelica.Blocks.Sources.CombiTimeTable intGai(table=[0,0,0,0; 86400,0,0,0], tableOnFile=false) "Internal gain heat flow (Radiant = 1, Convective = 2, Latent = 3)"; Modelica.Blocks.Sources.CombiTimeTable shaPos(table=[0,1; 86400,1], tableOnFile=false) "Position of the shade"; Modelica.Blocks.Sources.CombiTimeTable airCon(table=[0,0.1,293.15; 86400,0.1,293.15], tableOnFile=true, tableName="airCon", fileName=ModelicaServices.ExternalReferences.loadResource( "modelica://Buildings/Resources/Data/Rooms/FLEXLAB/Rooms/Examples/X3AWithRadiantFloor.txt"), columns=2:5) "Inlet air conditions (y[1] = m_flow, y[4] = T)"; Buildings.Fluid.Sources.MassFlowSource_T airIn( use_m_flow_in=true, use_T_in=true, redeclare package Medium = Air, nPorts=1) "Inlet air conditions (from AHU) for X3A"; Buildings.Fluid.Sources.Boundary_pT airOut(nPorts=1, redeclare package Medium = Air) "Air outlet for X3A"; Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab sla4A1( sysTyp=Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Types.SystemType.Floor, iLayPip=1, redeclare package Medium = Water, pipe=pipe, layers=slaCon, m_flow_nominal=0.504, A=6.645*3.09, length=32.92, disPip=sla4A1.A/sla4A1.length) "Radiant slab serving the north side of cell X3A. Name is taken from drawing M3.02"; Modelica.Blocks.Sources.CombiTimeTable watCon4A1(tableOnFile=false, table=[0, 0.504,293.15; 86400,0.504,293.15]) "Inlet water conditions (y[1] = m_flow, y[2] = T)"; Buildings.Fluid.Sources.MassFlowSource_T watIn4A1( nPorts=1, use_m_flow_in=true, use_T_in=true, redeclare package Medium = Water) "Inlet water conditions (from central plant)"; Buildings.Fluid.Sources.Boundary_pT watOut4A1(nPorts=1, redeclare package Medium = Water) "Water outlet"; Buildings.HeatTransfer.Sources.PrescribedTemperature preT "Temperature of the ground"; Modelica.Blocks.Sources.CombiTimeTable TGro( table=[0,288.15; 86400,288.15], tableOnFile=false); parameter Buildings.HeatTransfer.Data.OpaqueConstructions.Generic slaCon(nLay=3, material={ Buildings.HeatTransfer.Data.Solids.Generic( x=0.1524, k=1.13, c=1000, d=1400, nSta=5), Buildings.HeatTransfer.Data.Solids.Generic( x=0.127, k=0.036, c=1200, d=40), Buildings.HeatTransfer.Data.Solids.Generic( x=0.2, k=1.8, c=1100, d=2400)}) "Construction of the slab"; parameter Buildings.Fluid.Data.Pipes.PEX_RADTEST pipe(dOut=0.015875, dIn=0.01905); Buildings.BoundaryConditions.WeatherData.ReaderTMY3 weaDat(filNam= "modelica://Buildings/Resources/weatherdata/USA_CA_San.Francisco.Intl.AP.724940_TMY3.mos"); Buildings.HeatTransfer.Sources.PrescribedTemperature preT2[2]; Buildings.Rooms.FLEXLAB.Rooms.X3A.Electrical ele( redeclare package Medium = Air, nPorts=2) "Model of the electrical room"; Buildings.Rooms.FLEXLAB.Rooms.X3A.Closet clo( redeclare package Medium = Air, nPorts=2) "Model of the closet"; Modelica.Blocks.Sources.CombiTimeTable TNei( table=[0,293.15,293.15; 86400,293.15,293.15], tableOnFile=false) "Temperature of the neighboring test cells (y[1] = X2B, y[2] = X3B)"; Modelica.Blocks.Sources.CombiTimeTable intGaiEle( table=[0,0,0,0; 86400,0,0,0], tableOnFile=false) "Internal gain heat flow for the electrical room"; Modelica.Blocks.Sources.CombiTimeTable airConEle( tableOnFile=true, tableName="airCon", fileName=ModelicaServices.ExternalReferences.loadResource( "modelica://Buildings/Resources/Data/Rooms/FLEXLAB/Rooms/Examples/X3AWithRadiantFloor.txt"), columns=2:5) "Inlet air conditions for the connected electrical room (y[1] = m_flow, y[4] = T)"; Modelica.Blocks.Sources.CombiTimeTable airConClo( tableOnFile=true, tableName="airCon", fileName=ModelicaServices.ExternalReferences.loadResource( "modelica://Buildings/Resources/Data/Rooms/FLEXLAB/Rooms/Examples/X3AWithRadiantFloor.txt"), columns=2:5) "Inlet air conditions for the connected closet (y[1] = m_flow, y[4] = T)"; Buildings.Fluid.Sources.MassFlowSource_T airInEle( use_m_flow_in=true, use_T_in=true, redeclare package Medium = Air, nPorts=1) "Inlet air conditions (from AHU) for the electrical room"; Buildings.Fluid.Sources.Boundary_pT airOutEle(nPorts=1, redeclare package Medium = Air) "Air outlet from the electrical room"; Buildings.Fluid.Sources.MassFlowSource_T airInClo( use_m_flow_in=true, use_T_in=true, redeclare package Medium = Air, nPorts=1) "Inlet air conditions (from AHU) for the closet"; Buildings.Fluid.Sources.Boundary_pT airOutClo( redeclare package Medium = Air, nPorts=1) "Air outlet from the closet"; Modelica.Blocks.Sources.CombiTimeTable intGaiClo( table=[0,0,0,0; 86400,0,0,0], tableOnFile=false) "Internal gain heat flow for the closet"; inner Modelica.Fluid.System system; Modelica.Blocks.Sources.CombiTimeTable watCon4A2(tableOnFile=false, table=[0, 0.504,293.15; 86400,0.504,293.15]) "Inlet water conditions (y[1] = m_flow, y[2] = T)"; Buildings.Fluid.Sources.MassFlowSource_T watIn4A2( nPorts=1, use_m_flow_in=true, use_T_in=true, redeclare package Medium = Water) "Inlet water conditions (from central plant)"; Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab sla4A2( sysTyp=Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Types.SystemType.Floor, iLayPip=1, redeclare package Medium = Water, pipe=pipe, layers=slaCon, m_flow_nominal=0.504, A=6.645*1.51, disPip=sla4A2.A/sla4A2.length, length=45.11) "Radiant slab serving the north-central section of cell X3A. Name is taken from drawing M3.02"; Buildings.Fluid.Sources.Boundary_pT watOut4A2(nPorts=1, redeclare package Medium = Water) "Water outlet"; Modelica.Blocks.Sources.CombiTimeTable watCon4A3(tableOnFile=false, table=[0, 0.504,293.15; 86400,0.504,293.15]) "Inlet water conditions (y[1] = m_flow, y[2] = T)"; Buildings.Fluid.Sources.MassFlowSource_T watIn4A3( nPorts=1, use_m_flow_in=true, use_T_in=true, redeclare package Medium = Water) "Inlet water conditions (from central plant)"; Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab sla4A3( sysTyp=Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Types.SystemType.Floor, iLayPip=1, redeclare package Medium = Water, pipe=pipe, layers=slaCon, m_flow_nominal=0.504, A=6.645*0.91, disPip=sla4A3.A/sla4A3.length, length=42.98) "Radiant slab serving the south-central section of cell X3A. Name is taken from drawing M3.02"; Buildings.Fluid.Sources.Boundary_pT watOut4A3(nPorts=1, redeclare package Medium = Water) "Water outlet"; Modelica.Blocks.Sources.CombiTimeTable watCon4A4(tableOnFile=false, table=[0, 0.504,293.15; 86400,0.504,293.15]) "Inlet water conditions (y[1] = m_flow, y[2] = T)"; Buildings.Fluid.Sources.MassFlowSource_T watIn4A4( nPorts=1, use_m_flow_in=true, use_T_in=true, redeclare package Medium = Water) "Inlet water conditions (from central plant)"; Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab sla4A4( sysTyp=Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Types.SystemType.Floor, iLayPip=1, redeclare package Medium = Water, pipe=pipe, layers=slaCon, m_flow_nominal=0.504, A=6.645*3.65, disPip=sla4A4.A/sla4A4.length, length=50.9) "Radiant slab serving the south section of cell X3A. Name is taken from drawing M3.02"; Buildings.Fluid.Sources.Boundary_pT watOut4A4(nPorts=1, redeclare package Medium = Water) "Water outlet"; equationconnect(airCon.y[1],airIn. m_flow_in); connect(airCon.y[4],airIn. T_in); connect(airIn.ports[1], X3A.ports[1]); connect(airOut.ports[1], X3A.ports[2]); connect(sla4A1.surf_b, preT.port); connect(watIn4A1.ports[1], sla4A1.port_a); connect(sla4A1.port_b, watOut4A1.ports[1]); connect(watCon4A1.y[1], watIn4A1.m_flow_in); connect(watCon4A1.y[2], watIn4A1.T_in); connect(TGro.y[1],preT. T); connect(weaDat.weaBus, X3A.weaBus); connect(shaPos.y, X3A.uSha); connect(weaDat.weaBus, ele.weaBus); connect(weaDat.weaBus,clo. weaBus); connect(ele.surf_surBou[1], X3A.surf_conBou[5]); connect(clo.surf_surBou[1], X3A.surf_conBou[3]); connect(clo.surf_surBou[1], X3A.surf_conBou[4]); connect(airConEle.y[4], airInEle.T_in); connect(airInEle.ports[1], ele.ports[1]); connect(ele.ports[2], airOutEle.ports[1]); connect(ele.surf_surBou[2], clo.surf_conBou[1]); connect(preT2[1].port, X3A.surf_conBou[1]); connect(preT2[2].port, X3A.surf_conBou[2]); connect(airInClo.ports[1],clo. ports[1]); connect(TNei.y, preT2.T); connect(preT2[2].port, clo.surf_conBou[2]); connect(airConClo.y[4], airInClo.T_in); connect(airConEle.y[3], airInEle.m_flow_in); connect(airConClo.y[2], airInClo.m_flow_in); connect(airOutClo.ports[1],clo. ports[2]); connect(intGai.y, X3A.qGai_flow); connect(intGaiEle.y, ele.qGai_flow); connect(intGaiClo.y,clo. qGai_flow); connect(preT.port,clo. surf_conBou[3]); connect(ele.surf_conBou[1], preT.port); connect(sla4A1.surf_a, X3A.surf_surBou[1]); connect(watCon4A2.y[1], watIn4A2.m_flow_in); connect(watCon4A2.y[2], watIn4A2.T_in); connect(watIn4A2.ports[1], sla4A2.port_a); connect(sla4A2.port_b, watOut4A2.ports[1]); connect(sla4A2.surf_a, X3A.surf_surBou[2]); connect(preT.port, sla4A2.surf_b); connect(watCon4A3.y[1], watIn4A3.m_flow_in); connect(watCon4A3.y[2], watIn4A3.T_in); connect(watIn4A3.ports[1], sla4A3.port_a); connect(sla4A3.port_b, watOut4A3.ports[1]); connect(sla4A3.surf_a, X3A.surf_surBou[3]); connect(preT.port, sla4A3.surf_b); connect(watCon4A4.y[1], watIn4A4.m_flow_in); connect(watCon4A4.y[2], watIn4A4.T_in); connect(watIn4A4.ports[1], sla4A4.port_a); connect(sla4A4.port_b, watOut4A4.ports[1]); connect(preT.port, sla4A4.surf_b); connect(sla4A4.surf_a, X3A.surf_surBou[4]); end X3AWithRadiantFloor;
This example models demonstrates how the Buildings.Rooms.FLEXLAB.Rooms.X3A and Buildings.Rooms.FLEXLAB.Rooms.X3B test cell models can be combined to form a simulation of test bed X3. The example is primarily a combination of Buildings.Rooms.FLEXLAB.Rooms.Examples.X3AWithRadiantFloor and Buildings.Rooms.FLEXLAB.Rooms.Examples.X3BWithRadiantFloor. The example Buildings.Rooms.FLEXLAB.Rooms.Examples.X3AWithRadiantFloor contains detailed documentation on these models. Some small changes were necessary to create the model of the test bed correctly. These changes are:
Type | Name | Default | Description |
---|---|---|---|
Generic | slaCon | Construction of the slab | |
PEX_RADTEST | pipe |
model TestBedX3WithRadiantFloor "Example model of test cells X3A and X3B connected to form test bed X3" extends Modelica.Icons.Example; package Air = Buildings.Media.GasesConstantDensity.MoistAirUnsaturated "Air model used in the example model"; package Water = Buildings.Media.ConstantPropertyLiquidWater "Water model used in the radiant slab loop";Buildings.Rooms.FLEXLAB.Rooms.X3B.TestCell X3B(redeclare package Medium = Air, nPorts=2) "Test cell X3B"; Buildings.Rooms.FLEXLAB.Rooms.X3B.Closet BClo(redeclare package Medium = Air, nPorts=2) "Closet in test cell X3B"; Buildings.Rooms.FLEXLAB.Rooms.X3B.Electrical BEle(redeclare package Medium = Air, nPorts=2) "Electrical room in test cell X3B"; Buildings.Rooms.FLEXLAB.Rooms.X3A.TestCellFullBed X3A(redeclare package Medium = Air, nPorts=2) "Test cell X3A"; Buildings.Rooms.FLEXLAB.Rooms.X3A.ClosetFullBed AClo(redeclare package Medium = Air, nPorts=1) "Closet in test cell X3A"; Buildings.Rooms.FLEXLAB.Rooms.X3A.Electrical AEle(redeclare package Medium = Air, nPorts=2) "Electrical room in test cell X3A"; inner Modelica.Fluid.System system; Buildings.BoundaryConditions.WeatherData.ReaderTMY3 weaDat(filNam="/Resources/weatherdata/USA_CA_San.Francisco.Intl.AP.724940_TMY3.mos"); Modelica.Blocks.Sources.CombiTimeTable intGaiCloB(table=[0,0,0,0; 86400,0,0,0], tableOnFile=false) "Internal gain heat flow for the closet in test cell X3B"; Modelica.Blocks.Sources.CombiTimeTable intGaiCloA( table=[0,0,0,0; 86400,0,0,0], tableOnFile=false) "Internal gain heat flow for the closet in test cell X3A"; Modelica.Blocks.Sources.CombiTimeTable intGaiEleA(table=[0,0,0,0; 86400,0,0,0], tableOnFile=false) "Internal gain heat flow for the electrical room in test cell X3A"; Modelica.Blocks.Sources.CombiTimeTable intGaiEleB(table=[0,0,0,0; 86400,0,0,0], tableOnFile=false) "Internal gain heat flow for the electrical room in test cell X3B"; Modelica.Blocks.Sources.CombiTimeTable shaPosA(table=[0,1; 86400,1], tableOnFile=false) "Position of the shade in test cell X3A"; Modelica.Blocks.Sources.CombiTimeTable shaPosB( table=[0,1; 86400,1], tableOnFile=false) "Position of the shade in test cell X3B"; Modelica.Blocks.Sources.CombiTimeTable intGaiA(table=[0,0,0,0; 86400,0,0,0], tableOnFile=false) "Internal gain heat flow in test cell X3A (Radiant = 1, Convective = 2, Latent = 3)"; Modelica.Blocks.Sources.CombiTimeTable intGaiB(table=[0,0,0,0; 86400,0,0,0], tableOnFile=false) "Internal gain heat flow in test cell X3B (Radiant = 1, Convective = 2, Latent = 3)"; Modelica.Blocks.Sources.CombiTimeTable airConCloA( tableOnFile=true, tableName="airCon", fileName=ModelicaServices.ExternalReferences.loadResource( "modelica://Buildings/Resources/Data/Rooms/FLEXLAB/Rooms/Examples/X3AWithRadiantFloor.txt"), columns=2:5) "Inlet air conditions for the connected closet of test cell X3A (y[1] = m_flow, y[2] = T)"; Buildings.Fluid.Sources.MassFlowSource_T airInCloA( use_m_flow_in=true, use_T_in=true, redeclare package Medium = Air, nPorts=1) "Inlet air conditions (from AHU) for the closet of test cell X3A"; Buildings.Fluid.Sources.Boundary_pT airOutCloA(redeclare package Medium = Air, nPorts=1) "Air outlet from the closet in test cell X3A"; Modelica.Blocks.Sources.CombiTimeTable airConCloB( tableOnFile=true, tableName="airCon", fileName=ModelicaServices.ExternalReferences.loadResource( "modelica://Buildings/Resources/Data/Rooms/FLEXLAB/Rooms/Examples/X3AWithRadiantFloor.txt"), columns=2:5) "Inlet air conditions for the connected closet of test cell X3B (y[1] = m_flow, y[2] = T)"; Buildings.Fluid.Sources.MassFlowSource_T airInCloB( use_m_flow_in=true, use_T_in=true, redeclare package Medium = Air, nPorts=1) "Inlet air conditions (from AHU) for the closet of test cell X3B"; Buildings.Fluid.Sources.Boundary_pT airOutCloB(redeclare package Medium = Air, nPorts=1) "Air outlet from the closet in test cell X3B"; Modelica.Blocks.Sources.CombiTimeTable airConA( table=[0,0.1,293.15; 86400,0.1,293.15], tableOnFile=true, tableName="airCon", fileName=ModelicaServices.ExternalReferences.loadResource( "modelica://Buildings/Resources/Data/Rooms/FLEXLAB/Rooms/Examples/X3AWithRadiantFloor.txt"), columns=2:5) "Inlet air conditions for test cell X3A (y[1] = m_flow, y[2] = T)"; Buildings.Fluid.Sources.MassFlowSource_T airInA( use_m_flow_in=true, use_T_in=true, redeclare package Medium = Air, nPorts=1) "Inlet air conditions (from AHU) for X3A"; Buildings.Fluid.Sources.Boundary_pT airOutA(nPorts=1, redeclare package Medium = Air) "Air outlet for X3A"; Modelica.Blocks.Sources.CombiTimeTable airConB( table=[0,0.1,293.15; 86400,0.1,293.15], tableOnFile=true, tableName="airCon", fileName=ModelicaServices.ExternalReferences.loadResource( "modelica://Buildings/Resources/Data/Rooms/FLEXLAB/Rooms/Examples/X3AWithRadiantFloor.txt"), columns=2:5) "Inlet air conditions for test cell X3B (y[1] = m_flow, y[2] = T)"; Buildings.Fluid.Sources.MassFlowSource_T airInB( use_m_flow_in=true, use_T_in=true, redeclare package Medium = Air, nPorts=1) "Inlet air conditions (from AHU) for X3B"; Buildings.Fluid.Sources.Boundary_pT airOutB(nPorts=1, redeclare package Medium = Air) "Air outlet for X3B"; Modelica.Blocks.Sources.CombiTimeTable airConEleA( tableOnFile=true, tableName="airCon", fileName=ModelicaServices.ExternalReferences.loadResource( "modelica://Buildings/Resources/Data/Rooms/FLEXLAB/Rooms/Examples/X3AWithRadiantFloor.txt"), columns=2:5) "Inlet air conditions for the connected electrical room in test cell X3A (y[1] = m_flow, y[2] = T)"; Buildings.Fluid.Sources.MassFlowSource_T airInEleA( use_m_flow_in=true, use_T_in=true, redeclare package Medium = Air, nPorts=1) "Inlet air conditions (from AHU) for the electrical room in test cell X3A"; Buildings.Fluid.Sources.Boundary_pT airOutEleA(redeclare package Medium = Air, nPorts=1) "Air outlet from the electrical room in test cell X3A"; Buildings.HeatTransfer.Sources.PrescribedTemperature preT "Temperature of the ground"; Modelica.Blocks.Sources.CombiTimeTable TGro( table=[0,288.15; 86400,288.15], tableOnFile=false); parameter Buildings.HeatTransfer.Data.OpaqueConstructions.Generic slaCon(nLay=3, material={ Buildings.HeatTransfer.Data.Solids.Generic( x=0.1524, k=1.13, c=1000, d=1400, nSta=5), Buildings.HeatTransfer.Data.Solids.Generic( x=0.127, k=0.036, c=1200, d=40), Buildings.HeatTransfer.Data.Solids.Generic( x=0.2, k=1.8, c=1100, d=2400)}) "Construction of the slab"; parameter Buildings.Fluid.Data.Pipes.PEX_RADTEST pipe(dOut=0.015875, dIn=0.01905); Modelica.Blocks.Sources.CombiTimeTable TNei( tableOnFile=false, table=[0,293.15; 86400,293.15]) "Temperature of the neighboring test cells (y[1] = X2B)"; Buildings.HeatTransfer.Sources.PrescribedTemperature preT2; Buildings.Fluid.Sources.Boundary_pT airOutEleB(redeclare package Medium = Air, nPorts=1) "Air outlet from the electrical room in test cell X3B"; Buildings.Fluid.Sources.MassFlowSource_T airInEleB( use_m_flow_in=true, use_T_in=true, redeclare package Medium = Air, nPorts=1) "Inlet air conditions (from AHU) for the electrical room in test cell X3B"; Modelica.Blocks.Sources.CombiTimeTable airConEleB( tableOnFile=true, tableName="airCon", fileName=ModelicaServices.ExternalReferences.loadResource( "modelica://Buildings/Resources/Data/Rooms/FLEXLAB/Rooms/Examples/X3AWithRadiantFloor.txt"), columns=2:5) "Inlet air conditions for the connected electrical room in test cell X3B (y[1] = m_flow, y[2] = T)"; Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab sla4A1( sysTyp=Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Types.SystemType.Floor, iLayPip=1, redeclare package Medium = Water, pipe=pipe, layers=slaCon, m_flow_nominal=0.504, A=6.645*3.09, length=32.92, disPip=sla4A1.A/sla4A1.length) "Radiant slab serving the north side of cell X3A. Name is taken from drawing M3.02"; Modelica.Blocks.Sources.CombiTimeTable watCon4A1(tableOnFile=false, table=[0, 0.504,293.15; 86400,0.504,293.15]) "Inlet water conditions (y[1] = m_flow, y[2] = T)"; Buildings.Fluid.Sources.MassFlowSource_T watIn4A1( nPorts=1, use_m_flow_in=true, use_T_in=true, redeclare package Medium = Water) "Inlet water conditions (from central plant)"; Modelica.Blocks.Sources.CombiTimeTable watCon4A2(tableOnFile=false, table=[0, 0.504,293.15; 86400,0.504,293.15]) "Inlet water conditions (y[1] = m_flow, y[2] = T)"; Buildings.Fluid.Sources.MassFlowSource_T watIn4A2( nPorts=1, use_m_flow_in=true, use_T_in=true, redeclare package Medium = Water) "Inlet water conditions (from central plant)"; Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab sla4A2( sysTyp=Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Types.SystemType.Floor, iLayPip=1, redeclare package Medium = Water, pipe=pipe, layers=slaCon, m_flow_nominal=0.504, A=6.645*1.51, disPip=sla4A2.A/sla4A2.length, length=45.11) "Radiant slab serving the north-central section of cell X3A. Name is taken from drawing M3.02"; Buildings.Fluid.Sources.Boundary_pT watOut4A2(nPorts=1, redeclare package Medium = Water) "Water outlet"; Modelica.Blocks.Sources.CombiTimeTable watCon4A3(tableOnFile=false, table=[0, 0.504,293.15; 86400,0.504,293.15]) "Inlet water conditions (y[1] = m_flow, y[2] = T)"; Buildings.Fluid.Sources.MassFlowSource_T watIn4A3( nPorts=1, use_m_flow_in=true, use_T_in=true, redeclare package Medium = Water) "Inlet water conditions (from central plant)"; Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab sla4A3( sysTyp=Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Types.SystemType.Floor, iLayPip=1, redeclare package Medium = Water, pipe=pipe, layers=slaCon, m_flow_nominal=0.504, A=6.645*0.91, disPip=sla4A3.A/sla4A3.length, length=42.98) "Radiant slab serving the south-central section of cell X3A. Name is taken from drawing M3.02"; Buildings.Fluid.Sources.Boundary_pT watOut4A3(nPorts=1, redeclare package Medium = Water) "Water outlet"; Modelica.Blocks.Sources.CombiTimeTable watCon4A4(tableOnFile=false, table=[0, 0.504,293.15; 86400,0.504,293.15]) "Inlet water conditions (y[1] = m_flow, y[2] = T)"; Buildings.Fluid.Sources.MassFlowSource_T watIn4A4( nPorts=1, use_m_flow_in=true, use_T_in=true, redeclare package Medium = Water) "Inlet water conditions (from central plant)"; Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab sla4A4( sysTyp=Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Types.SystemType.Floor, iLayPip=1, redeclare package Medium = Water, pipe=pipe, layers=slaCon, m_flow_nominal=0.504, A=6.645*3.65, disPip=sla4A4.A/sla4A4.length, length=50.9) "Radiant slab serving the south section of cell X3A. Name is taken from drawing M3.02"; Buildings.Fluid.Sources.Boundary_pT watOut4A4(nPorts=1, redeclare package Medium = Water) "Water outlet"; Buildings.Fluid.Sources.Boundary_pT watOut4A1(nPorts=1, redeclare package Medium = Water) "Water outlet"; Modelica.Blocks.Sources.CombiTimeTable watCon4B1(tableOnFile=false, table=[0, 0.504,293.15; 86400,0.504,293.15]) "Inlet water conditions (y[1] = m_flow, y[2] = T)"; Buildings.Fluid.Sources.MassFlowSource_T watIn4B1( nPorts=1, use_m_flow_in=true, use_T_in=true, redeclare package Medium = Water) "Inlet water conditions (from central plant)"; Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab sla4B1( sysTyp=Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Types.SystemType.Floor, iLayPip=1, redeclare package Medium = Water, pipe=pipe, layers=slaCon, m_flow_nominal=0.504, A=6.645*3.09, disPip=sla4B1.A/sla4B1.length, length=38.71) "Radiant slab serving the north side of cell X3B. Name is taken from drawing M3.02"; Buildings.Fluid.Sources.Boundary_pT watOut4B1( redeclare package Medium = Water, nPorts=1) "Water outlet"; Modelica.Blocks.Sources.CombiTimeTable watCon4B2(tableOnFile=false, table=[0, 0.504,293.15; 86400,0.504,293.15]) "Inlet water conditions (y[1] = m_flow, y[2] = T)"; Buildings.Fluid.Sources.MassFlowSource_T watIn4B2( nPorts=1, use_m_flow_in=true, use_T_in=true, redeclare package Medium = Water) "Inlet water conditions (from central plant)"; Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab sla4B2( sysTyp=Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Types.SystemType.Floor, iLayPip=1, redeclare package Medium = Water, pipe=pipe, layers=slaCon, m_flow_nominal=0.504, A=6.645*1.51, length=45.11, disPip=sla4B2.A/sla4B2.length) "Radiant slab serving the north-central section of cell X3B. Name is taken from drawing M3.02"; Buildings.Fluid.Sources.Boundary_pT watOut4B2(nPorts=1, redeclare package Medium = Water) "Water outlet"; Modelica.Blocks.Sources.CombiTimeTable watCon4B3(tableOnFile=false, table=[0, 0.504,293.15; 86400,0.504,293.15]) "Inlet water conditions (y[1] = m_flow, y[2] = T)"; Buildings.Fluid.Sources.MassFlowSource_T watIn4B3( nPorts=1, use_m_flow_in=true, use_T_in=true, redeclare package Medium = Water) "Inlet water conditions (from central plant)"; Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab sla4B3( sysTyp=Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Types.SystemType.Floor, iLayPip=1, redeclare package Medium = Water, pipe=pipe, layers=slaCon, m_flow_nominal=0.504, A=6.645*0.91, disPip=sla4B3.A/sla4B3.length, length=37.49) "Radiant slab serving the south-central section of cell X3B. Name is taken from drawing M3.02"; Buildings.Fluid.Sources.Boundary_pT watOut4B3(nPorts=1, redeclare package Medium = Water) "Water outlet"; Modelica.Blocks.Sources.CombiTimeTable watCon4B4(tableOnFile=false, table=[0, 0.504,293.15; 86400,0.504,293.15]) "Inlet water conditions (y[1] = m_flow, y[2] = T)"; Buildings.Fluid.Sources.MassFlowSource_T watIn4B4( nPorts=1, use_m_flow_in=true, use_T_in=true, redeclare package Medium = Water) "Inlet water conditions (from central plant)"; Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab sla4B4( sysTyp=Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Types.SystemType.Floor, iLayPip=1, redeclare package Medium = Water, pipe=pipe, layers=slaCon, m_flow_nominal=0.504, A=6.645*3.65, disPip=sla4B4.A/sla4B4.length, length=48.77) "Radiant slab serving the south section of cell X3B. Name is taken from drawing M3.02"; Buildings.Fluid.Sources.Boundary_pT watOut4B4(nPorts=1, redeclare package Medium = Water) "Water outlet"; equationconnect(X3B.surf_conBou[2], BClo.surf_surBou[1]); connect(X3B.surf_conBou[3], BClo.surf_surBou[2]); connect(X3B.surf_conBou[4], BEle.surf_surBou[1]); connect(BClo.surf_conBou[1], BEle.surf_surBou[2]); connect(X3A.surf_surBou[5], X3B.surf_conBou[1]); connect(AClo.surf_surBou[3], BClo.surf_conBou[2]); connect(X3A.surf_conBou[2], AClo.surf_surBou[1]); connect(X3A.surf_conBou[3], AClo.surf_surBou[2]); connect(AEle.surf_surBou[2], AClo.surf_conBou[1]); connect(weaDat.weaBus, AEle.weaBus); connect(weaDat.weaBus, AClo.weaBus); connect(weaDat.weaBus, X3A.weaBus); connect(weaDat.weaBus, BClo.weaBus); connect(weaDat.weaBus, X3B.weaBus); connect(weaDat.weaBus, BEle.weaBus); connect(X3A.surf_conBou[4], AEle.surf_surBou[1]); connect(intGaiCloB.y, BClo.qGai_flow); connect(intGaiCloA.y, AClo.qGai_flow); connect(intGaiEleA.y, AEle.qGai_flow); connect(intGaiEleB.y, BEle.qGai_flow); connect(shaPosA.y, X3A.uSha); connect(shaPosB.y, X3B.uSha); connect(intGaiA.y, X3A.qGai_flow); connect(intGaiB.y, X3B.qGai_flow); connect(airOutCloA.ports[1], AClo.ports[1]); connect(airInCloA.ports[1], AClo.ports[1]); connect(airConCloA.y[2], airInCloA.m_flow_in); connect(airConCloA.y[4], airInCloA.T_in); connect(airConCloB.y[2], airInCloB.m_flow_in); connect(airConCloB.y[4], airInCloB.T_in); connect(airOutCloB.ports[1], BClo.ports[1]); connect(airInCloB.ports[1], BClo.ports[2]); connect(airConA.y[1], airInA.m_flow_in); connect(airConA.y[4], airInA.T_in); connect(airInA.ports[1], X3A.ports[1]); connect(airOutA.ports[1], X3A.ports[2]); connect(airConB.y[1], airInB.m_flow_in); connect(airConB.y[4], airInB.T_in); connect(airInB.ports[1], X3B.ports[1]); connect(airOutB.ports[1], X3B.ports[2]); connect(airConEleA.y[3], airInEleA.m_flow_in); connect(airConEleA.y[4], airInEleA.T_in); connect(airOutEleA.ports[1], AEle.ports[1]); connect(airInEleA.ports[1], AEle.ports[2]); connect(TGro.y[1],preT. T); connect(TNei.y[1], preT2.T); connect(preT2.port, X3A.surf_conBou[1]); connect(preT.port, BClo.surf_conBou[3]); connect(preT.port, BEle.surf_conBou[1]); connect(preT.port, AEle.surf_conBou[1]); connect(preT.port, AClo.surf_conBou[2]); connect(airConEleB.y[4], airInEleB.T_in); connect(airConEleB.y[3], airInEleB.m_flow_in); connect(airOutEleB.ports[1], BEle.ports[1]); connect(airInEleB.ports[1], BEle.ports[2]); connect(watIn4A1.ports[1],sla4A1. port_a); connect(watCon4A1.y[1],watIn4A1. m_flow_in); connect(watCon4A1.y[2],watIn4A1. T_in); connect(watCon4A2.y[1],watIn4A2. m_flow_in); connect(watCon4A2.y[2],watIn4A2. T_in); connect(watIn4A2.ports[1],sla4A2. port_a); connect(sla4A2.port_b,watOut4A2. ports[1]); connect(watCon4A3.y[1],watIn4A3. m_flow_in); connect(watCon4A3.y[2],watIn4A3. T_in); connect(watIn4A3.ports[1],sla4A3. port_a); connect(sla4A3.port_b,watOut4A3. ports[1]); connect(watCon4A4.y[1],watIn4A4. m_flow_in); connect(watCon4A4.y[2],watIn4A4. T_in); connect(watIn4A4.ports[1],sla4A4. port_a); connect(sla4A4.port_b,watOut4A4. ports[1]); connect(sla4A1.port_b,watOut4A1. ports[1]); connect(preT.port, sla4A1.surf_b); connect(sla4A1.surf_a, X3A.surf_surBou[1]); connect(sla4A2.surf_a, X3A.surf_surBou[2]); connect(preT.port, sla4A2.surf_b); connect(preT.port, sla4A3.surf_b); connect(sla4A3.surf_a, X3A.surf_surBou[3]); connect(sla4A4.surf_a, X3A.surf_surBou[4]); connect(preT.port, sla4A4.surf_b); connect(watIn4B1.ports[1],sla4B1. port_a); connect(sla4B1.port_b, watOut4B1.ports[1]); connect(watCon4B1.y[2], watIn4B1.T_in); connect(watCon4B1.y[1], watIn4B1.m_flow_in); connect(preT.port, sla4B1.surf_b); connect(sla4B1.surf_a, X3B.surf_surBou[1]); connect(sla4B2.port_b, watOut4B2.ports[1]); connect(watIn4B2.ports[1], sla4B2.port_a); connect(watCon4B2.y[2], watIn4B2.T_in); connect(watCon4B2.y[1], watIn4B2.m_flow_in); connect(preT.port, sla4B2.surf_b); connect(sla4B2.surf_a, X3B.surf_surBou[2]); connect(watOut4B3.ports[1], sla4B3.port_b); connect(sla4B3.port_a, watIn4B3.ports[1]); connect(watCon4B3.y[2], watIn4B3.T_in); connect(watCon4B3.y[1], watIn4B3.m_flow_in); connect(preT.port, sla4B3.surf_b); connect(sla4B3.surf_a, X3B.surf_surBou[3]); connect(watOut4B4.ports[1], sla4B4.port_b); connect(sla4B4.port_a, watIn4B4.ports[1]); connect(watCon4B4.y[2], watIn4B4.T_in); connect(watCon4B4.y[1], watIn4B4.m_flow_in); connect(preT.port, sla4B4.surf_b); connect(sla4B4.surf_a, X3B.surf_surBou[4]); end TestBedX3WithRadiantFloor;
This model demonstrates one potential simulation using the models available in Buildings.Rooms.FLEXLAB.Rooms.X3B. This model is nearly identical to Buildings.Rooms.FLEXLAB.Rooms.Examples.X3AWithRadiantFloor. For a description of most of the connections and reasons behind them see that documentation. The changes to make this example model are:
Type | Name | Default | Description |
---|---|---|---|
Generic | slaCon | Construction of the slab | |
PEX_RADTEST | pipe |
model X3BWithRadiantFloor "Example model showing a use of X3B" extends Modelica.Icons.Example; package Air = Buildings.Media.GasesConstantDensity.MoistAirUnsaturated "Air model used in the example model"; package Water = Buildings.Media.ConstantPropertyLiquidWater "Water model used in the radiant slab loop";Buildings.Rooms.FLEXLAB.Rooms.X3B.TestCell X3B( nPorts=2, redeclare package Medium = Air, linearizeRadiation=false); Modelica.Blocks.Sources.CombiTimeTable intGai(table=[0,0,0,0; 86400,0,0,0], tableOnFile=false) "Internal gain heat flow (Radiant = 1, Convective = 2, Latent = 3)"; Modelica.Blocks.Sources.CombiTimeTable shaPos(table=[0,1; 86400,1], tableOnFile=false) "Position of the shade"; Modelica.Blocks.Sources.CombiTimeTable airCon(table=[0,0.1,293.15; 86400,0.1,293.15], tableOnFile=true, tableName="airCon", fileName=ModelicaServices.ExternalReferences.loadResource( "modelica://Buildings/Resources/Data/Rooms/FLEXLAB/Rooms/Examples/X3AWithRadiantFloor.txt"), columns=2:5) "Inlet air conditions (y[1] = m_flow, y[2] = T)"; Buildings.Fluid.Sources.MassFlowSource_T airIn( use_m_flow_in=true, use_T_in=true, redeclare package Medium = Air, nPorts=1) "Inlet air conditions (from AHU) for X3A"; Buildings.Fluid.Sources.Boundary_pT airOut(nPorts=1, redeclare package Medium = Air) "Air outlet for X3A"; Buildings.HeatTransfer.Sources.PrescribedTemperature preT "Temperature of the ground"; Modelica.Blocks.Sources.CombiTimeTable TGro( table=[0,288.15; 86400,288.15], tableOnFile=false); parameter Buildings.HeatTransfer.Data.OpaqueConstructions.Generic slaCon(nLay=3, material={ Buildings.HeatTransfer.Data.Solids.Generic( x=0.1524, k=1.13, c=1000, d=1400, nSta=5), Buildings.HeatTransfer.Data.Solids.Generic( x=0.127, k=0.036, c=1200, d=40), Buildings.HeatTransfer.Data.Solids.Generic( x=0.2, k=1.8, c=1100, d=2400)}) "Construction of the slab"; parameter Buildings.Fluid.Data.Pipes.PEX_RADTEST pipe(dOut=0.015875, dIn=0.01905); Buildings.BoundaryConditions.WeatherData.ReaderTMY3 weaDat(filNam= "/Resources/weatherdata/USA_CA_San.Francisco.Intl.AP.724940_TMY3.mos"); Buildings.HeatTransfer.Sources.PrescribedTemperature preT2; Buildings.Rooms.FLEXLAB.Rooms.X3B.Electrical ele(redeclare package Medium = Air, nPorts=2) "Model of the electrical room"; Buildings.Rooms.FLEXLAB.Rooms.X3B.Closet clo( redeclare package Medium = Air, nPorts=2) "Model of the closet"; Modelica.Blocks.Sources.CombiTimeTable TNei( tableOnFile=false, table=[0,293.15; 86400,293.15]) "Temperature of the neighboring test cell (y[1] = X3A)"; Modelica.Blocks.Sources.CombiTimeTable intGaiEle( table=[0,0,0,0; 86400,0,0,0], tableOnFile=false) "Internal gain heat flow for the electrical room"; Modelica.Blocks.Sources.CombiTimeTable airConEle( tableOnFile=true, tableName="airCon", fileName=ModelicaServices.ExternalReferences.loadResource( "modelica://Buildings/Resources/Data/Rooms/FLEXLAB/Rooms/Examples/X3AWithRadiantFloor.txt"), columns=2:5) "Inlet air conditions for the connected electrical room (y[1] = m_flow, y[2] = T)"; Modelica.Blocks.Sources.CombiTimeTable airConClo( tableOnFile=true, tableName="airCon", fileName=ModelicaServices.ExternalReferences.loadResource( "modelica://Buildings/Resources/Data/Rooms/FLEXLAB/Rooms/Examples/X3AWithRadiantFloor.txt"), columns=2:5) "Inlet air conditions for the connected closet (y[1] = m_flow, y[2] = T)"; Buildings.Fluid.Sources.MassFlowSource_T airInEle( use_m_flow_in=true, use_T_in=true, redeclare package Medium = Air, nPorts=1) "Inlet air conditions (from AHU) for the electrical room"; Buildings.Fluid.Sources.Boundary_pT airOutEle(nPorts=1, redeclare package Medium = Air) "Air outlet from the electrical room"; Buildings.Fluid.Sources.MassFlowSource_T airInClo( use_m_flow_in=true, use_T_in=true, redeclare package Medium = Air, nPorts=1) "Inlet air conditions (from AHU) for the closet"; Buildings.Fluid.Sources.Boundary_pT airOutClo( redeclare package Medium = Air, nPorts=1) "Air outlet from the closet"; Modelica.Blocks.Sources.CombiTimeTable intGaiClo( table=[0,0,0,0; 86400,0,0,0], tableOnFile=false) "Internal gain heat flow for the closet"; inner Modelica.Fluid.System system; Modelica.Blocks.Sources.CombiTimeTable watCon4B2(tableOnFile=false, table=[0, 0.504,293.15; 86400,0.504,293.15]) "Inlet water conditions (y[1] = m_flow, y[2] = T)"; Modelica.Blocks.Sources.CombiTimeTable watCon4B3(tableOnFile=false, table=[0, 0.504,293.15; 86400,0.504,293.15]) "Inlet water conditions (y[1] = m_flow, y[2] = T)"; Buildings.Fluid.Sources.MassFlowSource_T watIn4B3( nPorts=1, use_m_flow_in=true, use_T_in=true, redeclare package Medium = Water) "Inlet water conditions (from central plant)"; Modelica.Blocks.Sources.CombiTimeTable watCon4B4(tableOnFile=false, table=[0, 0.504,293.15; 86400,0.504,293.15]) "Inlet water conditions (y[1] = m_flow, y[2] = T)"; Buildings.Fluid.Sources.MassFlowSource_T watIn4B4( nPorts=1, use_m_flow_in=true, use_T_in=true, redeclare package Medium = Water) "Inlet water conditions (from central plant)"; Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab sla4B4( sysTyp=Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Types.SystemType.Floor, iLayPip=1, redeclare package Medium = Water, pipe=pipe, layers=slaCon, m_flow_nominal=0.504, A=6.645*3.65, disPip=sla4B4.A/sla4B4.length, length=48.77) "Radiant slab serving the south section of cell X3B. Name is taken from drawing M3.02"; Buildings.Fluid.Sources.Boundary_pT watOut4B4(nPorts=1, redeclare package Medium = Water) "Water outlet"; Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab sla4B3( sysTyp=Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Types.SystemType.Floor, iLayPip=1, redeclare package Medium = Water, pipe=pipe, layers=slaCon, m_flow_nominal=0.504, A=6.645*0.91, disPip=sla4B3.A/sla4B3.length, length=37.49) "Radiant slab serving the south-central section of cell X3B. Name is taken from drawing M3.02"; Buildings.Fluid.Sources.Boundary_pT watOut4B3(nPorts=1, redeclare package Medium = Water) "Water outlet"; Buildings.Fluid.Sources.MassFlowSource_T watIn4B2( nPorts=1, use_m_flow_in=true, use_T_in=true, redeclare package Medium = Water) "Inlet water conditions (from central plant)"; Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab sla4B2( sysTyp=Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Types.SystemType.Floor, iLayPip=1, redeclare package Medium = Water, pipe=pipe, layers=slaCon, m_flow_nominal=0.504, A=6.645*1.51, length=45.11, disPip=sla4B2.A/sla4B2.length) "Radiant slab serving the north-central section of cell X3B. Name is taken from drawing M3.02"; Buildings.Fluid.Sources.Boundary_pT watOut4B2(nPorts=1, redeclare package Medium = Water) "Water outlet"; Modelica.Blocks.Sources.CombiTimeTable watCon4B1(tableOnFile=false, table=[0, 0.504,293.15; 86400,0.504,293.15]) "Inlet water conditions (y[1] = m_flow, y[2] = T)"; Buildings.Fluid.Sources.MassFlowSource_T watIn4B1( nPorts=1, use_m_flow_in=true, use_T_in=true, redeclare package Medium = Water) "Inlet water conditions (from central plant)"; Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab sla4B1( sysTyp=Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Types.SystemType.Floor, iLayPip=1, redeclare package Medium = Water, pipe=pipe, layers=slaCon, m_flow_nominal=0.504, A=6.645*3.09, disPip=sla4B1.A/sla4B1.length, length=38.71) "Radiant slab serving the north side of cell X3B. Name is taken from drawing M3.02"; Buildings.Fluid.Sources.Boundary_pT watOut4B1(nPorts=1, redeclare package Medium = Water) "Water outlet"; equationconnect(airCon.y[1],airIn. m_flow_in); connect(airCon.y[4],airIn. T_in); connect(airIn.ports[1],X3B. ports[1]); connect(airOut.ports[1],X3B. ports[2]); connect(TGro.y[1],preT. T); connect(weaDat.weaBus,X3B. weaBus); connect(shaPos.y,X3B. uSha); connect(weaDat.weaBus, ele.weaBus); connect(weaDat.weaBus,clo. weaBus); connect(airConEle.y[4], airInEle.T_in); connect(airInEle.ports[1], ele.ports[1]); connect(ele.ports[2], airOutEle.ports[1]); connect(ele.surf_surBou[2], clo.surf_conBou[1]); connect(airInClo.ports[1],clo. ports[1]); connect(airConClo.y[4], airInClo.T_in); connect(airConEle.y[3], airInEle.m_flow_in); connect(airConClo.y[2], airInClo.m_flow_in); connect(airOutClo.ports[1],clo. ports[2]); connect(intGai.y,X3B. qGai_flow); connect(intGaiEle.y, ele.qGai_flow); connect(intGaiClo.y,clo. qGai_flow); connect(preT.port,clo. surf_conBou[3]); connect(ele.surf_conBou[1], preT.port); connect(X3B.surf_conBou[2], clo.surf_surBou[1]); connect(X3B.surf_conBou[3], clo.surf_surBou[2]); connect(X3B.surf_conBou[4], ele.surf_surBou[1]); connect(TNei.y[1], preT2.T); connect(preT2.port, X3B.surf_conBou[1]); connect(preT2.port, clo.surf_conBou[2]); connect(watCon4B2.y[1],watIn4B2. m_flow_in); connect(watCon4B2.y[2],watIn4B2. T_in); connect(watCon4B3.y[1],watIn4B3. m_flow_in); connect(watCon4B3.y[2],watIn4B3. T_in); connect(watCon4B4.y[1],watIn4B4. m_flow_in); connect(watCon4B4.y[2],watIn4B4. T_in); connect(watIn4B4.ports[1],sla4B4. port_a); connect(watIn4B3.ports[1],sla4B3. port_a); connect(sla4B4.port_b,watOut4B4. ports[1]); connect(sla4B3.port_b,watOut4B3. ports[1]); connect(watIn4B2.ports[1],sla4B2. port_a); connect(sla4B2.port_b,watOut4B2. ports[1]); connect(watCon4B1.y[2],watIn4B1. T_in); connect(watIn4B1.ports[1],sla4B1. port_a); connect(sla4B1.port_b,watOut4B1. ports[1]); connect(preT.port, sla4B1.surf_b); connect(preT.port, sla4B2.surf_b); connect(preT.port, sla4B3.surf_b); connect(preT.port, sla4B4.surf_b); connect(sla4B1.surf_a, X3B.surf_surBou[1]); connect(sla4B2.surf_a, X3B.surf_surBou[2]); connect(sla4B3.surf_a, X3B.surf_surBou[3]); connect(sla4B4.surf_a, X3B.surf_surBou[4]); connect(watCon4B1.y[1], watIn4B1.m_flow_in); end X3BWithRadiantFloor;