This package contains examples for the use of models that can be found in Buildings.HeatTransfer.Windows.
Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).
Name | Description |
---|---|
BoundaryHeatTransfer | Test model for the heat transfer at the window boundary condition |
Overhang | This example tests the window overhang model |
SideFins | This example demonstrates the use of side fins for a window |
Window | Test model for the window |
FixedShade | Test model for the fixed shade model |
Type | Name | Default | Description |
---|---|---|---|
Area | A | 1 | Window surface area [m2] |
Real | fFra | 0.2 | Fraction of frame, = frame area divided by total area |
Boolean | linearizeRadiation | false | Set to true to linearize emissive power |
model BoundaryHeatTransfer "Test model for the heat transfer at the window boundary condition" import Buildings; extends Modelica.Icons.Example; parameter Modelica.SIunits.Area A=1 "Window surface area"; parameter Real fFra=0.2 "Fraction of frame, = frame area divided by total area"; parameter Boolean linearizeRadiation = false "Set to true to linearize emissive power";Buildings.HeatTransfer.Windows.ExteriorHeatTransfer extCon(A=A, fFra=fFra, linearizeRadiation=linearizeRadiation, absIRSha_air=glaSys.shade.absIR_a, absIRSha_glass=glaSys.shade.absIR_b, tauIRSha_air=glaSys.shade.tauIR_a, tauIRSha_glass=glaSys.shade.tauIR_b, haveExteriorShade=glaSys.haveExteriorShade, haveInteriorShade=glaSys.haveInteriorShade, vieFacSky=0.5) "Exterior convective heat transfer"; Modelica.Blocks.Sources.Constant TOut(y(unit="K"), k=273.15) "Outside air temperature"; Modelica.Blocks.Sources.Constant TRooAir(k=293.15, y(unit="K")) "Room air temperature"; Modelica.Blocks.Sources.Constant TRooRad(k=293.15, y(unit="K")) "Room radiative temperature"; Modelica.Blocks.Sources.Ramp uSha(duration=1, startTime=0) "Shading control signal"; Modelica.Blocks.Sources.Constant vWin(k=1) "Wind speed"; Buildings.HeatTransfer.Sources.PrescribedTemperature TOuts "Outside air temperature"; Buildings.HeatTransfer.Sources.PrescribedTemperature TRAir "Room air temperature"; Buildings.HeatTransfer.Data.GlazingSystems.DoubleClearAir13Clear glaSys2( shade=Buildings.HeatTransfer.Data.Shades.Gray(), UFra=2, haveInteriorShade=false, haveExteriorShade=false) "Parameters for glazing system"; Buildings.HeatTransfer.Data.GlazingSystems.SingleClear3 glaSys1(UFra=2); Buildings.HeatTransfer.Data.GlazingSystems.TripleClearAir13ClearAir13Clear glaSys3(UFra=1) "Parameters for glazing system"; Buildings.HeatTransfer.Data.GlazingSystems.DoubleClearAir13Clear glaSys( shade=Buildings.HeatTransfer.Data.Shades.Gray(), UFra=1.5, haveExteriorShade=true, haveInteriorShade=false) "Parameters for glazing system"; Buildings.HeatTransfer.Radiosity.IndoorRadiosity radIn( final linearize=linearizeRadiation, final A=A) "Indoor radiosity"; protected Buildings.HeatTransfer.Radiosity.RadiositySplitter radShaOut "Radiosity that strikes shading device"; public Buildings.HeatTransfer.Windows.BaseClasses.ShadingSignal shaSig(haveShade=true) "Conversion for shading signal"; Buildings.HeatTransfer.Sources.PrescribedTemperature TRAir1 "Room air temperature"; Buildings.HeatTransfer.Sources.PrescribedTemperature TRAir2 "Room air temperature"; Buildings.HeatTransfer.Sources.PrescribedTemperature TRAir3 "Room air temperature"; Modelica.Blocks.Sources.Constant QAbsSW_flow(k=0) "Absorbed solar radiation"; equationconnect(uSha.y, extCon.uSha); connect(TOuts.port, extCon.air); connect(TRooAir.y, TRAir.T); connect(extCon.vWin, vWin.y); connect(TOuts.T, TOut.y); connect(shaSig.y,radShaOut. u); connect(radIn.JOut, radShaOut.JIn); connect(shaSig.u, uSha.y); connect(radShaOut.JOut_2, extCon.JInUns); connect(radShaOut.JOut_1, extCon.JInSha); connect(radIn.heatPort, TRAir.port); connect(extCon.JOutUns, radIn.JIn); connect(extCon.JOutSha, radIn.JIn); connect(TRooAir.y, TRAir1.T); connect(TRooAir.y, TRAir2.T); connect(TRooAir.y, TRAir3.T); connect(TRAir1.port, extCon.glaUns); connect(TRAir2.port, extCon.glaSha); connect(TRAir3.port, extCon.frame); connect(extCon.QAbs_flow, QAbsSW_flow.y); connect(TOut.y, extCon.TBlaSky); connect(TOut.y, extCon.TOut); end BoundaryHeatTransfer;
This example demonstrates the use of the overhang model. It calculates the fraction of total window area that is exposed to the sun.
A similar example of an overhang model with more basic components is implemented in Buildings.HeatTransfer.Windows.BaseClasses.Examples.Overhang.
Extends from Modelica.Icons.Example (Icon for runnable examples).
model Overhang "This example tests the window overhang model" import Buildings; extends Modelica.Icons.Example;Buildings.BoundaryConditions.WeatherData.ReaderTMY3 weaDat(filNam="Resources/weatherdata/USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.mos") "Weather data"; Buildings.HeatTransfer.Windows.Overhang ove( dep=1.2, gap=0.1, hWin=1.0, wWin=1.0, azi=Buildings.HeatTransfer.Types.Azimuth.S, wR=0.1, wL=0.1, lat=weaDat.lat) "Calculates fraction of window area exposed to the sun"; Buildings.BoundaryConditions.SolarIrradiation.DirectTiltedSurface HDirTil( lat=weaDat.lat, til=Buildings.HeatTransfer.Types.Tilt.Wall, azi=Buildings.HeatTransfer.Types.Azimuth.S) "Direct solar irradiation"; equationconnect(weaDat.weaBus, ove.weaBus); connect(HDirTil.weaBus, weaDat.weaBus); connect(HDirTil.inc, ove.incAng); connect(HDirTil.H, ove.HDirTilUns); end Overhang;
This example uses the window sidefin model to calculate the fraction of total window area exposed to the sun.
For a detailed description of the model, see Buildings.HeatTransfer.Windows.SideFins. A similar example of can be found in Buildings.HeatTransfer.Windows.BaseClasses.Examples.SideFins.
Extends from Modelica.Icons.Example (Icon for runnable examples).
model SideFins "This example demonstrates the use of side fins for a window" import Buildings; extends Modelica.Icons.Example;Buildings.BoundaryConditions.WeatherData.ReaderTMY3 weaDat(filNam="Resources/weatherdata/USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.mos") "Weather data"; Buildings.HeatTransfer.Windows.SideFins fin( h=0.2, hWin=1.0, wWin=1.0, dep=0.5, gap=0.1) "Outputs fraction of window area exposed to the sun"; Buildings.BoundaryConditions.SolarIrradiation.DirectTiltedSurface HDirTil( lat=weaDat.lat, til=Buildings.HeatTransfer.Types.Tilt.Wall, azi=Buildings.HeatTransfer.Types.Azimuth.S) "Direct solar irradiation"; equationconnect(weaDat.weaBus, fin.weaBus); connect(HDirTil.weaBus, weaDat.weaBus); connect(HDirTil.inc, fin.incAng); connect(HDirTil.H, fin.HDirTilUns); end SideFins;
Type | Name | Default | Description |
---|---|---|---|
Area | A | 1 | Window surface area [m2] |
Real | fFra | 0.2 | Fraction of frame, = frame area divided by total area |
Boolean | linearize | false | Set to true to linearize emissive power |
Angle | lat | 0.34906585039887 | Latitude [rad] |
Angle | azi | 0 | Surface azimuth [rad] |
Angle | til | 1.5707963267949 | Surface tilt [rad] |
Type | Name | Description |
---|---|---|
Bus | weaBus |
model Window "Test model for the window" import Buildings; extends Modelica.Icons.Example; parameter Modelica.SIunits.Area A=1 "Window surface area"; parameter Real fFra=0.2 "Fraction of frame, = frame area divided by total area"; parameter Boolean linearize = false "Set to true to linearize emissive power"; parameter Modelica.SIunits.Angle lat=0.34906585039887 "Latitude"; parameter Modelica.SIunits.Angle azi=0 "Surface azimuth"; parameter Modelica.SIunits.Angle til=1.5707963267949 "Surface tilt";Buildings.HeatTransfer.Windows.Window window( A=A, fFra=fFra, glaSys=glaSys, linearize=linearize, til=til) "Window"; Buildings.HeatTransfer.Windows.InteriorHeatTransfer intCon(A=A, fFra=fFra, linearizeRadiation=linearize, absIRSha_air=glaSys.shade.absIR_a, absIRSha_glass=glaSys.shade.absIR_b, tauIRSha_air=glaSys.shade.tauIR_a, tauIRSha_glass=glaSys.shade.tauIR_b, haveExteriorShade=glaSys.haveExteriorShade, haveInteriorShade=glaSys.haveInteriorShade) "Room-side convective heat transfer"; Buildings.HeatTransfer.Windows.ExteriorHeatTransfer extCon( A=A, fFra=fFra, linearizeRadiation=linearize, absIRSha_air=glaSys.shade.absIR_a, absIRSha_glass=glaSys.shade.absIR_b, tauIRSha_air=glaSys.shade.tauIR_a, tauIRSha_glass=glaSys.shade.tauIR_b, haveExteriorShade=glaSys.haveExteriorShade, haveInteriorShade=glaSys.haveInteriorShade, vieFacSky=0.5) "Exterior convective heat transfer"; Modelica.Blocks.Sources.Constant TRooAir(k=293.15, y(unit="K")) "Room air temperature"; Modelica.Blocks.Sources.Ramp uSha(duration=0.5, startTime=0.25) "Shading control signal"; Buildings.HeatTransfer.Sources.PrescribedTemperature TOuts "Outside air temperature"; Buildings.HeatTransfer.Sources.PrescribedTemperature TRAir "Room air temperature"; Buildings.HeatTransfer.Radiosity.IndoorRadiosity indRad(A=A) "Model for indoor radiosity"; Buildings.HeatTransfer.Sources.FixedHeatFlow fixedHeatFlow(Q_flow=0); Buildings.HeatTransfer.Data.GlazingSystems.DoubleClearAir13Clear glaSys( shade=Buildings.HeatTransfer.Data.Shades.Gray(), haveExteriorShade=false, haveInteriorShade=true); Buildings.BoundaryConditions.SolarIrradiation.DirectTiltedSurface HDirTil( til=til, lat=lat, azi=azi); Buildings.BoundaryConditions.SolarIrradiation.DiffuseIsotropic HDifTilIso( til=til); Buildings.BoundaryConditions.WeatherData.ReaderTMY3 weaDat( filNam= "Resources/weatherdata/USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.mos"); Modelica.Blocks.Math.Gain HRoo(k=0.1) "Solar irradiation from room"; Buildings.HeatTransfer.Windows.BaseClasses.WindowRadiation winRad( AWin=1, N=glaSys.nLay, tauGlaSol=glaSys.glass.tauSol, rhoGlaSol_a=glaSys.glass.rhoSol_a, rhoGlaSol_b=glaSys.glass.rhoSol_b, xGla=glaSys.glass.x, tauShaSol_a=glaSys.shade.tauSol_a, tauShaSol_b=glaSys.shade.tauSol_b, rhoShaSol_a=glaSys.shade.rhoSol_a, rhoShaSol_b=glaSys.shade.rhoSol_b, haveExteriorShade=glaSys.haveExteriorShade, haveInteriorShade=glaSys.haveInteriorShade); Buildings.BoundaryConditions.WeatherData.Bus weaBus; equationconnect(uSha.y, extCon.uSha); connect(uSha.y, window.uSha); connect(uSha.y, intCon.uSha); connect(TOuts.port, extCon.air); connect(TRAir.port, intCon.air); connect(TRooAir.y, TRAir.T); connect(window.glaUns_b, intCon.glaUns); connect(window.glaSha_b, intCon.glaSha); connect(window.glaUns_a, extCon.glaUns); connect(window.glaSha_a, extCon.glaSha); connect(window.fra_a, extCon.frame); connect(window.fra_b, intCon.frame); connect(extCon.JOutUns, window.JInUns_a); connect(extCon.JInUns, window.JOutUns_a); connect(extCon.JOutSha, window.JInSha_a); connect(extCon.JInSha, window.JOutSha_a); connect(window.JOutUns_b, intCon.JInUns); connect(intCon.JOutUns, window.JInUns_b); connect(window.JOutSha_b, intCon.JInSha); connect(intCon.JOutSha, window.JInSha_b); connect(indRad.JOut, intCon.JInRoo); connect(intCon.JOutRoo, indRad.JIn); connect(fixedHeatFlow.port, indRad.heatPort); connect(winRad.QTra_flow,HRoo. u); connect(HRoo.y,winRad. HRoo); connect(HDifTilIso.H, winRad.HDif); connect(HDirTil.H, winRad.HDir); connect(HDirTil.inc, winRad.incAng); connect(winRad.QAbsExtSha_flow, extCon.QAbs_flow); connect(winRad.QAbsIntSha_flow, intCon.QAbs_flow); connect(winRad.QAbsGlaUns_flow, window.QAbsUns_flow); connect(winRad.QAbsGlaSha_flow, window.QAbsSha_flow); connect(weaDat.weaBus, weaBus); connect(weaBus, HDirTil.weaBus); connect(HDifTilIso.weaBus, weaBus); connect(TOuts.T, weaBus.TDryBul); connect(uSha.y, winRad.uSha); connect(weaBus.winSpe, extCon.vWin); connect(weaBus.TBlaSky, extCon.TBlaSky); connect(weaBus.TDryBul, extCon.TOut); end Window;
This model tests window overhang and side fins. There are three instances of sha
.
The first instance models an overhang, the second models side fins and the third has neither an overhang
nor a side fin.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Type | Name | Default | Description |
---|---|---|---|
ParameterConstructionWithWindow | conPar[4] | Construction parameters | |
DoubleClearAir13Clear | glaSys | Glazing system |
model FixedShade "Test model for the fixed shade model" extends Modelica.Icons.Example;Buildings.HeatTransfer.Windows.FixedShade sha[4](final conPar=conPar, azi=conPar.azi, each lat=weaDat.lat) "Shade model"; Buildings.BoundaryConditions.WeatherData.ReaderTMY3 weaDat( filNam="Resources/weatherdata/USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.mos"); Buildings.BoundaryConditions.SolarIrradiation.DirectTiltedSurface HDirTil( lat=weaDat.lat, til=Buildings.HeatTransfer.Types.Tilt.Wall, azi=Buildings.HeatTransfer.Types.Azimuth.S) "Direct solar irradiation"; Modelica.Blocks.Routing.Replicator H(nout=4) "Replicator"; Modelica.Blocks.Routing.Replicator incAng(nout=4) "Replicator"; parameter Buildings.Rooms.BaseClasses.ParameterConstructionWithWindow conPar[4]( each til=Buildings.HeatTransfer.Types.Tilt.Wall, each azi=Buildings.HeatTransfer.Types.Azimuth.S, each A=20, each hWin=1.5, each wWin=2, each glaSys=glaSys, redeclare Buildings.HeatTransfer.Data.OpaqueConstructions.Insulation100Concrete200 layers, ove( wR={0.1,0.1,0,0}, wL={0.1,0.1,0,0}, gap={0.1,0.1,0,0}, dep={1,1,0,0}), sidFin( dep={0,1,1,0}, gap={0,0.1,0.1,0}, h={0,0.1,0.1,0})) "Construction parameters"; parameter Buildings.HeatTransfer.Data.GlazingSystems.DoubleClearAir13Clear glaSys "Glazing system"; equationconnect(weaDat.weaBus, sha[1].weaBus); connect(weaDat.weaBus, sha[2].weaBus); connect(weaDat.weaBus, sha[3].weaBus); connect(HDirTil.weaBus, weaDat.weaBus); connect(HDirTil.H, H.u); connect(HDirTil.inc, incAng.u); connect(incAng.y,sha. incAng); connect(H.y,sha. HDirTilUns); connect(weaDat.weaBus, sha[4].weaBus); end FixedShade;