This package contains models for heat transfer in windows.
Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).
Name | Description |
---|---|
Window | Model for a window |
ExteriorHeatTransfer | Model for heat convection at the exterior surface of a window that may have a shading device |
InteriorHeatTransfer | Model for heat convection at the interior surface of a window that may have a shading device |
Examples | Collection of models that illustrate model use and test models |
BaseClasses | Package with base classes for Buildings.HeatTransfer.Windows |
Functions | Functions used in window radiation model |
This model takes as the parameter glaSys
a data record
from the package
Buildings.HeatTransfer.Data.GlazingSystems.
This data record specifies the properties of the glasses,
the gas fills, the frame and of
the shades, if any shade is present.
Whether a shade is present or not is determined by the parameters
glaSys.haveExteriorShade
and
glaSys.haveInteriorShade
.
The parameter linearize
can be used
to linearize the model equations.
If a shade is present, then the input port u
is used
to determine the
shade position. Set u=0
to have the window in the
unshaded mode,
and set u=1
to have the window shade completely deployed.
Any intermediate value is possible.
If no shade is present, then this port will be removed.
For the heat ports, the suffix _a
is used for the exterior, outside-facing side
of the window, and the suffix _b
is used for the interior, room-facing surface
of the window.
Each side has heat ports that connect to the glass, to the frame, and, optionally, to the
shade. If no shade is present, then the heat port to the shade will be removed.
The model has three main submodels that implement the relevant heat balances:
frame
computes heat conduction
through the frame.
glaUns
computes the heat balance of the part of the
window that is unshaded. For example, if u=0.2
, then this model accounts for
the 80% of the window that is not behind the shade or blind.
glaSha
computes the heat balance of the part of the
window that is shaded. For example, if u=0.2
, then this model accounts for
the 20% of the window that is behind the shade or blind.
If the parameter glaSys
specifies that the window has no exterior
and no interior shade, then the model glaSha
will be removed.
The models glaUns
and glaSha
compute the solar radiation that is absorbed by each
glass pane and the solar radiation that is transitted
through the window as a function of the solar incidence angle.
They then compute a heat balance that takes into account heat conduction through the glass,
heat convection through the gas layer,
and infrared radiation from the exterior and the room through the glass and gas layers.
The infrared radiative heat exchange is computed using a radiosity balance.
Heat conduction through the frame is computed using a heat flow path that is parallel to the
glazing system, i.e., there is no heat exchange between the frame
and the glazing layer.
TARCOG 2006: Carli, Inc., TARCOG: Mathematical models for calculation of thermal performance of glazing systems with our without shading devices, Technical Report, Oct. 17, 2006.
Type | Name | Default | Description |
---|---|---|---|
Generic | glaSys | Glazing system | |
Area | A | Heat transfer area [m2] | |
Real | fFra | 0.1 | Fraction of frame |
Boolean | linearize | false | Set to true to linearize emissive power |
Angle | til | Surface tilt [rad] |
Type | Name | Description |
---|---|---|
output RadiosityOutflow | JOutUns_a | Outgoing radiosity that connects to unshaded part of glass at exterior side [W] |
input RadiosityInflow | JInUns_a | Incoming radiosity that connects to unshaded part of glass at exterior side [W] |
output RadiosityOutflow | JOutSha_a | Outgoing radiosity that connects to shaded part of glass at exterior side [W] |
input RadiosityInflow | JInSha_a | Incoming radiosity that connects to shaded part of glass at exterior side [W] |
output RadiosityOutflow | JOutUns_b | Outgoing radiosity that connects to unshaded part of glass at room-side [W] |
input RadiosityInflow | JInUns_b | Incoming radiosity that connects to unshaded part of glass at room-side [W] |
output RadiosityOutflow | JOutSha_b | Outgoing radiosity that connects to shaded part of glass at room-side [W] |
input RadiosityInflow | JInSha_b | Incoming radiosity that connects to shaded part of glass at room-side [W] |
HeatPort_a | glaUns_a | Heat port at unshaded glass of exterior-facing surface |
HeatPort_b | glaUns_b | Heat port at unshaded glass of room-facing surface |
HeatPort_a | glaSha_a | Heat port at shaded glass of exterior-facing surface |
HeatPort_b | glaSha_b | Heat port at shaded glass of room-facing surface |
HeatPort_a | fra_a | Heat port at frame of exterior-facing surface |
HeatPort_b | fra_b | Heat port at frame of room-facing surface |
input RealInput | uSha | Control signal for the shading device. 0: unshaded; 1: fully shaded (removed if no shade is present) |
input RealInput | QAbsUns_flow[glaSys.nLay] | Solar radiation absorbed by unshaded part of glass [W] |
input RealInput | QAbsSha_flow[glaSys.nLay] | Solar radiation absorbed by shaded part of glass [W] |
model Window "Model for a window"parameter Buildings.HeatTransfer.Data.GlazingSystems.Generic glaSys "Glazing system"; parameter Modelica.SIunits.Area A "Heat transfer area"; parameter Real fFra(min=0, max=1)=0.1 "Fraction of frame"; final parameter Modelica.SIunits.Area AFra = fFra*A "Frame area"; final parameter Modelica.SIunits.Area AGla = A-AFra "Glass area"; parameter Boolean linearize=false "Set to true to linearize emissive power"; parameter Modelica.SIunits.Angle til(displayUnit="deg") "Surface tilt";Interfaces.RadiosityOutflow JOutUns_a "Outgoing radiosity that connects to unshaded part of glass at exterior side"; Interfaces.RadiosityInflow JInUns_a "Incoming radiosity that connects to unshaded part of glass at exterior side"; Interfaces.RadiosityOutflow JOutSha_a if haveShade "Outgoing radiosity that connects to shaded part of glass at exterior side"; Interfaces.RadiosityInflow JInSha_a if haveShade "Incoming radiosity that connects to shaded part of glass at exterior side"; Interfaces.RadiosityOutflow JOutUns_b "Outgoing radiosity that connects to unshaded part of glass at room-side"; Interfaces.RadiosityInflow JInUns_b "Incoming radiosity that connects to unshaded part of glass at room-side"; Interfaces.RadiosityOutflow JOutSha_b if haveShade "Outgoing radiosity that connects to shaded part of glass at room-side"; Interfaces.RadiosityInflow JInSha_b if haveShade "Incoming radiosity that connects to shaded part of glass at room-side"; Buildings.HeatTransfer.Windows.BaseClasses.CenterOfGlass glaUns( final glaSys=glaSys, final A=AGla, final til=til, final linearize=linearize) "Model for unshaded center of glass"; Buildings.HeatTransfer.Windows.BaseClasses.CenterOfGlass glaSha( final glaSys=glaSys, final A=AGla, final til=til, final linearize=linearize) if haveShade "Model for shaded center of glass"; Modelica.Thermal.HeatTransfer.Components.ThermalConductor frame(G=AFra* glaSys.UFra) "Thermal conductance of frame"; Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a glaUns_a "Heat port at unshaded glass of exterior-facing surface"; Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_b glaUns_b "Heat port at unshaded glass of room-facing surface"; Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a glaSha_a if haveShade "Heat port at shaded glass of exterior-facing surface"; Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_b glaSha_b if haveShade "Heat port at shaded glass of room-facing surface"; Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a fra_a "Heat port at frame of exterior-facing surface"; Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_b fra_b "Heat port at frame of room-facing surface"; Modelica.Blocks.Interfaces.RealInput uSha(min=0, max=1) if haveShade "Control signal for the shading device. 0: unshaded; 1: fully shaded (removed if no shade is present)"; Modelica.Blocks.Interfaces.RealInput QAbsUns_flow[glaSys.nLay](each unit="W", each quantity="Power") "Solar radiation absorbed by unshaded part of glass"; Modelica.Blocks.Interfaces.RealInput QAbsSha_flow[glaSys.nLay](each unit="W", each quantity="Power") if haveShade "Solar radiation absorbed by shaded part of glass"; protected final parameter Boolean haveShade = glaSys.haveExteriorShade or glaSys.haveInteriorShade "Parameter, equal to true if the window has a shade";BaseClasses.ShadingSignal shaSig(final haveShade=glaSys.haveExteriorShade or glaSys.haveInteriorShade) "Block to constrain the shading control signal to be strictly within (0, 1) if a shade is present"; equationconnect(frame.port_a, fra_a); connect(frame.port_b, fra_b); connect(glaUns.glass_a, glaUns_a); connect(glaUns.glass_b, glaUns_b); connect(shaSig.yCom, glaUns.u); connect(shaSig.y, glaSha.u); connect(shaSig.u, uSha); connect(glaSha.glass_a, glaSha_a); connect(glaSha.glass_b, glaSha_b); connect(JInUns_a, glaUns.JIn_a); connect(glaUns.JOut_a, JOutUns_a); connect(glaUns.JOut_b, JOutUns_b); connect(JInUns_b, glaUns.JIn_b); connect(JInSha_a, glaSha.JIn_a); connect(glaSha.JOut_a, JOutSha_a); connect(glaSha.JOut_b, JOutSha_b); connect(JInSha_b, glaSha.JIn_b); connect(glaUns.QAbs_flow, QAbsUns_flow); connect(glaSha.QAbs_flow,QAbsSha_flow); end Window;
Model for the convective heat transfer between a window shade, a window surface and the room air. This model is applicable for the outside-facing surface of a window system and can be used with the model Buildings.HeatTransfer.Windows.Window.
This model adds the convective heat transfer coefficient to its base model.
Extends from BaseClasses.PartialConvection (Partial model for heat convection between a possibly shaded window that can be outside or inside the room).
Type | Name | Default | Description |
---|---|---|---|
Area | A | Heat transfer area of frame and window [m2] | |
Real | fFra | Fraction of window frame divided by total window area | |
Boolean | linearizeRadiation | Set to true to linearize emissive power | |
Real | F_sky | View factor from receiving surface to sky | |
Shading | |||
Emissivity | absIRSha_air | Infrared absorptivity of shade surface that faces air [1] | |
Emissivity | absIRSha_glass | Infrared absorptivity of shade surface that faces glass [1] | |
TransmissionCoefficient | tauIRSha_air | Infrared transmissivity of shade for radiation coming from the exterior or the room [1] | |
TransmissionCoefficient | tauIRSha_glass | Infrared transmissivity of shade for radiation coming from the glass [1] | |
Boolean | haveExteriorShade | Set to true if window has exterior shade (at surface a) | |
Boolean | haveInteriorShade | Set to true if window has interior shade (at surface b) | |
Boolean | thisSideHasShade | haveExteriorShade | Set to true if this side of the model has a shade |
Type | Name | Description |
---|---|---|
input RealInput | uSha | Input connector, used to scale the surface area to take into account an operable shading device, 0: unshaded; 1: fully shaded |
HeatPort_a | air | Port that connects to the air (room or outside) |
HeatPort_b | glaUns | Heat port that connects to unshaded part of glass |
HeatPort_b | glaSha | Heat port that connects to shaded part of glass |
HeatPort_a | frame | Heat port at window frame |
output RadiosityOutflow | JOutUns | Outgoing radiosity that connects to unshaded part of glass [W] |
input RadiosityInflow | JInUns | Incoming radiosity that connects to unshaded part of glass [W] |
output RadiosityOutflow | JOutSha | Outgoing radiosity that connects to shaded part of glass [W] |
input RadiosityInflow | JInSha | Incoming radiosity that connects to shaded part of glass [W] |
input RealInput | QAbs_flow | Solar radiation absorbed by shade [W] |
input RealInput | vWin | Wind speed |
input RealInput | f_clr | Fraction of sky that is clear |
model ExteriorHeatTransfer "Model for heat convection at the exterior surface of a window that may have a shading device" extends BaseClasses.PartialConvection(final thisSideHasShade=haveExteriorShade);Modelica.Blocks.Interfaces.RealInput vWin "Wind speed"; Buildings.HeatTransfer.Windows.BaseClasses.ExteriorConvectionCoefficient conCoeGla( final A=AGla) "Model for the outside convective heat transfer coefficient of the glass"; Buildings.HeatTransfer.Windows.BaseClasses.ExteriorConvectionCoefficient conCoeFra( final A=AFra) "Model for the outside convective heat transfer coefficient of the frame"; Radiosity.OutdoorRadiosity radOut( final A=AGla, F_sky=F_sky, linearize=linearizeRadiation) "Outdoor radiosity"; Modelica.Blocks.Interfaces.RealInput f_clr(min=0, max=1) "Fraction of sky that is clear"; parameter Real F_sky(min=0, max=1) "View factor from receiving surface to sky"; equation assert(-1E-10<F_sky and 1.00001 > F_sky, "View factor to sky is out of range. F_sky = " + String(F_sky) + "\n Check parameters.");connect(vWin, conCoeGla.v); connect(vWin, conCoeFra.v); connect(conCoeFra.GCon, conFra.Gc); connect(conCoeGla.GCon, proSha.u1); connect(conCoeGla.GCon, proUns.u2); connect(radOut.f_clr,f_clr); connect(radOut.JOut, radShaOut.JIn); connect(air, radOut.heatPort); end ExteriorHeatTransfer;
Model for the convective heat transfer between a window shade, a window surface and the room air. This model is applicable for the room-facing surface of a window system and can be used with the model Buildings.HeatTransfer.Windows.Window.
This model adds the convective heat transfer coefficient to its base model.
Extends from BaseClasses.PartialConvection (Partial model for heat convection between a possibly shaded window that can be outside or inside the room).
Type | Name | Default | Description |
---|---|---|---|
Area | A | Heat transfer area of frame and window [m2] | |
Real | fFra | Fraction of window frame divided by total window area | |
Boolean | linearizeRadiation | Set to true to linearize emissive power | |
Shading | |||
Emissivity | absIRSha_air | Infrared absorptivity of shade surface that faces air [1] | |
Emissivity | absIRSha_glass | Infrared absorptivity of shade surface that faces glass [1] | |
TransmissionCoefficient | tauIRSha_air | Infrared transmissivity of shade for radiation coming from the exterior or the room [1] | |
TransmissionCoefficient | tauIRSha_glass | Infrared transmissivity of shade for radiation coming from the glass [1] | |
Boolean | haveExteriorShade | Set to true if window has exterior shade (at surface a) | |
Boolean | haveInteriorShade | Set to true if window has interior shade (at surface b) | |
Boolean | thisSideHasShade | haveInteriorShade | Set to true if this side of the model has a shade |
Type | Name | Description |
---|---|---|
input RealInput | uSha | Input connector, used to scale the surface area to take into account an operable shading device, 0: unshaded; 1: fully shaded |
HeatPort_a | air | Port that connects to the air (room or outside) |
HeatPort_b | glaUns | Heat port that connects to unshaded part of glass |
HeatPort_b | glaSha | Heat port that connects to shaded part of glass |
HeatPort_a | frame | Heat port at window frame |
output RadiosityOutflow | JOutUns | Outgoing radiosity that connects to unshaded part of glass [W] |
input RadiosityInflow | JInUns | Incoming radiosity that connects to unshaded part of glass [W] |
output RadiosityOutflow | JOutSha | Outgoing radiosity that connects to shaded part of glass [W] |
input RadiosityInflow | JInSha | Incoming radiosity that connects to shaded part of glass [W] |
input RealInput | QAbs_flow | Solar radiation absorbed by shade [W] |
input RadiosityInflow | JInRoo | Incoming radiosity of window construction [W] |
output RadiosityOutflow | JOutRoo | Outgoing radiosity of window construction [W] |
HeatPort_a | sha | Heat port to shade |
model InteriorHeatTransfer "Model for heat convection at the interior surface of a window that may have a shading device" extends BaseClasses.PartialConvection(final thisSideHasShade=haveInteriorShade);Buildings.HeatTransfer.Windows.BaseClasses.InteriorConvectionCoefficient conCoeGla( final A=AGla) "Model for the inside convective heat transfer coefficient of the glass"; Buildings.HeatTransfer.Windows.BaseClasses.InteriorConvectionCoefficient conCoeFra( final A=AFra) "Model for the inside convective heat transfer coefficient of the frame"; Interfaces.RadiosityInflow JInRoo "Incoming radiosity of window construction"; Interfaces.RadiosityOutflow JOutRoo "Outgoing radiosity of window construction"; Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a sha if windowHasShade "Heat port to shade"; equationconnect(conCoeFra.GCon, conFra.Gc); connect(conCoeGla.GCon, proUns.u2); connect(conCoeGla.GCon, proSha.u1); connect(JInRoo, radShaOut.JIn); connect(JInUns, JOutRoo); connect(shade.JOut_air, JOutRoo); connect(shade.sha, sha); end InteriorHeatTransfer;