Collection of models that illustrate model use and test models
Information
This package contains examples for the use of models that can be found in
Buildings.Rooms.BaseClasses.
Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).
Package Content
Test model for air heat and mass balance
Information
This model test the heat and mass balance of the room air, which should
stay at 20°C.
Extends from Modelica.Icons.Example (Icon for runnable examples), Buildings.Rooms.BaseClasses.Examples.BaseClasses.PartialInfraredRadiation (Partial model to test infrared radiation inside the room).
Parameters
Type | Name | Default | Description |
ParameterConstruction | datConExt[NConExt] | datConExt(each A=1) | Data for exterior construction |
ParameterConstructionWithWindow | datConExtWin[NConExtWin] | datConExtWin(each A=1, each ... | Data for exterior construction with window |
ParameterConstruction | datConPar[NConPar] | datConPar(each A=1) | Data for partition construction |
ParameterConstruction | datConBou[NConBou] | datConBou(each A=1) | Data for construction boundary |
OpaqueSurface | surBou[NSurBou] | surBou(each A=1) | Record for data of surfaces whose heat conduction is modeled outside of this room |
Brick120 | dummyCon | | Dummy construction to assign a parameter to the instance |
SingleClear3 | dummyGlaSys | | Dummy construction to assign a parameter to the instance |
Exterior constructions |
Integer | nConExt | 1 | Number of exterior constructions |
Integer | nConExtWin | 0 | Number of window constructions |
Partition constructions |
Integer | nConPar | 0 | Number of partition constructions |
Boundary constructions |
Integer | nConBou | 0 | Number of constructions that have their outside surface exposed to the boundary of this room |
Integer | nSurBou | 0 | Number of surface heat transfer models that connect to constructions that are modeled outside of this room |
Modelica definition
model AirHeatMassBalance
"Test model for air heat and mass balance"
extends Modelica.Icons.Example;
extends Buildings.Rooms.BaseClasses.Examples.BaseClasses.PartialInfraredRadiation
(
nConExt=1, nConExtWin=0, nConBou=0, nSurBou=0, nConPar=0);
Buildings.Rooms.BaseClasses.AirHeatMassBalanceMixed air(
nConExt=nConExt,
nConExtWin=nConExtWin,
nConPar=nConPar,
nConBou=nConBou,
nSurBou=nSurBou,
final datConExt=datConExt,
final datConExtWin=datConExtWin,
final datConPar=datConPar,
final datConBou=datConBou,
final surBou=surBou,
redeclare package Medium =
Buildings.Media.Air,
m_flow_nominal=0.1,
V=10,
conMod=Buildings.HeatTransfer.Types.InteriorConvection.Fixed,
hFixed=3,
haveShade=datConExtWin[1].glaSys.haveShade,
energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial)
"Convective heat balance of air";
protected
Modelica.Thermal.HeatTransfer.Components.ThermalConductor conGlaSha[
NConExtWin](
each G=100)
"Heat conductor";
Buildings.HeatTransfer.Sources.FixedTemperature bouConGlaSha[NConExtWin](
each T=293.15)
"Boundary condition";
Modelica.Thermal.HeatTransfer.Components.ThermalConductor conGlaUns[
NConExtWin](
each G=100)
"Heat conductor";
Buildings.HeatTransfer.Sources.FixedTemperature bouConGlaUns[NConExtWin](
each T=293.15)
"Boundary condition";
public
Modelica.Thermal.HeatTransfer.Sources.FixedHeatFlow QCon_flow(Q_flow=0)
"Convective heat input";
Modelica.Blocks.Sources.Constant uSha[NConExtWin](
each k=0)
"Shade control signal";
Modelica.Blocks.Sources.Constant QRadAbs_flow[NConExtWin](
each k=0)
"Radiation absorbed by shade";
equation
connect(conConExt.port_a, air.conExt);
connect(conConExtWin.port_a, air.conExtWin);
connect(conConExtWinFra.port_a, air.conExtWinFra);
connect(conConPar_a.port_a, air.conPar_a);
connect(conConPar_b.port_a, air.conPar_b);
connect(conConBou.port_a, air.conBou);
connect(conSurBou.port_a, air.conSurBou);
connect(bouConGlaUns.port, conGlaUns.port_b);
connect(conGlaUns.port_a, air.glaUns);
connect(bouConGlaSha.port, conGlaSha.port_b);
connect(conGlaSha.port_a, air.glaSha);
connect(air.heaPorAir, QCon_flow.port);
connect(uSha.y, air.uSha);
connect(QRadAbs_flow.y, air.QRadAbs_flow);
end AirHeatMassBalance;
Test model for the CFDHeatGain model
Information
This example tests the model for the internal heat gain that is used in the CFD model.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
Type | Name | Default | Description |
Area | AFlo | 50 | Floor area [m2] |
Modelica definition
Test model for infrared radiation exchange
Information
Test model for the infrared radiation exchange.
Extends from Modelica.Icons.Example (Icon for runnable examples), Buildings.Rooms.BaseClasses.Examples.BaseClasses.PartialInfraredRadiation (Partial model to test infrared radiation inside the room).
Parameters
Type | Name | Default | Description |
ParameterConstruction | datConExt[NConExt] | datConExt(each A=1) | Data for exterior construction |
ParameterConstructionWithWindow | datConExtWin[NConExtWin] | datConExtWin(each A=1, each ... | Data for exterior construction with window |
ParameterConstruction | datConPar[NConPar] | datConPar(each A=1) | Data for partition construction |
ParameterConstruction | datConBou[NConBou] | datConBou(each A=1) | Data for construction boundary |
OpaqueSurface | surBou[NSurBou] | surBou(each A=1) | Record for data of surfaces whose heat conduction is modeled outside of this room |
Brick120 | dummyCon | | Dummy construction to assign a parameter to the instance |
SingleClear3 | dummyGlaSys | | Dummy construction to assign a parameter to the instance |
Exterior constructions |
Integer | nConExt | 1 | Number of exterior constructions |
Integer | nConExtWin | 1 | Number of window constructions |
Partition constructions |
Integer | nConPar | 1 | Number of partition constructions |
Boundary constructions |
Integer | nConBou | 1 | Number of constructions that have their outside surface exposed to the boundary of this room |
Integer | nSurBou | 1 | Number of surface heat transfer models that connect to constructions that are modeled outside of this room |
Modelica definition
model InfraredRadiationExchange
"Test model for infrared radiation exchange"
extends Modelica.Icons.Example;
extends Buildings.Rooms.BaseClasses.Examples.BaseClasses.PartialInfraredRadiation;
Buildings.Rooms.BaseClasses.InfraredRadiationExchange irRadExc(
nConExt=nConExt,
nConExtWin=nConExtWin,
nConPar=nConPar,
nConBou=nConBou,
nSurBou=nSurBou,
final datConExt=datConExt,
final datConExtWin=datConExtWin,
final datConPar=datConPar,
final datConBou=datConBou,
final surBou=surBou,
linearizeRadiation=true)
"Distribution for infrared radiative heat transfer";
Buildings.HeatTransfer.Radiosity.Constant radSou[NConExtWin](
each k=187)
"Radiosity source for window";
equation
connect(conConExt.port_a, irRadExc.conExt);
connect(conConExtWin.port_a, irRadExc.conExtWin);
connect(conConExtWinFra.port_a, irRadExc.conExtWinFra);
connect(conConPar_a.port_a, irRadExc.conPar_a);
connect(conConPar_b.port_a, irRadExc.conPar_b);
connect(conConBou.port_a, irRadExc.conBou);
connect(conSurBou.port_a, irRadExc.conSurBou);
connect(radSou.JOut, irRadExc.JInConExtWin);
end InfraredRadiationExchange;
Test model for infrared radiation gain
Information
Test model for the distribution of the infrared radiation heat gain.
Extends from Modelica.Icons.Example (Icon for runnable examples), Buildings.Rooms.BaseClasses.Examples.BaseClasses.PartialInfraredRadiation (Partial model to test infrared radiation inside the room).
Parameters
Type | Name | Default | Description |
ParameterConstruction | datConExt[NConExt] | datConExt(each A=1) | Data for exterior construction |
ParameterConstructionWithWindow | datConExtWin[NConExtWin] | datConExtWin(each A=1, each ... | Data for exterior construction with window |
ParameterConstruction | datConPar[NConPar] | datConPar(each A=1) | Data for partition construction |
ParameterConstruction | datConBou[NConBou] | datConBou(each A=1) | Data for construction boundary |
OpaqueSurface | surBou[NSurBou] | surBou(each A=1) | Record for data of surfaces whose heat conduction is modeled outside of this room |
Brick120 | dummyCon | | Dummy construction to assign a parameter to the instance |
SingleClear3 | dummyGlaSys | | Dummy construction to assign a parameter to the instance |
Exterior constructions |
Integer | nConExt | 1 | Number of exterior constructions |
Integer | nConExtWin | 1 | Number of window constructions |
Partition constructions |
Integer | nConPar | 1 | Number of partition constructions |
Boundary constructions |
Integer | nConBou | 1 | Number of constructions that have their outside surface exposed to the boundary of this room |
Integer | nSurBou | 1 | Number of surface heat transfer models that connect to constructions that are modeled outside of this room |
Modelica definition
model InfraredRadiationGainDistribution
"Test model for infrared radiation gain"
extends Modelica.Icons.Example;
extends Buildings.Rooms.BaseClasses.Examples.BaseClasses.PartialInfraredRadiation;
Buildings.Rooms.BaseClasses.InfraredRadiationGainDistribution irRadGai(
nConExt=nConExt,
nConExtWin=nConExtWin,
nConPar=nConPar,
nConBou=nConBou,
nSurBou=nSurBou,
final datConExt=datConExt,
final datConExtWin=datConExtWin,
final datConPar=datConPar,
final datConBou=datConBou,
final surBou=surBou,
haveShade=true)
"Distribution for infrared radiative heat gains (e.g., due to equipment and people)";
protected
Modelica.Blocks.Sources.Constant QRad_flow(k=1)
"Radiative heat gain";
Modelica.Blocks.Sources.Constant zer[NConExtWin](
each k=0)
"Outputs zero. This block is needed to send a signal to the shading connector if no window is used in the room model";
equation
connect(conConExt.port_a, irRadGai.conExt);
connect(conConExtWin.port_a, irRadGai.conExtWin);
connect(conConExtWinFra.port_a, irRadGai.conExtWinFra);
connect(conConPar_a.port_a, irRadGai.conPar_a);
connect(conConPar_b.port_a, irRadGai.conPar_b);
connect(conConBou.port_a, irRadGai.conBou);
connect(conSurBou.port_a, irRadGai.conSurBou);
connect(QRad_flow.y, irRadGai.Q_flow);
connect(zer.y, irRadGai.uSha);
end InfraredRadiationGainDistribution;
Test model for the MixedAirHeatGain model
Information
This example tests the model for the internal heat gain that is used in the mixed air room model.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
Type | Name | Default | Description |
Area | AFlo | 50 | Floor area [m2] |
Modelica definition
model MixedAirHeatGain
"Test model for the MixedAirHeatGain model"
extends Modelica.Icons.Example;
package MediumA =
Buildings.Media.Air "Medium model";
Buildings.Rooms.BaseClasses.MixedAirHeatGain heatGain(
redeclare package
Medium =
MediumA, AFlo=AFlo);
Modelica.Blocks.Sources.Constant qConGai_flow(k=10)
"Convective heat gain";
Modelica.Blocks.Sources.Constant qRadGai_flow1(k=0)
"Radiative heat gain";
Modelica.Blocks.Routing.Multiplex3 multiplex3_1;
Modelica.Blocks.Sources.Constant qLatGai_flow(k=10)
"Latent heat gain";
Buildings.Fluid.Sensors.SensibleEnthalpyFlowRate QSen_flow(
redeclare package
Medium = MediumA, m_flow_nominal=2E-4,
tau=0);
Buildings.Fluid.Sensors.LatentEnthalpyFlowRate QLat_flow(
redeclare package
Medium = MediumA, m_flow_nominal=2E-4,
tau=0);
Buildings.Fluid.Sources.Boundary_pT boundary(
redeclare package
Medium = MediumA, nPorts=1);
Buildings.Utilities.Diagnostics.AssertEquality assertEquality;
parameter Modelica.SIunits.Area AFlo=50
"Floor area";
Modelica.Blocks.Math.Gain gainLat(k=AFlo);
Buildings.Utilities.Diagnostics.AssertEquality assertEquality1;
Buildings.Fluid.MixingVolumes.MixingVolume vol(
nPorts=2,
redeclare package Medium = MediumA,
V=AFlo*2.5,
m_flow_nominal=1E-3,
energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial);
Modelica.Blocks.Sources.Constant qSenAir_flow(k=0)
"Sensible heat flow of air stream (must be zero)";
equation
connect(qRadGai_flow1.y,multiplex3_1. u1[1]);
connect(qConGai_flow.y,multiplex3_1. u2[1]);
connect(qLatGai_flow.y, multiplex3_1.u3[1]);
connect(multiplex3_1.y, heatGain.qGai_flow);
connect(heatGain.QLat_flow, QSen_flow.port_a);
connect(QSen_flow.port_b, QLat_flow.port_a);
connect(assertEquality.u2, QSen_flow.H_flow);
connect(assertEquality1.u2, QLat_flow.H_flow);
connect(gainLat.y, assertEquality1.u1);
connect(qLatGai_flow.y, gainLat.u);
connect(boundary.ports[1], vol.ports[1]);
connect(vol.ports[2], QLat_flow.port_b);
connect(qSenAir_flow.y, assertEquality.u1);
connect(heatGain.QCon_flow, vol.heatPort);
end MixedAirHeatGain;
Test model for air heat and mass balance
Information
Test model for the heat and mass balance of the room air.
Extends from Modelica.Icons.Example (Icon for runnable examples), Buildings.Rooms.BaseClasses.Examples.BaseClasses.PartialInfraredRadiation (Partial model to test infrared radiation inside the room).
Parameters
Type | Name | Default | Description |
ParameterConstruction | datConExt[NConExt] | datConExt(each A=1) | Data for exterior construction |
ParameterConstructionWithWindow | datConExtWin[NConExtWin] | datConExtWin(each A=1, each ... | Data for exterior construction with window |
ParameterConstruction | datConPar[NConPar] | datConPar(each A=1) | Data for partition construction |
ParameterConstruction | datConBou[NConBou] | datConBou(each A=1) | Data for construction boundary |
OpaqueSurface | surBou[NSurBou] | surBou(each A=1) | Record for data of surfaces whose heat conduction is modeled outside of this room |
Brick120 | dummyCon | | Dummy construction to assign a parameter to the instance |
SingleClear3 | dummyGlaSys | | Dummy construction to assign a parameter to the instance |
Exterior constructions |
Integer | nConExt | 1 | Number of exterior constructions |
Integer | nConExtWin | 0 | Number of window constructions |
Partition constructions |
Integer | nConPar | 0 | Number of partition constructions |
Boundary constructions |
Integer | nConBou | 0 | Number of constructions that have their outside surface exposed to the boundary of this room |
Integer | nSurBou | 0 | Number of surface heat transfer models that connect to constructions that are modeled outside of this room |
Modelica definition
model MixedAirHeatMassBalance
"Test model for air heat and mass balance"
extends Modelica.Icons.Example;
extends Buildings.Rooms.BaseClasses.Examples.BaseClasses.PartialInfraredRadiation
(
nConExt=1, nConExtWin=0, nConBou=0, nSurBou=0, nConPar=0);
package Medium =
Buildings.Media.Air "Medium model";
Buildings.Rooms.BaseClasses.MixedAirHeatMassBalance air(
nConExt=nConExt,
nConExtWin=nConExtWin,
nConPar=nConPar,
nConBou=nConBou,
nSurBou=nSurBou,
final datConExt=datConExt,
final datConExtWin=datConExtWin,
final datConPar=datConPar,
final datConBou=datConBou,
final surBou=surBou,
m_flow_nominal=0.1,
V=10,
conMod=Buildings.HeatTransfer.Types.InteriorConvection.Fixed,
hFixed=3,
haveShade=datConExtWin[1].glaSys.haveShade,
redeclare package Medium = Medium,
nPorts=1,
energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial)
"Convective heat balance of air";
protected
Modelica.Thermal.HeatTransfer.Components.ThermalConductor conGlaSha[
NConExtWin](
each G=100)
"Heat conductor";
Buildings.HeatTransfer.Sources.FixedTemperature bouConGlaSha[NConExtWin](
each T=293.15)
"Boundary condition";
Modelica.Thermal.HeatTransfer.Components.ThermalConductor conGlaUns[
NConExtWin](
each G=100)
"Heat conductor";
Buildings.HeatTransfer.Sources.FixedTemperature bouConGlaUns[NConExtWin](
each T=293.15)
"Boundary condition";
public
Modelica.Blocks.Sources.Constant uSha[NConExtWin](
each k=0)
"Shade control signal";
protected
Buildings.Rooms.BaseClasses.MixedAirHeatGain heaGai(
redeclare package Medium = Medium,
final AFlo=5)
"Model to convert internal heat gains";
public
Modelica.Blocks.Sources.Constant qRadGai_flow(k=0)
"Radiative heat gain";
Modelica.Blocks.Sources.Constant qConGai_flow(k=0)
"Convective heat gain";
Modelica.Blocks.Sources.Constant qLatGai_flow(k=0)
"Latent heat gain";
Modelica.Blocks.Routing.Multiplex3 multiplex3_1;
Modelica.Blocks.Sources.Constant QRadAbs_flow[NConExtWin](
each k=0)
"Radiation absorbed by shade";
Buildings.Fluid.Sources.FixedBoundary
boundary(
nPorts=1,
redeclare package Medium = Medium,
T=293.15)
"Boundary condition";
equation
connect(conConExt.port_a, air.conExt);
connect(conConExtWin.port_a, air.conExtWin);
connect(conConExtWinFra.port_a, air.conExtWinFra);
connect(conConPar_a.port_a, air.conPar_a);
connect(conConPar_b.port_a, air.conPar_b);
connect(conConBou.port_a, air.conBou);
connect(conSurBou.port_a, air.conSurBou);
connect(bouConGlaUns.port, conGlaUns.port_b);
connect(conGlaUns.port_a, air.glaUns);
connect(bouConGlaSha.port, conGlaSha.port_b);
connect(conGlaSha.port_a, air.glaSha);
connect(uSha.y, air.uSha);
connect(heaGai.QCon_flow, air.heaPorAir);
connect(heaGai.QLat_flow, air.QLat_flow);
connect(multiplex3_1.y, heaGai.qGai_flow);
connect(QRadAbs_flow.y, air.QRadAbs_flow);
connect(qRadGai_flow.y, multiplex3_1.u1[1]);
connect(qConGai_flow.y, multiplex3_1.u2[1]);
connect(qLatGai_flow.y, multiplex3_1.u3[1]);
connect(boundary.ports[1], air.ports[1]);
end MixedAirHeatMassBalance;
Test model for the radiation temperature
Information
Test model for the radiative temperature of the room.
Extends from Modelica.Icons.Example (Icon for runnable examples), Buildings.Rooms.BaseClasses.Examples.BaseClasses.PartialInfraredRadiation (Partial model to test infrared radiation inside the room).
Parameters
Type | Name | Default | Description |
ParameterConstruction | datConExt[NConExt] | datConExt(each A=1) | Data for exterior construction |
ParameterConstructionWithWindow | datConExtWin[NConExtWin] | datConExtWin(each A=1, each ... | Data for exterior construction with window |
ParameterConstruction | datConPar[NConPar] | datConPar(each A=1) | Data for partition construction |
ParameterConstruction | datConBou[NConBou] | datConBou(each A=1) | Data for construction boundary |
OpaqueSurface | surBou[NSurBou] | surBou(each A=1) | Record for data of surfaces whose heat conduction is modeled outside of this room |
Brick120 | dummyCon | | Dummy construction to assign a parameter to the instance |
SingleClear3 | dummyGlaSys | | Dummy construction to assign a parameter to the instance |
Exterior constructions |
Integer | nConExt | 1 | Number of exterior constructions |
Integer | nConExtWin | 1 | Number of window constructions |
Partition constructions |
Integer | nConPar | 1 | Number of partition constructions |
Boundary constructions |
Integer | nConBou | 1 | Number of constructions that have their outside surface exposed to the boundary of this room |
Integer | nSurBou | 1 | Number of surface heat transfer models that connect to constructions that are modeled outside of this room |
Modelica definition
model RadiationTemperature
"Test model for the radiation temperature"
extends Modelica.Icons.Example;
extends Buildings.Rooms.BaseClasses.Examples.BaseClasses.PartialInfraredRadiation
(
bouConExt(
each T=289.15),
bouConExtWin(
each T=290.15),
bouConExtWinFra(
each T=285.15),
bouConPar_b(
each T=291.15),
bouConBou(
each T=295.15),
bouSurBou(
each T=296.15));
Buildings.Rooms.BaseClasses.RadiationTemperature radTem(
nConExt=nConExt,
nConExtWin=nConExtWin,
nConPar=nConPar,
nConBou=nConBou,
nSurBou=nSurBou,
final datConExt=datConExt,
final datConExtWin=datConExtWin,
final datConPar=datConPar,
final datConBou=datConBou,
final surBou=surBou,
haveShade=true)
"Radiative temperature";
Modelica.Blocks.Sources.Constant uSha[NConExtWin](
each k=0.5)
"Shade control signal";
protected
Modelica.Thermal.HeatTransfer.Components.ThermalConductor conGlaUns[
NConExtWin](
each G=100)
"Heat conductor";
Modelica.Thermal.HeatTransfer.Components.ThermalConductor conGlaSha[
NConExtWin](
each G=100)
"Heat conductor";
Modelica.Thermal.HeatTransfer.Components.ThermalConductor conSha[NConExtWin](
each G=100)
"Heat conductor";
Buildings.HeatTransfer.Sources.FixedTemperature bouGlaUns[NConExtWin](
each T=
288.15)
"Boundary condition";
Buildings.HeatTransfer.Sources.FixedTemperature bouGlaSha[NConExtWin](
each T=
284.15)
"Boundary condition";
Buildings.HeatTransfer.Sources.FixedTemperature bouSha[NConExtWin](
each T=293.15)
"Boundary condition";
equation
connect(conConExt.port_a, radTem.conExt);
connect(conConExtWin.port_a, radTem.conExtWin);
connect(conConExtWinFra.port_a, radTem.conExtWinFra);
connect(conConPar_a.port_a, radTem.conPar_a);
connect(conConPar_b.port_a, radTem.conPar_b);
connect(conConBou.port_a, radTem.conBou);
connect(conSurBou.port_a, radTem.conSurBou);
connect(uSha.y, radTem.uSha);
connect(bouGlaUns.port, conGlaUns.port_b);
connect(bouGlaSha.port, conGlaSha.port_b);
connect(bouSha.port, conSha.port_b);
connect(radTem.glaUns, conGlaUns.port_a);
connect(radTem.glaSha, conGlaSha.port_a);
connect(radTem.sha, conSha.port_a);
end RadiationTemperature;
Automatically generated Mon Jul 13 14:30:42 2015.