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 |
|---|---|
| Test model for the heat transfer at the window boundary condition | |
| Test model for the fixed shade model | |
| This example tests the window overhang model | |
| This example demonstrates the use of side fins for a window | |
| Test model for the window |
Buildings.HeatTransfer.Windows.Examples.BoundaryHeatTransfer
| 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 |
| DoubleClearAir13Clear | glaSys2 | Parameters for glazing system | |
| SingleClear3 | glaSys1 | ||
| TripleClearAir13ClearAir13Clear | glaSys3 | Parameters for glazing system | |
| DoubleClearAir13Clear | glaSys | Parameters for glazing system |
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";
parameter Buildings.HeatTransfer.Data.GlazingSystems.DoubleClearAir13Clear glaSys2(
shade=Buildings.HeatTransfer.Data.Shades.Gray(),
UFra=2,
haveInteriorShade=false,
haveExteriorShade=false) "Parameters for glazing system";
parameter Buildings.HeatTransfer.Data.GlazingSystems.SingleClear3 glaSys1(UFra=2);
parameter Buildings.HeatTransfer.Data.GlazingSystems.TripleClearAir13ClearAir13Clear
glaSys3(UFra=1) "Parameters for glazing system";
parameter 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";
equation
connect(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;
Buildings.HeatTransfer.Windows.Examples.FixedShade
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;
Buildings.HeatTransfer.Windows.Examples.Overhang
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;
Buildings.HeatTransfer.Windows.Examples.SideFins
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;
Buildings.HeatTransfer.Windows.Examples.Window
| 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] |
| DoubleClearAir13Clear | glaSys |
| 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);
parameter 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;
equation
connect(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;