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).| Name | Description |
|---|---|
| Test model for air heat and mass balance | |
| Test model for the HeatGain model | |
| Test model for infrared radiation gain | |
| Test model for infrared radiation exchange | |
| Test model for the radiation temperature | |
| Package with base classes for Buildings.Rooms.BaseClasses.Examples |
Buildings.Rooms.BaseClasses.Examples.AirHeatMassBalance
| 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 |
| Generic | surBou[NSurBou] | surBou(each A=1) | Record for data of surfaces whose heat conduction is modeled outside of this room |
| 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 |
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.IdealGases.SimpleAir,
m_flow_nominal=0.1,
V=10,
conMod=Buildings.HeatTransfer.Types.InteriorConvection.Fixed,
hFixed=3,
haveShade=datConExtWin[1].glaSys.haveShade)
"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";
inner Modelica.Fluid.System system;
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;
Buildings.Rooms.BaseClasses.Examples.HeatGain
| Type | Name | Default | Description |
|---|---|---|---|
| Area | AFlo | 50 | Floor area [m2] |
model HeatGain "Test model for the HeatGain model"
extends Modelica.Icons.Example;
package MediumA = Buildings.Media.GasesPTDecoupled.MoistAirUnsaturated
"Medium model";
Buildings.Rooms.BaseClasses.HeatGain 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);
inner Modelica.Fluid.System system;
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);
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 HeatGain;
Buildings.Rooms.BaseClasses.Examples.InfraredRadiationGainDistribution
| 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 |
| Generic | surBou[NSurBou] | surBou(each A=1) | Record for data of surfaces whose heat conduction is modeled outside of this room |
| 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 |
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"; equationconnect(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;
Buildings.Rooms.BaseClasses.Examples.InfraredRadiationExchange
| 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 |
| Generic | surBou[NSurBou] | surBou(each A=1) | Record for data of surfaces whose heat conduction is modeled outside of this room |
| 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 |
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"; equationconnect(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;
Buildings.Rooms.BaseClasses.Examples.RadiationTemperature
| 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 |
| Generic | surBou[NSurBou] | surBou(each A=1) | Record for data of surfaces whose heat conduction is modeled outside of this room |
| 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 |
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;