Buildings.DHC.Loads.BaseClasses.Examples.BaseClasses.GeojsonExportRC.OfficeBuilding
Package with RC building zone models
Information
This package contains RC building zone models programmatically generated from a GeoJSON file.
Extends from Modelica.Icons.Package (Icon for standard packages).
Package Content
Name | Description |
---|---|
Floor | This is the simulation model of Floor within building OfficeBuilding |
ICT | This is the simulation model of ICT within building OfficeBuilding |
Meeting | This is the simulation model of Meeting within building OfficeBuilding |
Office | This is the simulation model of Office within building OfficeBuilding |
Restroom | This is the simulation model of Restroom within building OfficeBuilding |
Storage | This is the simulation model of Storage within building OfficeBuilding |
Buildings.DHC.Loads.BaseClasses.Examples.BaseClasses.GeojsonExportRC.OfficeBuilding.Floor
This is the simulation model of Floor within building OfficeBuilding
Connectors
Type | Name | Description |
---|---|---|
Bus | weaBus | Weather data bus |
HeatPort_a | port_a | Heat port for sensible convective gains |
output RealOutput | TAir | Room air temperature [K] |
Modelica definition
model Floor
"This is the simulation model of Floor within building OfficeBuilding"
Buildings.BoundaryConditions.SolarIrradiation.DiffusePerez HDifTil[6](
each outSkyCon=true,
each outGroCon=true,
til={1.5707963267949,1.5707963267949,1.5707963267949,1.5707963267949,0,0},
azi={3.1415926535898,0,1.5707963267949,-1.5707963267949,0,0})
"Calculates diffuse solar radiation on titled surface for all directions";
Buildings.BoundaryConditions.SolarIrradiation.DirectTiltedSurface HDirTil[6](til={
1.5707963267949,1.5707963267949,1.5707963267949,1.5707963267949,0,0},
azi={3.1415926535898,0,1.5707963267949,-1.5707963267949,0,0})
"Calculates direct solar radiation on titled surface for all directions";
Buildings.ThermalZones.ReducedOrder.SolarGain.CorrectionGDoublePane corGDoublePane(
n=6,
UWin=1.8936557576825381)
"Correction factor for solar transmission";
Buildings.ThermalZones.ReducedOrder.RC.TwoElements thermalZoneTwoElements(
redeclare package Medium=Buildings.Media.Air,
VAir=3261.7921338576007,
hConExt=2.0490178828959134,
hConWin=2.7000000000000006,
gWin=0.6699999999999999,
ratioWinConRad=0.029999999999999995,
nExt=1,
RExt={2.3174831586466932e-05},
CExt={408244783.5430907},
hRad=5.0,
AInt=5119.003369012401,
hConInt=2.3902922093005254,
nInt=1,
RInt={1.3425684356446266e-05},
CInt={573809361.8851968},
RWin=0.002198739011727672,
RExtRem=0.0012526070384860479,
energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
extWallRC(
thermCapExt(
each der_T(
fixed=true))),
intWallRC(
thermCapInt(
each der_T(
fixed=true))),
nOrientations=6,
AWin={74.54769655777831,74.54769655777831,6.910119334253305,6.910119334253305,0.0,0.0},
ATransparent={74.54769655777831,74.54769655777831,6.910119334253305,6.910119334253305,0.0,0.0},
AExt={223.64308967333497,223.64308967333497,20.730358002759914,20.730358002759914,455.8011269000001,455.8011269000001})
"Thermal zone";
Buildings.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007WithWindow
eqAirTemp(
n=6,
wfGro=0.3626976838332763,
wfWall={0.15582361279765053,0.15582361279765053,0.014443903825944522,0.014443903825944522,0.2967672829195336,0.0},
wfWin={0.4575846758314001,0.4575846758314001,0.04241532416859994,0.04241532416859994,0.0,0.0},
withLongwave=true,
aExt=0.5,
hConWallOut=20.0,
hRad=5.0,
hConWinOut=20.0,
TGro=286.15)
"Computes equivalent air temperature";
Modelica.Blocks.Math.Add solRad[6]
"Sums up solar radiation of both directions";
Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature prescribedTemperature
"Prescribed temperature for exterior walls outdoor surface temperature";
Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature prescribedTemperature1
"Prescribed temperature for windows outdoor surface temperature";
Modelica.Thermal.HeatTransfer.Components.Convection thermalConductorWin
"Outdoor convective heat transfer of windows";
Modelica.Thermal.HeatTransfer.Components.Convection thermalConductorWall
"Outdoor convective heat transfer of walls";
Modelica.Blocks.Sources.Constant const[6](
each k=0)
"Sets sunblind signal to zero (open)";
Buildings.BoundaryConditions.WeatherData.Bus weaBus
"Weather data bus";
Modelica.Blocks.Sources.Constant hConWall(
k=25.0*1400.34914915219)
"Outdoor coefficient of heat transfer for walls";
Modelica.Blocks.Sources.Constant hConWin(
k=25.0*162.91563178406324)
"Outdoor coefficient of heat transfer for windows";
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow personsRad
"Radiative heat flow of persons";
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow personsConv
"Convective heat flow of persons";
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow machinesConv
"Convective heat flow of machines";
Modelica.Blocks.Sources.CombiTimeTable internalGains(
tableOnFile=true,
extrapolation=Modelica.Blocks.Types.Extrapolation.Periodic,
tableName="Internals",
fileName=Modelica.Utilities.Files.loadResource(
"modelica://Buildings/Resources/Data/DHC/Loads/Examples/BaseClasses/GeojsonExportRC/OfficeBuilding/InternalGains_Floor.txt"),
columns={2,3,4})
"Table with profiles for persons (radiative and convective) and machines (convective)";
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a port_a
"Heat port for sensible convective gains";
Buildings.Controls.OBC.CDL.Interfaces.RealOutput TAir(
quantity="ThermodynamicTemperature",
unit="K",
displayUnit="degC")
"Room air temperature";
equation
connect(eqAirTemp.TEqAirWin,prescribedTemperature1.T);
connect(eqAirTemp.TEqAir,prescribedTemperature.T);
connect(weaBus.TDryBul,eqAirTemp.TDryBul);
connect(internalGains.y[1],personsRad.Q_flow);
connect(internalGains.y[2],personsConv.Q_flow);
connect(internalGains.y[3],machinesConv.Q_flow);
connect(const.y,eqAirTemp.sunblind);
connect(HDifTil.HSkyDifTil,corGDoublePane.HSkyDifTil);
connect(HDirTil.H,corGDoublePane.HDirTil);
connect(HDirTil.H,solRad.u1);
connect(HDirTil.inc,corGDoublePane.inc);
connect(HDifTil.H,solRad.u2);
connect(HDifTil.HGroDifTil,corGDoublePane.HGroDifTil);
connect(solRad.y,eqAirTemp.HSol);
connect(weaBus,HDifTil[1].weaBus);
connect(weaBus,HDirTil[1].weaBus);
connect(weaBus,HDifTil[2].weaBus);
connect(weaBus,HDirTil[2].weaBus);
connect(weaBus,HDifTil[3].weaBus);
connect(weaBus,HDirTil[3].weaBus);
connect(weaBus,HDifTil[4].weaBus);
connect(weaBus,HDirTil[4].weaBus);
connect(weaBus,HDifTil[5].weaBus);
connect(weaBus,HDirTil[5].weaBus);
connect(weaBus,HDifTil[6].weaBus);
connect(weaBus,HDirTil[6].weaBus);
connect(personsRad.port,thermalZoneTwoElements.intGainsRad);
connect(thermalConductorWin.solid,thermalZoneTwoElements.window);
connect(prescribedTemperature1.port,thermalConductorWin.fluid);
connect(thermalZoneTwoElements.extWall,thermalConductorWall.solid);
connect(thermalConductorWall.fluid,prescribedTemperature.port);
connect(hConWall.y,thermalConductorWall.Gc);
connect(hConWin.y,thermalConductorWin.Gc);
connect(weaBus.TBlaSky,eqAirTemp.TBlaSky);
connect(machinesConv.port,thermalZoneTwoElements.intGainsConv);
connect(personsConv.port,thermalZoneTwoElements.intGainsConv);
connect(corGDoublePane.solarRadWinTrans,thermalZoneTwoElements.solRad);
connect(port_a,thermalZoneTwoElements.intGainsConv);
connect(thermalZoneTwoElements.TAir,TAir);
end Floor;
Buildings.DHC.Loads.BaseClasses.Examples.BaseClasses.GeojsonExportRC.OfficeBuilding.ICT
This is the simulation model of ICT within building OfficeBuilding
Connectors
Type | Name | Description |
---|---|---|
Bus | weaBus | Weather data bus |
HeatPort_a | port_a | Heat port for sensible convective gains |
output RealOutput | TAir | Room air temperature [K] |
Modelica definition
model ICT
"This is the simulation model of ICT within building OfficeBuilding"
Buildings.BoundaryConditions.SolarIrradiation.DiffusePerez HDifTil[6](
each outSkyCon=true,
each outGroCon=true,
til={1.5707963267949,1.5707963267949,1.5707963267949,1.5707963267949,0,0},
azi={3.1415926535898,0,1.5707963267949,-1.5707963267949,0,0})
"Calculates diffuse solar radiation on titled surface for all directions";
Buildings.BoundaryConditions.SolarIrradiation.DirectTiltedSurface HDirTil[6](til={
1.5707963267949,1.5707963267949,1.5707963267949,1.5707963267949,0,0},
azi={3.1415926535898,0,1.5707963267949,-1.5707963267949,0,0})
"Calculates direct solar radiation on titled surface for all directions";
Buildings.ThermalZones.ReducedOrder.SolarGain.CorrectionGDoublePane corGDoublePane(
n=6,
UWin=1.8936557576825384)
"Correction factor for solar transmission";
Buildings.ThermalZones.ReducedOrder.RC.TwoElements thermalZoneTwoElements(
redeclare package Medium=Buildings.Media.Air,
VAir=260.9433707086081,
hConExt=2.0490178828959125,
hConWin=2.7000000000000006,
gWin=0.6700000000000002,
ratioWinConRad=0.030000000000000002,
nExt=1,
RExt={0.00028968539483083646},
CExt={32659582.683447275},
hRad=5.000000000000001,
AInt=257.303303274304,
hConInt=2.207073495341845,
nInt=1,
RInt={0.0002111894006425288},
CInt={37115084.57178593},
RWin=0.027484237646595907,
RExtRem=0.015657587981075596,
energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
extWallRC(
thermCapExt(
each der_T(
fixed=true))),
intWallRC(
thermCapInt(
each der_T(
fixed=true))),
nOrientations=6,
AWin={5.963815724622265,5.963815724622265,0.5528095467402644,0.5528095467402644,0.0,0.0},
ATransparent={5.963815724622265,5.963815724622265,0.5528095467402644,0.5528095467402644,0.0,0.0},
AExt={17.891447173866798,17.891447173866798,1.658428640220793,1.658428640220793,36.46409015200001,36.46409015200001})
"Thermal zone";
Buildings.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007WithWindow
eqAirTemp(
n=6,
wfGro=0.3626976838332763,
wfWall={0.15582361279765056,0.15582361279765056,0.014443903825944524,0.014443903825944524,0.2967672829195336,0.0},
wfWin={0.45758467583140006,0.45758467583140006,0.04241532416859994,0.04241532416859994,0.0,0.0},
withLongwave=true,
aExt=0.5,
hConWallOut=20.0,
hRad=5.0,
hConWinOut=20.0,
TGro=286.15)
"Computes equivalent air temperature";
Modelica.Blocks.Math.Add solRad[6]
"Sums up solar radiation of both directions";
Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature prescribedTemperature
"Prescribed temperature for exterior walls outdoor surface temperature";
Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature prescribedTemperature1
"Prescribed temperature for windows outdoor surface temperature";
Modelica.Thermal.HeatTransfer.Components.Convection thermalConductorWin
"Outdoor convective heat transfer of windows";
Modelica.Thermal.HeatTransfer.Components.Convection thermalConductorWall
"Outdoor convective heat transfer of walls";
Modelica.Blocks.Sources.Constant const[6](
each k=0)
"Sets sunblind signal to zero (open)";
Buildings.BoundaryConditions.WeatherData.Bus weaBus
"Weather data bus";
Modelica.Blocks.Sources.Constant hConWall(
k=25.000000000000004*112.0279319321752)
"Outdoor coefficient of heat transfer for walls";
Modelica.Blocks.Sources.Constant hConWin(
k=24.999999999999996*13.033250542725057)
"Outdoor coefficient of heat transfer for windows";
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow personsRad
"Radiative heat flow of persons";
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow personsConv
"Convective heat flow of persons";
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow machinesConv
"Convective heat flow of machines";
Modelica.Blocks.Sources.CombiTimeTable internalGains(
tableOnFile=true,
extrapolation=Modelica.Blocks.Types.Extrapolation.Periodic,
tableName="Internals",
fileName=Modelica.Utilities.Files.loadResource(
"modelica://Buildings/Resources/Data/DHC/Loads/Examples/BaseClasses/GeojsonExportRC/OfficeBuilding/InternalGains_ICT.txt"),
columns={2,3,4})
"Table with profiles for persons (radiative and convective) and machines (convective)";
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a port_a
"Heat port for sensible convective gains";
Buildings.Controls.OBC.CDL.Interfaces.RealOutput TAir(
quantity="ThermodynamicTemperature",
unit="K",
displayUnit="degC")
"Room air temperature";
equation
connect(eqAirTemp.TEqAirWin,prescribedTemperature1.T);
connect(eqAirTemp.TEqAir,prescribedTemperature.T);
connect(weaBus.TDryBul,eqAirTemp.TDryBul);
connect(internalGains.y[1],personsRad.Q_flow);
connect(internalGains.y[2],personsConv.Q_flow);
connect(internalGains.y[3],machinesConv.Q_flow);
connect(const.y,eqAirTemp.sunblind);
connect(HDifTil.HSkyDifTil,corGDoublePane.HSkyDifTil);
connect(HDirTil.H,corGDoublePane.HDirTil);
connect(HDirTil.H,solRad.u1);
connect(HDirTil.inc,corGDoublePane.inc);
connect(HDifTil.H,solRad.u2);
connect(HDifTil.HGroDifTil,corGDoublePane.HGroDifTil);
connect(solRad.y,eqAirTemp.HSol);
connect(weaBus,HDifTil[1].weaBus);
connect(weaBus,HDirTil[1].weaBus);
connect(weaBus,HDifTil[2].weaBus);
connect(weaBus,HDirTil[2].weaBus);
connect(weaBus,HDifTil[3].weaBus);
connect(weaBus,HDirTil[3].weaBus);
connect(weaBus,HDifTil[4].weaBus);
connect(weaBus,HDirTil[4].weaBus);
connect(weaBus,HDifTil[5].weaBus);
connect(weaBus,HDirTil[5].weaBus);
connect(weaBus,HDifTil[6].weaBus);
connect(weaBus,HDirTil[6].weaBus);
connect(personsRad.port,thermalZoneTwoElements.intGainsRad);
connect(thermalConductorWin.solid,thermalZoneTwoElements.window);
connect(prescribedTemperature1.port,thermalConductorWin.fluid);
connect(thermalZoneTwoElements.extWall,thermalConductorWall.solid);
connect(thermalConductorWall.fluid,prescribedTemperature.port);
connect(hConWall.y,thermalConductorWall.Gc);
connect(hConWin.y,thermalConductorWin.Gc);
connect(weaBus.TBlaSky,eqAirTemp.TBlaSky);
connect(machinesConv.port,thermalZoneTwoElements.intGainsConv);
connect(personsConv.port,thermalZoneTwoElements.intGainsConv);
connect(corGDoublePane.solarRadWinTrans,thermalZoneTwoElements.solRad);
connect(port_a,thermalZoneTwoElements.intGainsConv);
connect(thermalZoneTwoElements.TAir,TAir);
end ICT;
Buildings.DHC.Loads.BaseClasses.Examples.BaseClasses.GeojsonExportRC.OfficeBuilding.Meeting
This is the simulation model of Meeting within building OfficeBuilding
Connectors
Type | Name | Description |
---|---|---|
Bus | weaBus | Weather data bus |
HeatPort_a | port_a | Heat port for sensible convective gains |
output RealOutput | TAir | Room air temperature [K] |
Modelica definition
model Meeting
"This is the simulation model of Meeting within building OfficeBuilding"
Buildings.BoundaryConditions.SolarIrradiation.DiffusePerez HDifTil[6](
each outSkyCon=true,
each outGroCon=true,
til={1.5707963267949,1.5707963267949,1.5707963267949,1.5707963267949,0,0},
azi={3.1415926535898,0,1.5707963267949,-1.5707963267949,0,0})
"Calculates diffuse solar radiation on titled surface for all directions";
Buildings.BoundaryConditions.SolarIrradiation.DirectTiltedSurface HDirTil[6](til={
1.5707963267949,1.5707963267949,1.5707963267949,1.5707963267949,0,0},
azi={3.1415926535898,0,1.5707963267949,-1.5707963267949,0,0})
"Calculates direct solar radiation on titled surface for all directions";
Buildings.ThermalZones.ReducedOrder.SolarGain.CorrectionGDoublePane corGDoublePane(
n=6,
UWin=1.8936557576825384)
"Correction factor for solar transmission";
Buildings.ThermalZones.ReducedOrder.RC.TwoElements thermalZoneTwoElements(
redeclare package Medium=Buildings.Media.Air,
VAir=521.8867414172162,
hConExt=2.0490178828959125,
hConWin=2.7000000000000006,
gWin=0.6700000000000002,
ratioWinConRad=0.030000000000000002,
nExt=1,
RExt={0.00014484269741541823},
CExt={65319165.36689455},
hRad=5.000000000000001,
AInt=514.606606548608,
hConInt=2.207073495341845,
nInt=1,
RInt={0.0001055947003212644},
CInt={74230169.14357185},
RWin=0.013742118823297953,
RExtRem=0.007828793990537798,
energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
extWallRC(
thermCapExt(
each der_T(
fixed=true))),
intWallRC(
thermCapInt(
each der_T(
fixed=true))),
nOrientations=6,
AWin={11.92763144924453,11.92763144924453,1.1056190934805288,1.1056190934805288,0.0,0.0},
ATransparent={11.92763144924453,11.92763144924453,1.1056190934805288,1.1056190934805288,0.0,0.0},
AExt={35.782894347733595,35.782894347733595,3.316857280441586,3.316857280441586,72.92818030400002,72.92818030400002})
"Thermal zone";
Buildings.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007WithWindow
eqAirTemp(
n=6,
wfGro=0.3626976838332763,
wfWall={0.15582361279765056,0.15582361279765056,0.014443903825944524,0.014443903825944524,0.2967672829195336,0.0},
wfWin={0.45758467583140006,0.45758467583140006,0.04241532416859994,0.04241532416859994,0.0,0.0},
withLongwave=true,
aExt=0.5,
hConWallOut=20.0,
hRad=5.0,
hConWinOut=20.0,
TGro=286.15)
"Computes equivalent air temperature";
Modelica.Blocks.Math.Add solRad[6]
"Sums up solar radiation of both directions";
Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature prescribedTemperature
"Prescribed temperature for exterior walls outdoor surface temperature";
Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature prescribedTemperature1
"Prescribed temperature for windows outdoor surface temperature";
Modelica.Thermal.HeatTransfer.Components.Convection thermalConductorWin
"Outdoor convective heat transfer of windows";
Modelica.Thermal.HeatTransfer.Components.Convection thermalConductorWall
"Outdoor convective heat transfer of walls";
Modelica.Blocks.Sources.Constant const[6](
each k=0)
"Sets sunblind signal to zero (open)";
Buildings.BoundaryConditions.WeatherData.Bus weaBus
"Weather data bus";
Modelica.Blocks.Sources.Constant hConWall(
k=25.000000000000004*224.0558638643504)
"Outdoor coefficient of heat transfer for walls";
Modelica.Blocks.Sources.Constant hConWin(
k=24.999999999999996*26.066501085450113)
"Outdoor coefficient of heat transfer for windows";
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow personsRad
"Radiative heat flow of persons";
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow personsConv
"Convective heat flow of persons";
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow machinesConv
"Convective heat flow of machines";
Modelica.Blocks.Sources.CombiTimeTable internalGains(
tableOnFile=true,
extrapolation=Modelica.Blocks.Types.Extrapolation.Periodic,
tableName="Internals",
fileName=Modelica.Utilities.Files.loadResource(
"modelica://Buildings/Resources/Data/DHC/Loads/Examples/BaseClasses/GeojsonExportRC/OfficeBuilding/InternalGains_Meeting.txt"),
columns={2,3,4})
"Table with profiles for persons (radiative and convective) and machines (convective)";
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a port_a
"Heat port for sensible convective gains";
Buildings.Controls.OBC.CDL.Interfaces.RealOutput TAir(
quantity="ThermodynamicTemperature",
unit="K",
displayUnit="degC")
"Room air temperature";
equation
connect(eqAirTemp.TEqAirWin,prescribedTemperature1.T);
connect(eqAirTemp.TEqAir,prescribedTemperature.T);
connect(weaBus.TDryBul,eqAirTemp.TDryBul);
connect(internalGains.y[1],personsRad.Q_flow);
connect(internalGains.y[2],personsConv.Q_flow);
connect(internalGains.y[3],machinesConv.Q_flow);
connect(const.y,eqAirTemp.sunblind);
connect(HDifTil.HSkyDifTil,corGDoublePane.HSkyDifTil);
connect(HDirTil.H,corGDoublePane.HDirTil);
connect(HDirTil.H,solRad.u1);
connect(HDirTil.inc,corGDoublePane.inc);
connect(HDifTil.H,solRad.u2);
connect(HDifTil.HGroDifTil,corGDoublePane.HGroDifTil);
connect(solRad.y,eqAirTemp.HSol);
connect(weaBus,HDifTil[1].weaBus);
connect(weaBus,HDirTil[1].weaBus);
connect(weaBus,HDifTil[2].weaBus);
connect(weaBus,HDirTil[2].weaBus);
connect(weaBus,HDifTil[3].weaBus);
connect(weaBus,HDirTil[3].weaBus);
connect(weaBus,HDifTil[4].weaBus);
connect(weaBus,HDirTil[4].weaBus);
connect(weaBus,HDifTil[5].weaBus);
connect(weaBus,HDirTil[5].weaBus);
connect(weaBus,HDifTil[6].weaBus);
connect(weaBus,HDirTil[6].weaBus);
connect(personsRad.port,thermalZoneTwoElements.intGainsRad);
connect(thermalConductorWin.solid,thermalZoneTwoElements.window);
connect(prescribedTemperature1.port,thermalConductorWin.fluid);
connect(thermalZoneTwoElements.extWall,thermalConductorWall.solid);
connect(thermalConductorWall.fluid,prescribedTemperature.port);
connect(hConWall.y,thermalConductorWall.Gc);
connect(hConWin.y,thermalConductorWin.Gc);
connect(weaBus.TBlaSky,eqAirTemp.TBlaSky);
connect(machinesConv.port,thermalZoneTwoElements.intGainsConv);
connect(personsConv.port,thermalZoneTwoElements.intGainsConv);
connect(corGDoublePane.solarRadWinTrans,thermalZoneTwoElements.solRad);
connect(port_a,thermalZoneTwoElements.intGainsConv);
connect(thermalZoneTwoElements.TAir,TAir);
end Meeting;
Buildings.DHC.Loads.BaseClasses.Examples.BaseClasses.GeojsonExportRC.OfficeBuilding.Office
This is the simulation model of Office within building OfficeBuilding
Connectors
Type | Name | Description |
---|---|---|
Bus | weaBus | Weather data bus |
HeatPort_a | port_a | Heat port for sensible convective gains |
output RealOutput | TAir | Room air temperature [K] |
Modelica definition
model Office
"This is the simulation model of Office within building OfficeBuilding"
Buildings.BoundaryConditions.SolarIrradiation.DiffusePerez HDifTil[6](
each outSkyCon=true,
each outGroCon=true,
til={1.5707963267949,1.5707963267949,1.5707963267949,1.5707963267949,0,0},
azi={3.1415926535898,0,1.5707963267949,-1.5707963267949,0,0})
"Calculates diffuse solar radiation on titled surface for all directions";
Buildings.BoundaryConditions.SolarIrradiation.DirectTiltedSurface HDirTil[6](til={
1.5707963267949,1.5707963267949,1.5707963267949,1.5707963267949,0,0},
azi={3.1415926535898,0,1.5707963267949,-1.5707963267949,0,0})
"Calculates direct solar radiation on titled surface for all directions";
Buildings.ThermalZones.ReducedOrder.SolarGain.CorrectionGDoublePane corGDoublePane(
n=6,
UWin=1.8936557576825381)
"Correction factor for solar transmission";
Buildings.ThermalZones.ReducedOrder.RC.TwoElements thermalZoneTwoElements(
redeclare package Medium=Buildings.Media.Air,
VAir=6523.584267715201,
hConExt=2.0490178828959134,
hConWin=2.7000000000000006,
gWin=0.6699999999999999,
ratioWinConRad=0.029999999999999995,
nExt=1,
RExt={1.1587415793233466e-05},
CExt={816489567.0861814},
hRad=4.999999999999999,
AInt=6432.582581857601,
hConInt=2.2070734953418447,
nInt=1,
RInt={8.447576025701151e-06},
CInt={927877114.2946483},
RWin=0.001099369505863836,
RExtRem=0.0006263035192430239,
energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
extWallRC(
thermCapExt(
each der_T(
fixed=true))),
intWallRC(
thermCapInt(
each der_T(
fixed=true))),
nOrientations=6,
AWin={149.09539311555662,149.09539311555662,13.82023866850661,13.82023866850661,0.0,0.0},
ATransparent={149.09539311555662,149.09539311555662,13.82023866850661,13.82023866850661,0.0,0.0},
AExt={447.28617934666994,447.28617934666994,41.46071600551983,41.46071600551983,911.6022538000002,911.6022538000002})
"Thermal zone";
Buildings.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007WithWindow
eqAirTemp(
n=6,
wfGro=0.3626976838332763,
wfWall={0.15582361279765053,0.15582361279765053,0.014443903825944522,0.014443903825944522,0.2967672829195336,0.0},
wfWin={0.4575846758314001,0.4575846758314001,0.04241532416859994,0.04241532416859994,0.0,0.0},
withLongwave=true,
aExt=0.5,
hConWallOut=20.0,
hRad=5.0,
hConWinOut=20.0,
TGro=286.15)
"Computes equivalent air temperature";
Modelica.Blocks.Math.Add solRad[6]
"Sums up solar radiation of both directions";
Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature prescribedTemperature
"Prescribed temperature for exterior walls outdoor surface temperature";
Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature prescribedTemperature1
"Prescribed temperature for windows outdoor surface temperature";
Modelica.Thermal.HeatTransfer.Components.Convection thermalConductorWin
"Outdoor convective heat transfer of windows";
Modelica.Thermal.HeatTransfer.Components.Convection thermalConductorWall
"Outdoor convective heat transfer of walls";
Modelica.Blocks.Sources.Constant const[6](
each k=0)
"Sets sunblind signal to zero (open)";
Buildings.BoundaryConditions.WeatherData.Bus weaBus
"Weather data bus";
Modelica.Blocks.Sources.Constant hConWall(
k=25.0*2800.69829830438)
"Outdoor coefficient of heat transfer for walls";
Modelica.Blocks.Sources.Constant hConWin(
k=25.0*325.8312635681265)
"Outdoor coefficient of heat transfer for windows";
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow personsRad
"Radiative heat flow of persons";
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow personsConv
"Convective heat flow of persons";
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow machinesConv
"Convective heat flow of machines";
Modelica.Blocks.Sources.CombiTimeTable internalGains(
tableOnFile=true,
extrapolation=Modelica.Blocks.Types.Extrapolation.Periodic,
tableName="Internals",
fileName=Modelica.Utilities.Files.loadResource(
"modelica://Buildings/Resources/Data/DHC/Loads/Examples/BaseClasses/GeojsonExportRC/OfficeBuilding/InternalGains_Office.txt"),
columns={2,3,4})
"Table with profiles for persons (radiative and convective) and machines (convective)";
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a port_a
"Heat port for sensible convective gains";
Buildings.Controls.OBC.CDL.Interfaces.RealOutput TAir(
quantity="ThermodynamicTemperature",
unit="K",
displayUnit="degC")
"Room air temperature";
equation
connect(eqAirTemp.TEqAirWin,prescribedTemperature1.T);
connect(eqAirTemp.TEqAir,prescribedTemperature.T);
connect(weaBus.TDryBul,eqAirTemp.TDryBul);
connect(internalGains.y[1],personsRad.Q_flow);
connect(internalGains.y[2],personsConv.Q_flow);
connect(internalGains.y[3],machinesConv.Q_flow);
connect(const.y,eqAirTemp.sunblind);
connect(HDifTil.HSkyDifTil,corGDoublePane.HSkyDifTil);
connect(HDirTil.H,corGDoublePane.HDirTil);
connect(HDirTil.H,solRad.u1);
connect(HDirTil.inc,corGDoublePane.inc);
connect(HDifTil.H,solRad.u2);
connect(HDifTil.HGroDifTil,corGDoublePane.HGroDifTil);
connect(solRad.y,eqAirTemp.HSol);
connect(weaBus,HDifTil[1].weaBus);
connect(weaBus,HDirTil[1].weaBus);
connect(weaBus,HDifTil[2].weaBus);
connect(weaBus,HDirTil[2].weaBus);
connect(weaBus,HDifTil[3].weaBus);
connect(weaBus,HDirTil[3].weaBus);
connect(weaBus,HDifTil[4].weaBus);
connect(weaBus,HDirTil[4].weaBus);
connect(weaBus,HDifTil[5].weaBus);
connect(weaBus,HDirTil[5].weaBus);
connect(weaBus,HDifTil[6].weaBus);
connect(weaBus,HDirTil[6].weaBus);
connect(personsRad.port,thermalZoneTwoElements.intGainsRad);
connect(thermalConductorWin.solid,thermalZoneTwoElements.window);
connect(prescribedTemperature1.port,thermalConductorWin.fluid);
connect(thermalZoneTwoElements.extWall,thermalConductorWall.solid);
connect(thermalConductorWall.fluid,prescribedTemperature.port);
connect(hConWall.y,thermalConductorWall.Gc);
connect(hConWin.y,thermalConductorWin.Gc);
connect(weaBus.TBlaSky,eqAirTemp.TBlaSky);
connect(machinesConv.port,thermalZoneTwoElements.intGainsConv);
connect(personsConv.port,thermalZoneTwoElements.intGainsConv);
connect(corGDoublePane.solarRadWinTrans,thermalZoneTwoElements.solRad);
connect(port_a,thermalZoneTwoElements.intGainsConv);
connect(thermalZoneTwoElements.TAir,TAir);
end Office;
Buildings.DHC.Loads.BaseClasses.Examples.BaseClasses.GeojsonExportRC.OfficeBuilding.Restroom
This is the simulation model of Restroom within building OfficeBuilding
Connectors
Type | Name | Description |
---|---|---|
Bus | weaBus | Weather data bus |
HeatPort_a | port_a | Heat port for sensible convective gains |
output RealOutput | TAir | Room air temperature [K] |
Modelica definition
model Restroom
"This is the simulation model of Restroom within building OfficeBuilding"
Buildings.BoundaryConditions.SolarIrradiation.DiffusePerez HDifTil[6](
each outSkyCon=true,
each outGroCon=true,
til={1.5707963267949,1.5707963267949,1.5707963267949,1.5707963267949,0,0},
azi={3.1415926535898,0,1.5707963267949,-1.5707963267949,0,0})
"Calculates diffuse solar radiation on titled surface for all directions";
Buildings.BoundaryConditions.SolarIrradiation.DirectTiltedSurface HDirTil[6](til={
1.5707963267949,1.5707963267949,1.5707963267949,1.5707963267949,0,0},
azi={3.1415926535898,0,1.5707963267949,-1.5707963267949,0,0})
"Calculates direct solar radiation on titled surface for all directions";
Buildings.ThermalZones.ReducedOrder.SolarGain.CorrectionGDoublePane corGDoublePane(
n=6,
UWin=1.8936557576825384)
"Correction factor for solar transmission";
Buildings.ThermalZones.ReducedOrder.RC.TwoElements thermalZoneTwoElements(
redeclare package Medium=Buildings.Media.Air,
VAir=521.8867414172162,
hConExt=2.0490178828959125,
hConWin=2.7000000000000006,
gWin=0.6700000000000002,
ratioWinConRad=0.030000000000000002,
nExt=1,
RExt={0.00014484269741541823},
CExt={65319165.36689455},
hRad=5.000000000000001,
AInt=688.5688536876802,
hConInt=2.3316080309449254,
nInt=1,
RInt={9.201439908964808e-05},
CInt={84275425.00414628},
RWin=0.013742118823297953,
RExtRem=0.007828793990537798,
energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
extWallRC(
thermCapExt(
each der_T(
fixed=true))),
intWallRC(
thermCapInt(
each der_T(
fixed=true))),
nOrientations=6,
AWin={11.92763144924453,11.92763144924453,1.1056190934805288,1.1056190934805288,0.0,0.0},
ATransparent={11.92763144924453,11.92763144924453,1.1056190934805288,1.1056190934805288,0.0,0.0},
AExt={35.782894347733595,35.782894347733595,3.316857280441586,3.316857280441586,72.92818030400002,72.92818030400002})
"Thermal zone";
Buildings.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007WithWindow
eqAirTemp(
n=6,
wfGro=0.3626976838332763,
wfWall={0.15582361279765056,0.15582361279765056,0.014443903825944524,0.014443903825944524,0.2967672829195336,0.0},
wfWin={0.45758467583140006,0.45758467583140006,0.04241532416859994,0.04241532416859994,0.0,0.0},
withLongwave=true,
aExt=0.5,
hConWallOut=20.0,
hRad=5.0,
hConWinOut=20.0,
TGro=286.15)
"Computes equivalent air temperature";
Modelica.Blocks.Math.Add solRad[6]
"Sums up solar radiation of both directions";
Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature prescribedTemperature
"Prescribed temperature for exterior walls outdoor surface temperature";
Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature prescribedTemperature1
"Prescribed temperature for windows outdoor surface temperature";
Modelica.Thermal.HeatTransfer.Components.Convection thermalConductorWin
"Outdoor convective heat transfer of windows";
Modelica.Thermal.HeatTransfer.Components.Convection thermalConductorWall
"Outdoor convective heat transfer of walls";
Modelica.Blocks.Sources.Constant const[6](
each k=0)
"Sets sunblind signal to zero (open)";
Buildings.BoundaryConditions.WeatherData.Bus weaBus
"Weather data bus";
Modelica.Blocks.Sources.Constant hConWall(
k=25.000000000000004*224.0558638643504)
"Outdoor coefficient of heat transfer for walls";
Modelica.Blocks.Sources.Constant hConWin(
k=24.999999999999996*26.066501085450113)
"Outdoor coefficient of heat transfer for windows";
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow personsRad
"Radiative heat flow of persons";
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow personsConv
"Convective heat flow of persons";
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow machinesConv
"Convective heat flow of machines";
Modelica.Blocks.Sources.CombiTimeTable internalGains(
tableOnFile=true,
extrapolation=Modelica.Blocks.Types.Extrapolation.Periodic,
tableName="Internals",
fileName=Modelica.Utilities.Files.loadResource(
"modelica://Buildings/Resources/Data/DHC/Loads/Examples/BaseClasses/GeojsonExportRC/OfficeBuilding/InternalGains_Restroom.txt"),
columns={2,3,4})
"Table with profiles for persons (radiative and convective) and machines (convective)";
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a port_a
"Heat port for sensible convective gains";
Buildings.Controls.OBC.CDL.Interfaces.RealOutput TAir(
quantity="ThermodynamicTemperature",
unit="K",
displayUnit="degC")
"Room air temperature";
equation
connect(eqAirTemp.TEqAirWin,prescribedTemperature1.T);
connect(eqAirTemp.TEqAir,prescribedTemperature.T);
connect(weaBus.TDryBul,eqAirTemp.TDryBul);
connect(internalGains.y[1],personsRad.Q_flow);
connect(internalGains.y[2],personsConv.Q_flow);
connect(internalGains.y[3],machinesConv.Q_flow);
connect(const.y,eqAirTemp.sunblind);
connect(HDifTil.HSkyDifTil,corGDoublePane.HSkyDifTil);
connect(HDirTil.H,corGDoublePane.HDirTil);
connect(HDirTil.H,solRad.u1);
connect(HDirTil.inc,corGDoublePane.inc);
connect(HDifTil.H,solRad.u2);
connect(HDifTil.HGroDifTil,corGDoublePane.HGroDifTil);
connect(solRad.y,eqAirTemp.HSol);
connect(weaBus,HDifTil[1].weaBus);
connect(weaBus,HDirTil[1].weaBus);
connect(weaBus,HDifTil[2].weaBus);
connect(weaBus,HDirTil[2].weaBus);
connect(weaBus,HDifTil[3].weaBus);
connect(weaBus,HDirTil[3].weaBus);
connect(weaBus,HDifTil[4].weaBus);
connect(weaBus,HDirTil[4].weaBus);
connect(weaBus,HDifTil[5].weaBus);
connect(weaBus,HDirTil[5].weaBus);
connect(weaBus,HDifTil[6].weaBus);
connect(weaBus,HDirTil[6].weaBus);
connect(personsRad.port,thermalZoneTwoElements.intGainsRad);
connect(thermalConductorWin.solid,thermalZoneTwoElements.window);
connect(prescribedTemperature1.port,thermalConductorWin.fluid);
connect(thermalZoneTwoElements.extWall,thermalConductorWall.solid);
connect(thermalConductorWall.fluid,prescribedTemperature.port);
connect(hConWall.y,thermalConductorWall.Gc);
connect(hConWin.y,thermalConductorWin.Gc);
connect(weaBus.TBlaSky,eqAirTemp.TBlaSky);
connect(machinesConv.port,thermalZoneTwoElements.intGainsConv);
connect(personsConv.port,thermalZoneTwoElements.intGainsConv);
connect(corGDoublePane.solarRadWinTrans,thermalZoneTwoElements.solRad);
connect(port_a,thermalZoneTwoElements.intGainsConv);
connect(thermalZoneTwoElements.TAir,TAir);
end Restroom;
Buildings.DHC.Loads.BaseClasses.Examples.BaseClasses.GeojsonExportRC.OfficeBuilding.Storage
This is the simulation model of Storage within building OfficeBuilding
Connectors
Type | Name | Description |
---|---|---|
Bus | weaBus | Weather data bus |
HeatPort_a | port_a | Heat port for sensible convective gains |
output RealOutput | TAir | Room air temperature [K] |
Modelica definition
model Storage
"This is the simulation model of Storage within building OfficeBuilding"
Buildings.BoundaryConditions.SolarIrradiation.DiffusePerez HDifTil[6](
each outSkyCon=true,
each outGroCon=true,
til={1.5707963267949,1.5707963267949,1.5707963267949,1.5707963267949,0,0},
azi={3.1415926535898,0,1.5707963267949,-1.5707963267949,0,0})
"Calculates diffuse solar radiation on titled surface for all directions";
Buildings.BoundaryConditions.SolarIrradiation.DirectTiltedSurface HDirTil[6](til={
1.5707963267949,1.5707963267949,1.5707963267949,1.5707963267949,0,0},
azi={3.1415926535898,0,1.5707963267949,-1.5707963267949,0,0})
"Calculates direct solar radiation on titled surface for all directions";
Buildings.ThermalZones.ReducedOrder.SolarGain.CorrectionGDoublePane corGDoublePane(
n=6,
UWin=1.8936557576825388)
"Correction factor for solar transmission";
Buildings.ThermalZones.ReducedOrder.RC.TwoElements thermalZoneTwoElements(
redeclare package Medium=Buildings.Media.Air,
VAir=1957.0752803145606,
hConExt=2.049017882895913,
hConWin=2.7,
gWin=0.67,
ratioWinConRad=0.03,
nExt=1,
RExt={3.86247193107782e-05},
CExt={244946870.12585458},
hRad=4.999999999999999,
AInt=1929.7747745572801,
hConInt=2.207073495341845,
nInt=1,
RInt={2.8158586752337178e-05},
CInt={278363134.2883944},
RWin=0.0036645650195461206,
RExtRem=0.0020876783974767463,
energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
extWallRC(
thermCapExt(
each der_T(
fixed=true))),
intWallRC(
thermCapInt(
each der_T(
fixed=true))),
nOrientations=6,
AWin={44.728617934666985,44.728617934666985,4.146071600551982,4.146071600551982,0.0,0.0},
ATransparent={44.728617934666985,44.728617934666985,4.146071600551982,4.146071600551982,0.0,0.0},
AExt={134.185853804001,134.185853804001,12.438214801655947,12.438214801655947,273.48067614000007,273.48067614000007})
"Thermal zone";
Buildings.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007WithWindow
eqAirTemp(
n=6,
wfGro=0.36269768383327633,
wfWall={0.15582361279765056,0.15582361279765056,0.014443903825944526,0.014443903825944526,0.2967672829195335,0.0},
wfWin={0.4575846758314,0.4575846758314,0.04241532416859994,0.04241532416859994,0.0,0.0},
withLongwave=true,
aExt=0.5,
hConWallOut=20.000000000000004,
hRad=4.999999999999999,
hConWinOut=19.999999999999996,
TGro=286.15)
"Computes equivalent air temperature";
Modelica.Blocks.Math.Add solRad[6]
"Sums up solar radiation of both directions";
Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature prescribedTemperature
"Prescribed temperature for exterior walls outdoor surface temperature";
Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature prescribedTemperature1
"Prescribed temperature for windows outdoor surface temperature";
Modelica.Thermal.HeatTransfer.Components.Convection thermalConductorWin
"Outdoor convective heat transfer of windows";
Modelica.Thermal.HeatTransfer.Components.Convection thermalConductorWall
"Outdoor convective heat transfer of walls";
Modelica.Blocks.Sources.Constant const[6](
each k=0)
"Sets sunblind signal to zero (open)";
Buildings.BoundaryConditions.WeatherData.Bus weaBus
"Weather data bus";
Modelica.Blocks.Sources.Constant hConWall(
k=25.000000000000004*840.2094894913139)
"Outdoor coefficient of heat transfer for walls";
Modelica.Blocks.Sources.Constant hConWin(
k=25.000000000000004*97.74937907043793)
"Outdoor coefficient of heat transfer for windows";
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow personsRad
"Radiative heat flow of persons";
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow personsConv
"Convective heat flow of persons";
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow machinesConv
"Convective heat flow of machines";
Modelica.Blocks.Sources.CombiTimeTable internalGains(
tableOnFile=true,
extrapolation=Modelica.Blocks.Types.Extrapolation.Periodic,
tableName="Internals",
fileName=Modelica.Utilities.Files.loadResource(
"modelica://Buildings/Resources/Data/DHC/Loads/Examples/BaseClasses/GeojsonExportRC/OfficeBuilding/InternalGains_Storage.txt"),
columns={2,3,4})
"Table with profiles for persons (radiative and convective) and machines (convective)";
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a port_a
"Heat port for sensible convective gains";
Buildings.Controls.OBC.CDL.Interfaces.RealOutput TAir(
quantity="ThermodynamicTemperature",
unit="K",
displayUnit="degC")
"Room air temperature";
equation
connect(eqAirTemp.TEqAirWin,prescribedTemperature1.T);
connect(eqAirTemp.TEqAir,prescribedTemperature.T);
connect(weaBus.TDryBul,eqAirTemp.TDryBul);
connect(internalGains.y[1],personsRad.Q_flow);
connect(internalGains.y[2],personsConv.Q_flow);
connect(internalGains.y[3],machinesConv.Q_flow);
connect(const.y,eqAirTemp.sunblind);
connect(HDifTil.HSkyDifTil,corGDoublePane.HSkyDifTil);
connect(HDirTil.H,corGDoublePane.HDirTil);
connect(HDirTil.H,solRad.u1);
connect(HDirTil.inc,corGDoublePane.inc);
connect(HDifTil.H,solRad.u2);
connect(HDifTil.HGroDifTil,corGDoublePane.HGroDifTil);
connect(solRad.y,eqAirTemp.HSol);
connect(weaBus,HDifTil[1].weaBus);
connect(weaBus,HDirTil[1].weaBus);
connect(weaBus,HDifTil[2].weaBus);
connect(weaBus,HDirTil[2].weaBus);
connect(weaBus,HDifTil[3].weaBus);
connect(weaBus,HDirTil[3].weaBus);
connect(weaBus,HDifTil[4].weaBus);
connect(weaBus,HDirTil[4].weaBus);
connect(weaBus,HDifTil[5].weaBus);
connect(weaBus,HDirTil[5].weaBus);
connect(weaBus,HDifTil[6].weaBus);
connect(weaBus,HDirTil[6].weaBus);
connect(personsRad.port,thermalZoneTwoElements.intGainsRad);
connect(thermalConductorWin.solid,thermalZoneTwoElements.window);
connect(prescribedTemperature1.port,thermalConductorWin.fluid);
connect(thermalZoneTwoElements.extWall,thermalConductorWall.solid);
connect(thermalConductorWall.fluid,prescribedTemperature.port);
connect(hConWall.y,thermalConductorWall.Gc);
connect(hConWin.y,thermalConductorWin.Gc);
connect(weaBus.TBlaSky,eqAirTemp.TBlaSky);
connect(machinesConv.port,thermalZoneTwoElements.intGainsConv);
connect(personsConv.port,thermalZoneTwoElements.intGainsConv);
connect(corGDoublePane.solarRadWinTrans,thermalZoneTwoElements.solRad);
connect(port_a,thermalZoneTwoElements.intGainsConv);
connect(thermalZoneTwoElements.TAir,TAir);
end Storage;