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 window | |
| Test model for the heat transfer at the window boundary condition |
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] |
| 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,
F_sky=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";
Modelica.Blocks.Sources.Constant fClr(k=0) "Fraction of sky that is clear";
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,
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(fClr.y, extCon.f_clr);
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);
end 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 |
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,
F_sky=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";
Modelica.Blocks.Sources.Constant fClr(k=0) "Fraction of sky that is clear";
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";
equation
connect(uSha.y, extCon.uSha);
connect(TOuts.port, extCon.air);
connect(TRooAir.y, TRAir.T);
connect(fClr.y, extCon.f_clr);
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);
end BoundaryHeatTransfer;