Description: "Functions used in window radiation model"

- Home > Modelica

## Buildings.HeatTransfer.Windows.Functions

Functions used in window radiation model

### Information

This package contains functions that are used to compute heat transfer in the window model.

Extends from Modelica.Icons.Package (Icon for standard packages).

### Package Content

Name | Description
--- | ---
devAbsExteriorIrradiationInteriorShading | Angular and hemispherical absorptance of a shading device for exterior irradiation with interior shading
devAbsInteriorIrradiationInteriorShading | Hemiperical absorptance of a shading device for interior irradiation with interior shading
getAngle | Generate incident angles
getGlassTR | Transmittance and reflectance of glass
glassAbsExteriorIrradiationExteriorShading | Angular and hemispherical absorptance of each glass pane for exterior irradiation with exterior shading
glassAbsExteriorIrradiationInteriorShading | Angular and hemispherical absorptance of each glass pane for exterior irradiation with interior shading
glassAbsExteriorIrradiationNoShading | Angular and hemispherical absorptance of each glass pane for exterior irradiation without shading
glassAbsInteriorIrradiationExteriorShading | Hemispherical absorptance of each glass pane for interior irradiation with exterior shading
glassAbsInteriorIrradiationInteriorShading | Hemispherical absorptance of each glass pane for interior irradiation with interior shading
glassAbsInteriorIrradiationNoShading | Hemispherical absorptance of each glass pane for interior irradiation without shading
glassProperty | Compute angular variation and hemispherical integration of the transmittance and reflectance for each glass pane without shading
glassPropertyCoated | Compute angular variation and hemispherical integration of the transmittance and reflectance for a coated glass pane without shading
glassPropertyUncoated | Compute angular variation and hemispherical integration of the transmittance and reflectance for a uncoated glass pane without shading
glassTRExteriorIrradiationNoShading | Transmittance and reflectance of glass panes for exterior irradiation without shading
glassTRInteriorIrradiationNoShading | Transmittance and reflectance of each glass pane for interior irradiation without shading
winTExteriorIrradiationInteriorShading | Angular and hemispherical transmittance of a window system (glass and shading device) for exterior irradiation with interior shading
winTExteriorIrradiatrionExteriorShading | Angular and hemispherical transmittance of a window system (glass + shading device) for exterior irradiation with exterior shading
winTRInteriorIrradiationExteriorShading | Hemispherical transmittance and back reflectance of a window system (glass and shading device) for interior irradiation with exterior shading
winTRInteriorIrradiationInteriorShading | Hemispherical transmittance and back reflectance of a window system (glass and shading device) for interior irradiation with interior shading
BaseClasses | Package with base classes for Buildings.HeatTransfer.Windows.Functions

## Buildings.HeatTransfer.Windows.Functions.devAbsExteriorIrradiationInteriorShading

Angular and hemispherical absorptance of a shading device for exterior irradiation with interior shading

### Information

This function computes the angular and hemispherical absorptance of a shading device for exterior irradiation with interior shading. Pane `1` is facing the outside and pane `N` is facing the room.

Extends from Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowShadingRadiation (Partial function for window radiation property with shading device).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Real | traRef[3, N, N, HEM] |  | Transmittance and reflectance with exterior irradiation and no shading
Real | traRefShaDev[2, 2] |  | Transmittance and reflectance of shading device
Integer | N |  | Number of glass layers
Integer | HEM |  | Index of hemispherical integration

### Outputs

Type | Name | Description
--- | --- | ---
Real | absExtIrrIntShaDev[HEM] | Absorptance of a shading device for exterior irradiation with interior shading

### Modelica definition

function devAbsExteriorIrradiationInteriorShading "Angular and hemispherical absorptance of a shading device for exterior irradiation with interior shading" extends Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowShadingRadiation; output Real absExtIrrIntShaDev[HEM](each min=0, each max=1) "Absorptance of a shading device for exterior irradiation with interior shading"; algorithm for iD in 1:HEM loop absExtIrrIntShaDev[iD] := traRef[TRA, 1, N, iD]*(1 - traIntShaDev - refIntShaDev)/(1 - refIntShaDev*traRef[Rb, N, 1, HEM]) "Equation (A.4.91)"; end for; end devAbsExteriorIrradiationInteriorShading;

## Buildings.HeatTransfer.Windows.Functions.devAbsInteriorIrradiationInteriorShading

Hemiperical absorptance of a shading device for interior irradiation with interior shading

### Information

This function computes the hemiperical absorbtance of a shading device for interior irradiation with interior shading.

Extends from Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowShadingRadiation (Partial function for window radiation property with shading device).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Real | traRef[3, N, N, HEM] |  | Transmittance and reflectance with exterior irradiation and no shading
Real | traRefShaDev[2, 2] |  | Transmittance and reflectance of shading device
Integer | N |  | Number of glass layers
Integer | HEM |  | Index of hemispherical integration

### Outputs

Type | Name | Description
--- | --- | ---
Real | absIntIrrIntShaDev | Hemiperical absorbtance of a shading device for interior irradiation with interior shading

### Modelica definition

function devAbsInteriorIrradiationInteriorShading "Hemiperical absorptance of a shading device for interior irradiation with interior shading" extends Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowShadingRadiation; output Real absIntIrrIntShaDev(min=0, max=1) "Hemiperical absorbtance of a shading device for interior irradiation with interior shading"; protected constant Real rRho=traRef[3, N, 1, HEM]*refIntShaDev "Part of equation (A.4.103)"; constant Real rTau=traRef[3, N, 1, HEM]*traIntShaDev "Part of equation (A.4.103)"; constant Real c=traIntShaDev*(1 - rRho/(1 - rRho)) "Equation (4.99)"; algorithm absIntIrrIntShaDev := (1 - traIntShaDev - refIntShaDev)*(1 + rTau/(1 - rRho)) "Equation (4.103)"; end devAbsInteriorIrradiationInteriorShading;

## Buildings.HeatTransfer.Windows.Functions.getAngle

Generate incident angles

### Information

This function computes discrete incident angles for the window radiation calculation. The range is from 0 to 90 degree.

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Integer | NDIR |  | Number of incident angles

### Outputs

Type | Name | Description
--- | --- | ---
Angle | psi[NDIR] | Array of incident angles [rad]

### Modelica definition

function getAngle "Generate incident angles" input Integer NDIR "Number of incident angles"; output Modelica.SIunits.Angle psi[NDIR] "Array of incident angles"; protected constant Real deltaX=0.5*Modelica.Constants.pi/(NDIR - 1); algorithm for i in 1:NDIR loop psi[i] := (i - 1)*deltaX; end for; end getAngle;

## Buildings.HeatTransfer.Windows.Functions.getGlassTR

Transmittance and reflectance of glass

### Information

This function computes the angular variation of the transmittance and reflectance of each glass pane. It accounts for the transmittance and reflectance among different panes. Pane `1` is facing outside and pane `N` is facing the room. For instance, `traRef[TRA, 1, N, iD]` means transmittance between layer `1` to `N` for exterior irradiation and `traRef[TRA, N, 1, iD]` means the transmittance for interior irradiation.

Extends from Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialGlassRadiation (Partial function for glass radiation property).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Integer | N |  | Number of glass layers
Integer | HEM |  | Index of hemispherical integration
Real | layer[3, N, HEM] |  | Property of glass pane

### Outputs

Type | Name | Description
--- | --- | ---
Real | traRef[3, N, N, HEM] | Glass transmittance, front and back reflectance

### Modelica definition

function getGlassTR "Transmittance and reflectance of glass" extends Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialGlassRadiation; input Real layer[3, N, HEM] "Property of glass pane"; output Real traRef[3, N, N, HEM](each min=0, each max=1) "Glass transmittance, front and back reflectance"; protected Real traRefIntIrr[3, N, N, HEM](each min=0, each max=1) "temporary array for glass transmittance, front and back reflectance for interior irradiation"; algorithm traRef := Buildings.HeatTransfer.Windows.Functions.glassTRExteriorIrradiationNoShading( N, HEM, layer) "property for exterior irradiation"; traRefIntIrr := Buildings.HeatTransfer.Windows.Functions.glassTRInteriorIrradiationNoShading( N, HEM, layer) "property for interior irradiation"; // Copy the property for interior irradiation to glass property for k in TRA:Rb loop for i in 1:N - 1 loop for j in i + 1:N loop for iD in 1:HEM loop traRef[k, N + 1 - i, N + 1 - j, iD] := traRefIntIrr[k, N + 1 - i, N + 1 - j, iD]; end for; end for; end for; end for; end getGlassTR;

## Buildings.HeatTransfer.Windows.Functions.glassAbsExteriorIrradiationExteriorShading

Angular and hemispherical absorptance of each glass pane for exterior irradiation with exterior shading

### Information

This function computes angular and hemispherical absorptance of each glass pane for exterior irradiation with exterior shading. Pane `1` is facing outside and pane `N` is facing the room.

Extends from Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowShadingRadiation (Partial function for window radiation property with shading device).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Real | absExtIrrNoSha[N, HEM] |  | Angular and hemispherical absorptance of each glass pane for exterior irradiation without shading
Real | traRef[3, N, N, HEM] |  | Transmittance and reflectance with exterior irradiation and no shading
Real | traRefShaDev[2, 2] |  | Transmittance and reflectance of shading device
Integer | N |  | Number of glass layers
Integer | HEM |  | Index of hemispherical integration

### Outputs

Type | Name | Description
--- | --- | ---
Real | absExtIrrExtSha[N, HEM] | Angular and hemispherical absorptance of each glass pane for exterior irradiation with exterior shading

### Modelica definition

function glassAbsExteriorIrradiationExteriorShading "Angular and hemispherical absorptance of each glass pane for exterior irradiation with exterior shading" input Real absExtIrrNoSha[N, HEM](each min=0, each max=1) "Angular and hemispherical absorptance of each glass pane for exterior irradiation without shading"; extends Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowShadingRadiation; output Real absExtIrrExtSha[N, HEM](each min=0, each max=1) "Angular and hemispherical absorptance of each glass pane for exterior irradiation with exterior shading"; protected Real c "Intermediate variable"; algorithm for iD in 1:HEM loop c := traExtShaDev*(1 + traRef[Ra, 1, N, iD]*refExtShaDev/(1 - traRef[Ra, 1, N, HEM]*refExtShaDev)); for i in 1:N loop absExtIrrExtSha[i, iD] := c*absExtIrrNoSha[i, iD]; end for; end for; end glassAbsExteriorIrradiationExteriorShading;

## Buildings.HeatTransfer.Windows.Functions.glassAbsExteriorIrradiationInteriorShading

Angular and hemispherical absorptance of each glass pane for exterior irradiation with interior shading

### Information

This function computes angular and hemispherical absorptance of each glass pane for exterior irradiation with interior shading. Pane `1` is facing the outside and pane `N` is facing the room.

Extends from Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowShadingRadiation (Partial function for window radiation property with shading device).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Real | absExtIrrNoSha[N, HEM] |  | Absorptance for exterior irradiation without shading
Real | traRef[3, N, N, HEM] |  | Transmittance and reflectance with exterior irradiation and no shading
Real | traRefShaDev[2, 2] |  | Transmittance and reflectance of shading device
Integer | N |  | Number of glass layers
Integer | HEM |  | Index of hemispherical integration

### Outputs

Type | Name | Description
--- | --- | ---
Real | absExtIrrNoShaIntSha[N, HEM] | Angular and hemispherical absorptance of each glass pane for exterior irradiation with interior shading

### Modelica definition

function glassAbsExteriorIrradiationInteriorShading "Angular and hemispherical absorptance of each glass pane for exterior irradiation with interior shading" input Real absExtIrrNoSha[N, HEM](each min=0, each max=1) "Absorptance for exterior irradiation without shading"; extends Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowShadingRadiation; output Real absExtIrrNoShaIntSha[N, HEM](each min=0, each max=1) "Angular and hemispherical absorptance of each glass pane for exterior irradiation with interior shading"; protected Real fac; Real absFro "Front (outside-facing) absorptance"; Real absBac "Back (room-facing) absorptance"; Integer i "Index of glass pane"; algorithm for iD in 1:HEM loop i := 1; fac := traRef[TRA, 1, N, iD]*refIntShaDev/(1 - traRef[Rb, N, 1, HEM]* refIntShaDev) "Equation (A.4.90)"; absBac := 1 - traRef[TRA, i, i, iD] - traRef[Rb, i, i, iD] "Equation (A.4.81b)"; if N >= 2 then absExtIrrNoShaIntSha[i, iD] := absExtIrrNoSha[i, iD] + fac*traRef[TRA, N, i + 1, HEM]*absBac "Equation (A.4.90)"; for i in 2:N - 1 loop fac := traRef[TRA, 1, N, iD]*refIntShaDev/(1 - traRef[Rb, N, 1, HEM]* refIntShaDev) "Equation (A.4.90)"; absFro := 1 - traRef[TRA, i, i, iD] - traRef[Ra, i, i, iD] "Equaiton (A.4.81a)"; absBac := 1 - traRef[TRA, i, i, iD] - traRef[Rb, i, i, iD] "Equation (A.4.81b)"; absExtIrrNoShaIntSha[i, iD] := absExtIrrNoSha[i, iD] + fac*(traRef[TRA, N, i, HEM]*traRef[Rb, i - 1, 1, HEM]*absFro + traRef[TRA, N, i + 1, HEM]*absBac) "Equation (A.4.90)"; end for; i := N; fac := traRef[TRA, 1, N, iD]*refIntShaDev/(1 - traRef[Rb, N, 1, HEM]* refIntShaDev) "Equation (A.4.90)"; absFro := 1 - traRef[TRA, i, i, iD] - traRef[Ra, i, i, iD] "Equaiton (A.4.81a)"; absBac := 1 - traRef[TRA, i, i, iD] - traRef[Rb, i, i, iD] "Equation (A.4.81b)"; absExtIrrNoShaIntSha[i, iD] := absExtIrrNoSha[i, iD] + fac*(traRef[TRA, N, i, HEM]*traRef[Rb, i - 1, 1, HEM]*absFro + absBac) "Equation (A.4.90)"; else absExtIrrNoShaIntSha[i, iD] := absExtIrrNoSha[i, iD] + fac*absBac "Equation (A.4.90)"; end if; end for; end glassAbsExteriorIrradiationInteriorShading;

## Buildings.HeatTransfer.Windows.Functions.glassAbsExteriorIrradiationNoShading

Angular and hemispherical absorptance of each glass pane for exterior irradiation without shading

### Information

This function computes specular and hemispherical absorptance of each glass pane for exterior irradiation without shading. It counts the transmittance and reflectance among different panes. Pane `1` is facing the outside and pane `N` is facing the room.

Extends from Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowRadiation (Partial function for window radiation property).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Real | traRef[3, N, N, HEM] |  | Transmittance and reflectance with exterior irradiation and no shading
Integer | N |  | Number of glass layers
Integer | HEM |  | Index of hemispherical integration

### Outputs

Type | Name | Description
--- | --- | ---
Real | abs[N, HEM] | Angular and hemispherical absorptance of each glass pane for exterior irradiation without shading. Indices: abs[1 to N : ] -> pane 1 to N; abs[ : 1 to HEM] -> angular (1:HEM-1) and hemispherical (HEM)

### Modelica definition

function glassAbsExteriorIrradiationNoShading "Angular and hemispherical absorptance of each glass pane for exterior irradiation without shading" extends Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowRadiation; output Real[N, HEM] abs(each min=0, each max=1) "Angular and hemispherical absorptance of each glass pane for exterior irradiation without shading. Indices: abs[1 to N : ] -> pane 1 to N; abs[ : 1 to HEM] -> angular (1:HEM-1) and hemispherical (HEM)"; protected Real af "Front (outside-facing side) absorptance of a pane"; Real ab "Back (room-facing side) absorptance of a pane"; Real deno1 "Denominantor"; Real deno2 "Denominantor"; Integer j; constant Real SMALL=Modelica.Constants.small "Small value"; algorithm if N == 1 then j := 1; for iD in 1:HEM loop abs[j, iD] := 1 - traRef[TRA, j, j, iD] - traRef[Ra, j, j, iD] "Equation (A.4.79)"; end for; else for iD in 1:HEM loop j := 1; af := 1 - traRef[TRA, j, j, iD] - traRef[Ra, j, j, iD] "Equation (A.4.81a)"; ab := 1 - traRef[TRA, j, j, iD] - traRef[Rb, j, j, iD] "Equation (A.4.81b)"; deno2 := 1 - traRef[Rb, j, 1, iD]*traRef[Ra, j + 1, N, iD]; if deno2 < SMALL then abs[j, iD] := 0; else abs[j, iD] := af + ab*traRef[TRA, 1, j, iD]*traRef[Ra, j + 1, N, iD]/ deno2 "Equation (A.4.82) and (A.4.83b)"; end if; for j in 2:N - 1 loop af := 1 - traRef[TRA, j, j, iD] - traRef[Ra, j, j, iD] "Equation (A.4.81a)"; ab := 1 - traRef[TRA, j, j, iD] - traRef[Rb, j, j, iD] "Equation (A.4.81b)"; deno1 := 1 - traRef[Ra, j, N, iD]*traRef[Rb, j - 1, 1, iD]; deno2 := 1 - traRef[Rb, j, 1, iD]*traRef[Ra, j + 1, N, iD]; if deno1 < SMALL or deno2 < SMALL then abs[j, iD] := 0; else abs[j, iD] := af*traRef[TRA, 1, j - 1, iD]/deno1 + ab*traRef[TRA, 1, j, iD]*traRef[Ra, j + 1, N, iD]/deno2 "Equation (A.4.83b)"; end if; end for; j := N; af := 1 - traRef[TRA, j, j, iD] - traRef[Ra, j, j, iD] "Equation (A.4.81a)"; deno1 := 1 - traRef[Ra, j, N, iD]*traRef[Rb, j - 1, 1, iD]; if deno1 < SMALL then abs[j, iD] := 0; else abs[j, iD] := af*traRef[TRA, 1, j - 1, iD]/deno1; end if; end for; end if; end glassAbsExteriorIrradiationNoShading;

## Buildings.HeatTransfer.Windows.Functions.glassAbsInteriorIrradiationExteriorShading

Hemispherical absorptance of each glass pane for interior irradiation with exterior shading

### Information

This function computes the hemispherical absorptance of each glass pane for interior irradiation with exterior shading. Pane `1` is facing the outside and pane `N` is facing the room.

Extends from Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowShadingRadiation (Partial function for window radiation property with shading device).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Real | absIntIrrNoSha[N] |  | Absorptance for interior irradiation without shading
Real | traRef[3, N, N, HEM] |  | Transmittance and reflectance with exterior irradiation and no shading
Real | traRefShaDev[2, 2] |  | Transmittance and reflectance of shading device
Integer | N |  | Number of glass layers
Integer | HEM |  | Index of hemispherical integration

### Outputs

Type | Name | Description
--- | --- | ---
Real | absIntIrrExtSha[N] | Hemispherical absorptance of each glass pane for interior irradiation with exterior shading

### Modelica definition

function glassAbsInteriorIrradiationExteriorShading "Hemispherical absorptance of each glass pane for interior irradiation with exterior shading" input Real absIntIrrNoSha[N] "Absorptance for interior irradiation without shading"; extends Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowShadingRadiation; output Real absIntIrrExtSha[N](each min=0, each max=1) "Hemispherical absorptance of each glass pane for interior irradiation with exterior shading"; protected Real fac; Real absFro "Front absorptance"; Real absBac "Back absorptance"; Integer i "Pane index"; algorithm fac := traRef[TRA, N, 1, HEM]*refExtShaDev/(1 - traRef[Ra, 1, N, HEM]* refExtShaDev); i := 1; absFro := 1 - traRef[TRA, i, i, HEM] - traRef[Ra, i, i, HEM] "Equaiton (A.4.81a)"; absBac := 1 - traRef[TRA, i, i, HEM] - traRef[Rb, i, i, HEM] "Equation (A.4.81b)"; if N >= 2 then absIntIrrExtSha[i] := absIntIrrNoSha[i] + fac*absFro + fac*traRef[TRA, 1, i, HEM]*traRef[Ra, i + 1, N, HEM]*absBac "Equation (A.4.94)"; for i in 2:N - 1 loop absFro := 1 - traRef[TRA, i, i, HEM] - traRef[Ra, i, i, HEM] "Equaiton (A.4.81a)"; absBac := 1 - traRef[TRA, i, i, HEM] - traRef[Rb, i, i, HEM] "Equation (A.4.81b)"; absIntIrrExtSha[i] := absIntIrrNoSha[i] + fac*traRef[TRA, 1, i - 1, HEM]* absFro + fac*traRef[TRA, 1, i, HEM]*traRef[Ra, i + 1, N, HEM]*absBac "Equation (A.4.94)"; end for; i := N; absFro := 1 - traRef[TRA, i, i, HEM] - traRef[Ra, i, i, HEM] "Equaiton (A.4.81a)"; absIntIrrExtSha[i] := absIntIrrNoSha[i] + fac*traRef[TRA, 1, i - 1, HEM]* absFro "Equation (A.4.94)"; else absIntIrrExtSha[i] := absIntIrrNoSha[i] + fac*absFro "Equation (A.4.94)"; end if; end glassAbsInteriorIrradiationExteriorShading;

## Buildings.HeatTransfer.Windows.Functions.glassAbsInteriorIrradiationInteriorShading

Hemispherical absorptance of each glass pane for interior irradiation with interior shading

### Information

This function computes the hemispherical absorbtance of each glass pane for interior irradiation with interior shading. Pane `1` is facing the outside and pane `N` is facing the room.

Extends from Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowShadingRadiation (Partial function for window radiation property with shading device).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Real | absIntIrrNoSha[N] |  | Hemispherical absorptance wfor interior irradiation without interior shading
Real | traRef[3, N, N, HEM] |  | Transmittance and reflectance with exterior irradiation and no shading
Real | traRefShaDev[2, 2] |  | Transmittance and reflectance of shading device
Integer | N |  | Number of glass layers
Integer | HEM |  | Index of hemispherical integration

### Outputs

Type | Name | Description
--- | --- | ---
Real | absIntIrrIntSha[N] | Hemispherical absorbtance of each glass pane for interior irradiation with interior shading

### Modelica definition

function glassAbsInteriorIrradiationInteriorShading "Hemispherical absorptance of each glass pane for interior irradiation with interior shading" input Real absIntIrrNoSha[N](each min=0, each max=1) "Hemispherical absorptance wfor interior irradiation without interior shading"; extends Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowShadingRadiation; output Real absIntIrrIntSha[N](each min=0, each max=1) "Hemispherical absorbtance of each glass pane for interior irradiation with interior shading"; protected constant Real rRho=traRef[Rb, N, 1, HEM]*refIntShaDev "Part of Equation (4.99)"; constant Real c=traIntShaDev*(1 + rRho/(1 - rRho)) "Equation (4.99)"; algorithm for i in 1:N loop absIntIrrIntSha[i] := c*absIntIrrNoSha[i] "Equation (A4.100a)"; end for; end glassAbsInteriorIrradiationInteriorShading;

## Buildings.HeatTransfer.Windows.Functions.glassAbsInteriorIrradiationNoShading

Hemispherical absorptance of each glass pane for interior irradiation without shading

### Information

This function computes the hemispherical absorptance of each glass pane for interior irradiation without no shading. The angular irradiation is not considered since the interior irradiation (from the room) is assumed to be diffusive. It is a reverse of the function Buildings.HeatTransfer.Windows.Functions.glassAbsInterirorIrradiationNoShading.

Extends from Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowRadiation (Partial function for window radiation property).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Real | traRef[3, N, N, HEM] |  | Transmittance and reflectance with exterior irradiation and no shading
Integer | N |  | Number of glass layers
Integer | HEM |  | Index of hemispherical integration

### Outputs

Type | Name | Description
--- | --- | ---
Real | absIntIrrNoSha[N] | Hemispherical absorptance of each glass layer for interior irradiation without shading

### Modelica definition

function glassAbsInteriorIrradiationNoShading "Hemispherical absorptance of each glass pane for interior irradiation without shading" extends Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowRadiation; output Real[N] absIntIrrNoSha(each min=0, each max=1) "Hemispherical absorptance of each glass layer for interior irradiation without shading"; protected Real dTraRef[3, N, N, HEM](each min=0, each max=1) "Dummy transmittance and reflectance with exterior irradiation without shading"; Real dAbs[N, HEM](each min=0, each max=1) "Dummy absorptance with exterior irradiation and no shading"; algorithm // Reverse the data srtucture for exterior irradiation and no shading for i in 1:N loop for j in 1:N loop for iD in 1:HEM loop dTraRef[TRA, i, j, iD] := traRef[TRA, N + 1 - i, N + 1 - j, iD]; dTraRef[Ra, i, j, iD] := traRef[Rb, N + 1 - i, N + 1 - j, iD]; dTraRef[Rb, i, j, iD] := traRef[Ra, N + 1 - i, N + 1 - j, iD]; end for; end for; end for; dAbs := Buildings.HeatTransfer.Windows.Functions.glassAbsExteriorIrradiationNoShading( dTraRef, N, HEM) "Dummmy absorptance with exterior irradiation"; // Only output hemispherical absorptance. Need to change order for interior irradiation. for i in 1:N loop absIntIrrNoSha[i] := dAbs[N + 1 - i, HEM]; end for; end glassAbsInteriorIrradiationNoShading;

## Buildings.HeatTransfer.Windows.Functions.glassProperty

Compute angular variation and hemispherical integration of the transmittance and reflectance for each glass pane without shading

### Information

This function computes the angular variation and the hemispherical integration of the transmittance and reflectance for each glass pane. There are two schemes for the calculation. One is for coated glass and the other is for uncoated glass. The function checks the difference between front and back reflectances. If the difference is less than the tolerance (0.005), it uses the formula for uncoated glass. Otherwise, the formula for coated glass will be used.

Extends from Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialGlassRadiation (Partial function for glass radiation property).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Integer | N |  | Number of glass layers
Integer | HEM |  | Index of hemispherical integration
Real | glass[3, N] |  | Propertry of each glass pane
Real | xGla[N] |  | Thickness of each glass pane
Angle | psi[HEM - 1] |  | Incident angles [rad]

### Outputs

Type | Name | Description
--- | --- | ---
Real | layer[3, N, HEM] | Transmittance, front and back reflectance

### Modelica definition

function glassProperty "Compute angular variation and hemispherical integration of the transmittance and reflectance for each glass pane without shading" extends Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialGlassRadiation; input Real glass[3, N] "Propertry of each glass pane"; input Real xGla[N] "Thickness of each glass pane"; input Modelica.SIunits.Angle psi[HEM - 1] "Incident angles"; output Real layer[3, N, HEM] "Transmittance, front and back reflectance"; protected parameter Real tol=0.005 "Tolerance for difference between front and back reflectance to decide a glass is uncoated or coated"; Real oneLay[3, HEM] "Temporary storage for glass property of one pane"; Real oneGla[3]; algorithm // Compute specular value for angle 0 to 90 degree (psi[1] to psi[N]) and panes from 1 to N for i in 1:N loop // Copy data to temporary place for j in 1:3 loop oneGla[j] := glass[j, i]; end for; //uncoated galss if (abs(glass[Ra, i] - glass[Rb, i]) < tol) then oneLay := Buildings.HeatTransfer.Windows.Functions.glassPropertyUncoated( HEM, oneGla, xGla[i], psi); else //coated glass oneLay := Buildings.HeatTransfer.Windows.Functions.glassPropertyCoated( HEM, oneGla, psi); end if; for j in 1:3 loop for k in 1:HEM loop layer[j, i, k] := oneLay[j, k]; end for; end for; end for; end glassProperty;

## Buildings.HeatTransfer.Windows.Functions.glassPropertyCoated

Compute angular variation and hemispherical integration of the transmittance and reflectance for a coated glass pane without shading

### Information

This function computes the angular variation and the hemispherical integration of the transmittance and reflectance for one coated glass pane.

Extends from Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialSingleGlassRadiation (Partial function for single glass radiation property).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Integer | HEM |  | Index of hemispherical integration
Real | glass[3] |  | Propertry of one glass pane
Angle | psi[HEM - 1] |  | Incident angles [rad]

### Outputs

Type | Name | Description
--- | --- | ---
Real | layer[3, HEM] | Transmittance, front and back reflectance

### Modelica definition

function glassPropertyCoated "Compute angular variation and hemispherical integration of the transmittance and reflectance for a coated glass pane without shading" extends Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialSingleGlassRadiation; input Real glass[3] "Propertry of one glass pane"; input Modelica.SIunits.Angle psi[HEM - 1] "Incident angles"; output Real layer[3, HEM] "Transmittance, front and back reflectance"; protected constant Real a[4, 5]={{-0.0015,3.355,-3.840,1.460,0.0288},{0.999,-0.563, 2.043,-2.532,1.054},{-0.002,2.813,-2.341,-0.05725,0.599},{0.997,-1.868, 6.513,-7.862,3.225}} "Coeffcients in Table A.2"; Integer NDIR "Number of incident angles"; Real psi_c "cos(psi), psi is incident angle"; Real psi_cs "cos(psi)*sin(psi)"; Real angT "Angular variation of transmittance"; Real angR "Angular variation of reflectance"; Real f[3, HEM-1] "Temporary variables for integration in hemispherical transmittance and reflectance"; Real deltaX; Integer id1 "Index of coefficients for transmittance"; Integer id2 "Index of coefficients for reflectance"; algorithm NDIR:=HEM - 1; deltaX := 0.5*Modelica.Constants.pi/(NDIR - 1); // Compute specular value for angle 0 to 90 degree (psi[1] to psi[N]) for k in TRA:Rb loop layer[k, 1] := glass[k] "Copy the data at 0 degree (normal incidence)"; end for; for j in 2:HEM-2 loop psi_c := Modelica.Math.cos(psi[j]); if layer[TRA, 1] > 0.645 then id1 := 1; id2 := 2; else id1 := 3; id2 := 4; end if; angT := a[id1, 1] + psi_c*(a[id1, 2] + psi_c*(a[id1, 3] + psi_c*(a[id1, 4] + psi_c*a[id1, 5]))) "Equation (A.4.68a)"; angR := a[id2, 1] + psi_c*(a[id2, 2] + psi_c*(a[id2, 3] + psi_c*(a[id2, 4] + psi_c*a[id2, 5]))) - angT "Equation (A.4.68b)"; layer[TRA, j] := layer[TRA, 1]*angT "Equation (A4.69a)"; layer[Ra, j] := layer[Ra, 1]*(1 - angR) + angR "Equation (A4.69b)"; layer[Rb, j] := layer[Rb, 1]*(1 - angR) + angR "Equation (A4.69b)"; end for; layer[TRA, NDIR] := 0; layer[Ra, NDIR] := 1.0; layer[Rb, NDIR] := 1.0; // Computer hemispherical value: HEM. for j in 1:HEM-1 loop psi_cs := Modelica.Math.cos(psi[j])*Modelica.Math.sin(psi[j]); for k in TRA:Rb loop f[k, j] := 2*layer[k, j]*psi_cs; end for; end for; for k in TRA:Rb loop layer[k, HEM] := Buildings.Utilities.Math.Functions.trapezoidalIntegration( NDIR, f[k, :], deltaX) "Equation (A.4.70a) and (A.4.70b)"; end for; end glassPropertyCoated;

## Buildings.HeatTransfer.Windows.Functions.glassPropertyUncoated

Compute angular variation and hemispherical integration of the transmittance and reflectance for a uncoated glass pane without shading

### Information

This function computes the angular variation and the hemispherical integration of the transmittance and reflectance for one uncoated glass pane. The equations are mainly based on Finlayson et al. (1990) and Fuler et al. (1991) with some modifications.

#### Implementation

Step 1: Compute the reflectivity at normal incidence

ρ(0) = {β − sqrt[β2 − 4(2 − R(0))R(0)]} ⁄ [2(2−R(0))], | (1)

where

β = T(0)2 − R(0)2 + 2R(0) + 1. | (2)

Step 2: Compute the spectral absorption coefficient α and spectral index of refraction n

α = 4 π κλ ⁄ λ = - ln[(R(0) − ρ(0)) ⁄ (ρ(0)T(0))] ⁄ d, | (3)
n = (1 + sqrt(ρ(0)) ⁄ (1 − sqrt(ρ(0))). | (4)

Step 3: For each angle of incidence measured in air φ (0 < φ < 90)

a. Compute the angle of incidence measured in glass φ'
φ' = asin(sinφ ⁄ n). | (5)
b. Compute spectral reflectivities at surface
ρ1(φ)=[(n cosφ − cosφ') ⁄ (n cosφ + cosφ')] 2, | (6)
ρ2(φ)=[(n cosφ' − cosφ) ⁄ (n cosφ' + cosφ)] 2. | (7)
c. Compute spectral tansmissivities at surface
τ1(φ)= 1 − ρ1(φ), | (8)
τ2(φ)= 1 − ρ2(φ). | (9)
d. Compute spectral tansmittance of the glass
T1(φ)= τ1(φ)2 exp(-α d/cosφ') ⁄ (1 − ρ1(φ)2 exp(-2α d/cosφ')), | (10)
T2(φ)= τ2(φ)2 exp(-α d/cosφ') ⁄ (1 − ρ2(φ)2 exp(-2α d/cosφ')), | (11)
T(φ)= (T1(φ) + T2(φ)) / 2. | (12)
e. Compute spectral reflectance of the glass
R1(φ)= ρ1(φ)(1+ T1(φ)exp(-α d/cosφ')), | (13)
R2(φ)= ρ2(φ)(1+ T2(φ)exp(-α d/cosφ')), | (14)
R(φ)= (R1(φ) + R2(φ)) / 2. | (15)

Step 4: T(90)=0, R(90)=1. (16)

#### Limitations

WINDOW program calculates the angular property for each wave length based on the spectral data. It uses different `Rλ(0)` and `Tλ(0)` for each wave length. Then it integrates the properties over the wave length to get averaged property of `R(0)` and `T(0)`.

The current window model in the Buildings library uses averaged `R(0)` and `T(0)` directly. It can generate the same results as WINDOW for a single pane window and multi-pane window with the same glass. However, the results may be slightly different for multi-pane window with different glasses. The reason is that different glasses may have different angular properties for the same wave length. To precisely calculate the angular properties of the entire window system, one has to calculate the property for each wave length and integrate them as WINDOW does. For more details, see the paper of Nouidui et al. (2012).

#### References

Finlayson, E. U., D. K. Arasteh, C. Huizenga, M.D. Rubin, M.S. Reily. 1993. WINDOW 4.0: Documentation of Calcualtion Precedures. Technical Report LBL-33943. Lawrence Berkeley National Laboratory.

Fuler, Reto A., Angular dependence of optical properties of homogeneous glasses, ASHRAE Transaction, V.97 Part 2, 1991.

Thierry Stephane Nouidui, Michael Wetter, and Wangda Zuo. Validation of the window model of the Modelica Buildings library. Proc. of the 5th SimBuild Conference, Madison, WI, USA, August 2012.

Extends from Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialSingleGlassRadiation (Partial function for single glass radiation property).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Integer | HEM |  | Index of hemispherical integration
Real | glass[3] |  | Propertry of one glass pane
Length | x |  | Thickness [m]
Angle | psi[HEM - 1] |  | Incident angles [rad]

### Outputs

Type | Name | Description
--- | --- | ---
Real | layer[3, HEM] | Transmittance, front and back reflectance

### Modelica definition

function glassPropertyUncoated "Compute angular variation and hemispherical integration of the transmittance and reflectance for a uncoated glass pane without shading" extends Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialSingleGlassRadiation; input Real glass[3] "Propertry of one glass pane"; input Modelica.SIunits.Length x "Thickness"; input Modelica.SIunits.Angle psi[HEM - 1] "Incident angles"; output Real layer[3, HEM] "Transmittance, front and back reflectance"; protected Integer NDIR "Number of incident angles"; Real psi_c "cos(psi), psi is incident angle in air"; Real psi1_c "cos(psi1), psi1 is incident angle in glass"; Real angT "Angular variation of transmittance"; Real angR "Angular variation of reflectance"; Real f[3, HEM-1] "Temporary variables for integration in hemispherical transmittance and reflectance"; Real beta "Temporary coefficient defined in (7.2.1i)"; Real rho0 "Spectral reflectivity at incident angle of 0 degree at the interface"; Real rho "Spectral reflectivity at the interface"; Real rho1; Real rho2; Real tau "Spectral transmissivity at the interface"; Real tau1; Real tau2; Real angT1; Real angT2; Real angR1; Real angR2; Real tmp; Real alpha "Spectral absorption coefficient defined in (7.2.1e)"; Real n "Ratio of spectral index of refraction of glass to the index of refraction of air"; Real psi1 "The angle od incident angle in glass"; Real deltaX; algorithm // Check the data assert(glass[TRA] >= 0, "Glass property is not correct with solar transmittance less than 0"); assert(glass[Ra] >= 0, "Glass property is not correct with solar reflectance less than 0"); assert(glass[TRA] + glass[Ra] <= 1, "Glass property is not correct since the summation of solar reflectance and transmittance is larger than 1"); NDIR := HEM-1; deltaX := 0.5*Modelica.Constants.pi/(NDIR-1); // Compute specular value for angle 0 to 90 degree (psi[1] to psi[N]) for k in TRA:Rb loop layer[k, 1] := glass[k] "Copy the data at 0 degree (normal incidence)"; end for; beta := glass[TRA]^2 - glass[Ra]^2 + 2*glass[Ra] + 1 "(2)"; tmp := beta^2 - 4*(2 - glass[Ra])*glass[Ra] "part of (1)"; assert(tmp >= 0, "Glass property is wrong. It is not possible to calculate the spectral reflectivity at 0 degree for uncoated glass."); rho0 := 0.5*(beta - sqrt(tmp))/(2 - glass[Ra]) "(1)"; assert(rho0 >= 0, "Glass property is wrong. The spectral reflectivity at 0 degree for uncoated glass is less than zero."); tmp := (glass[Ra] - rho0)/(rho0*glass[TRA]) "part of (3)"; assert(tmp > 0, "Glass property is wrong. It is not possible to calculate the spectral extinction coefficient for uncoated glass."); alpha := -log(tmp)/x "(3)"; tmp := sqrt(rho0); assert(tmp <> 1, "Glass property is wrong. It is not possible to calculate the spectral index of refraction for uncoated glass."); n := (1 + tmp)/(1 - tmp) "(4)"; for j in 2:HEM-2 loop psi1 := asin(sin(psi[j])/n) "(5)"; psi_c := cos(psi[j]); psi1_c := cos(psi1); rho1 := ((n*psi_c - psi1_c)/(n*psi_c + psi1_c))^2 "(6)"; rho2 := ((n*psi1_c - psi_c)/(n*psi1_c + psi_c))^2 "(7)"; tau1 := 1 - rho1 "(8)"; tau2 := 1 - rho2 "(9)"; tmp := exp(-alpha*x/psi1_c); angT1 := tau1^2*tmp/(1 - rho1^2*tmp^2) "(10)"; angR1 := rho1*(1 + angT1*tmp) "(13)"; angT2 := tau2^2*tmp/(1 - rho2^2*tmp^2) "(11)"; angR2 := rho2*(1 + angT2*tmp) "(14)"; layer[TRA, j] := 0.5*(angT1 + angT2) "Tansmittance in (12)"; layer[Ra, j] := 0.5*(angR1 + angR2) "Front reflectance (15)"; layer[Rb, j] := layer[Ra, j] "Back reflectance in (15)"; end for; // When incident angle is equal to 90 degree layer[TRA, NDIR] := 0 "(16)"; layer[Ra, NDIR] := 1.0 "(16)"; layer[Rb, NDIR] := 1.0 "(16)"; // Computer hemispherical value: HEM. for j in 1:HEM-1 loop for k in TRA:Rb loop f[k, j] := 2*layer[k, j]*Modelica.Math.cos(psi[j])*Modelica.Math.sin(psi[ j]); end for; end for; for k in TRA:Rb loop layer[k, HEM] := Buildings.Utilities.Math.Functions.trapezoidalIntegration( NDIR, f[k, :], deltaX) "Equation (A.4.70a) and (A.4.70b) in M. Wetter 's Thesis or (7.3) in Finlayson 1993."; end for; end glassPropertyUncoated;

## Buildings.HeatTransfer.Windows.Functions.glassTRExteriorIrradiationNoShading

Transmittance and reflectance of glass panes for exterior irradiation without shading

### Information

This function computes the angular variation of the transmittance and reflectance of each glass pane for exteior irradiation without shading. It accounts for the transmittance and reflectance among different panes. Pane `1` is facing outside and pane `N` is facing the room.

Extends from Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialGlassRadiation (Partial function for glass radiation property).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Integer | N |  | Number of glass layers
Integer | HEM |  | Index of hemispherical integration
Real | layer[3, N, HEM] |  | Angular data of glass pane

### Outputs

Type | Name | Description
--- | --- | ---
Real | traRef[3, N, N, HEM] | Transmittance and reflectance of each glass pane for exterior irradiation without shading

### Modelica definition

function glassTRExteriorIrradiationNoShading "Transmittance and reflectance of glass panes for exterior irradiation without shading" extends Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialGlassRadiation; input Real layer[3, N, HEM] "Angular data of glass pane"; output Real traRef[3, N, N, HEM](each min=0, each max=1) "Transmittance and reflectance of each glass pane for exterior irradiation without shading"; protected Real aij "Temporary variable"; constant Real SMALL=Modelica.Constants.small "Small value"; algorithm // Property for single pane of glass or the first pane of multiple panes glass for iD in 1:HEM loop for k in TRA:Rb loop traRef[k, 1, 1, iD] := layer[k, 1, iD] "Equation (A.4.71)"; end for; end for; // Property for multiple panes glass if N > 1 then for iD in 1:HEM loop for i in 1:N - 1 loop for j in i + 1:N loop for k in TRA:Rb loop traRef[k, j, j, iD] := layer[k, j, iD]; end for; aij := 1 - traRef[Ra, j, j, iD]*traRef[Rb, j - 1, i, iD] "Equation (A.4.77)"; assert(aij > -SMALL, "Glass transmittance and reflectance data was not correct.\n"); if aij < SMALL then traRef[TRA, i, j, iD] := 0; traRef[Ra, i, j, iD] := 1; traRef[Rb, j, i, iD] := 1; else aij := 1/aij; traRef[TRA, i, j, iD] := aij*traRef[TRA, i, j - 1, iD]*traRef[TRA, j, j, iD] "Equation (A.4.78a)"; traRef[Ra, i, j, iD] := traRef[Ra, i, j - 1, iD] + aij*traRef[TRA, i, j - 1, iD]*traRef[TRA, i, j - 1, iD]*traRef[Ra, j, j, iD] "Equation (A.4.78b)"; traRef[Rb, j, i, iD] := traRef[Rb, j, j, iD] + aij*traRef[TRA, j, j, iD]*traRef[TRA, j, j, iD]*traRef[Rb, j - 1, i, iD] "Equation (A.4.78c)"; end if; end for; end for; end for; end if; end glassTRExteriorIrradiationNoShading;

## Buildings.HeatTransfer.Windows.Functions.glassTRInteriorIrradiationNoShading

Transmittance and reflectance of each glass pane for interior irradiation without shading

### Information

This function computes the angular variation of the transmittance and reflectance of each glass pane for interior irradiation without shading. It accounts for the transmittance and reflectance among different panes. Pane `1` is facing outside and pane `N` is facing the room.

Extends from Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialGlassRadiation (Partial function for glass radiation property).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Integer | N |  | Number of glass layers
Integer | HEM |  | Index of hemispherical integration
Real | layer[3, N, HEM] |  | Angular data of glass pane

### Outputs

Type | Name | Description
--- | --- | ---
Real | traRef[3, N, N, HEM] | Glass transmittance, front and back reflectance

### Modelica definition

function glassTRInteriorIrradiationNoShading "Transmittance and reflectance of each glass pane for interior irradiation without shading" extends Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialGlassRadiation; input Real layer[3, N, HEM] "Angular data of glass pane"; output Real traRef[3, N, N, HEM](each min=0, each max=1) "Glass transmittance, front and back reflectance"; protected Real dLayer[3, N, HEM] "Dummy glass property with Pane 1 facing inside and Pane N facing outside"; Real dTraRef[3, N, N, HEM] "Dummy transmittance and reflectance for exterior irradiation"; algorithm // Copy the dummy glass property for iD in 1:HEM loop for j in 1:N loop dLayer[TRA, j, iD] := layer[TRA, N + 1 - j, iD]; dLayer[Ra, j, iD] := layer[Rb, N + 1 - j, iD] "swap the front and back reflectance"; dLayer[Rb, j, iD] := layer[Ra, N + 1 - j, iD] "swap the front and back reflectance"; end for; end for; // Calculate transmittance and reflectance of dummy glass for exterior irradiation without shading dTraRef := Buildings.HeatTransfer.Windows.Functions.glassTRExteriorIrradiationNoShading( N, HEM, dLayer); // Convert the dummy data to real glass for iD in 1:HEM loop for i in 1:N - 1 loop for j in i + 1:N loop traRef[TRA, N + 1 - i, N + 1 - j, iD] := dTraRef[TRA, i, j, iD]; traRef[Ra, N + 1 - i, N + 1 - j, iD] := dTraRef[Rb, i, j, iD] "swap the front and back reflectance"; traRef[Rb, N + 1 - i, N + 1 - j, iD] := dTraRef[Ra, i, j, iD] "swap the front and back reflectance"; end for; end for; end for; end glassTRInteriorIrradiationNoShading;

## Buildings.HeatTransfer.Windows.Functions.winTExteriorIrradiationInteriorShading

Angular and hemispherical transmittance of a window system (glass and shading device) for exterior irradiation with interior shading

### Information

This function computes the angular and hemispherical transmittance of a window system (glass and shading device) for exterior irradiation with interior shading. Pane `1` is facing outside and pane `N` is facing the room.

Extends from Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowShadingRadiation (Partial function for window radiation property with shading device).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Real | traRef[3, N, N, HEM] |  | Transmittance and reflectance with exterior irradiation and no shading
Real | traRefShaDev[2, 2] |  | Transmittance and reflectance of shading device
Integer | N |  | Number of glass layers
Integer | HEM |  | Index of hemispherical integration

### Outputs

Type | Name | Description
--- | --- | ---
Real | traExtIrrIntSha[HEM] | Angular and hemispherical transmittance of a window system (glass and shading device) forh exterior irradiation with interior shading

### Modelica definition

function winTExteriorIrradiationInteriorShading "Angular and hemispherical transmittance of a window system (glass and shading device) for exterior irradiation with interior shading" extends Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowShadingRadiation; output Real traExtIrrIntSha[HEM](each min=0, each max=1) "Angular and hemispherical transmittance of a window system (glass and shading device) forh exterior irradiation with interior shading"; algorithm for iD in 1:HEM loop traExtIrrIntSha[iD] := traRef[TRA, 1, N, iD]*traIntShaDev/(1 - refIntShaDev *traRef[Rb, N, 1, HEM]) "Equation (A.4.92)"; end for; end winTExteriorIrradiationInteriorShading;

## Buildings.HeatTransfer.Windows.Functions.winTExteriorIrradiatrionExteriorShading

Angular and hemispherical transmittance of a window system (glass + shading device) for exterior irradiation with exterior shading

### Information

This function computes the angular and hemispherical transmittance of a window system (glass + shading device) for exterior irradiation with exterior shading. Pane `1` is facing outside and pane `N` is facing the room.

Extends from Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowShadingRadiation (Partial function for window radiation property with shading device).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Real | traRef[3, N, N, HEM] |  | Transmittance and reflectance with exterior irradiation and no shading
Real | traRefShaDev[2, 2] |  | Transmittance and reflectance of shading device
Integer | N |  | Number of glass layers
Integer | HEM |  | Index of hemispherical integration

### Outputs

Type | Name | Description
--- | --- | ---
Real | traExtIrrExtSha[HEM] | Angular and hemispherical transmittance of a window system (glass + shading device) for exterior irradiation with exterior shading

### Modelica definition

function winTExteriorIrradiatrionExteriorShading "Angular and hemispherical transmittance of a window system (glass + shading device) for exterior irradiation with exterior shading" extends Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowShadingRadiation; output Real traExtIrrExtSha[HEM](each min=0, each max=1) "Angular and hemispherical transmittance of a window system (glass + shading device) for exterior irradiation with exterior shading"; protected Real c; algorithm for iD in 1:HEM loop c := traExtShaDev*(1 + traRef[Ra, 1, N, iD]*refExtShaDev/(1 - traRef[Ra, 1, N, HEM]*refExtShaDev)) "Equation (A.4.88a)"; traExtIrrExtSha[iD] := c*traRef[TRA, 1, N, iD] "Equation (A.4.88c)"; end for; end winTExteriorIrradiatrionExteriorShading;

## Buildings.HeatTransfer.Windows.Functions.winTRInteriorIrradiationExteriorShading

Hemispherical transmittance and back reflectance of a window system (glass and shading device) for interior irradiation with exterior shading

### Information

This function computes hemispherical transmittance and back reflectance of a window for interior irradiation with exterior shading. Pane `1` is facing the outside and pane `N` is facing the room. The variables are

    traRefIntIrrExtSha[1]: Transmittance;
    traRefIntIrrExtSha[2]: Back reflectance;
    traRefIntIrrExtSha[3]: Dummy value

Extends from Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowShadingRadiation (Partial function for window radiation property with shading device).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Real | traRef[3, N, N, HEM] |  | Transmittance and reflectance with exterior irradiation and no shading
Real | traRefShaDev[2, 2] |  | Transmittance and reflectance of shading device
Integer | N |  | Number of glass layers
Integer | HEM |  | Index of hemispherical integration

### Outputs

Type | Name | Description
--- | --- | ---
Real | traRefIntIrrExtSha[3] | Hemispherical transmittance and back reflectance of a window system (glass and shading device) for interior irradiation with exterior shading

### Modelica definition

function winTRInteriorIrradiationExteriorShading "Hemispherical transmittance and back reflectance of a window system (glass and shading device) for interior irradiation with exterior shading" extends Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowShadingRadiation; output Real traRefIntIrrExtSha[3](each min=0, each max=1) "Hemispherical transmittance and back reflectance of a window system (glass and shading device) for interior irradiation with exterior shading"; algorithm traRefIntIrrExtSha[TRA] := traRef[TRA, N, 1, HEM]*traExtShaDev/(1 - refExtShaDev*traRef[Ra, 1, N, HEM]) "Equation (A.4.95)"; traRefIntIrrExtSha[Rb] := traRef[Rb, N, 1, HEM] + traRef[TRA, N, 1, HEM]* refExtShaDev*traRef[1, 1, N, HEM]/(1 - traRef[Ra, 1, N, HEM]*refExtShaDev) "Equation (A.4.97)"; traRefIntIrrExtSha[Ra] := 0 "Dummy value"; end winTRInteriorIrradiationExteriorShading;

## Buildings.HeatTransfer.Windows.Functions.winTRInteriorIrradiationInteriorShading

Hemispherical transmittance and back reflectance of a window system (glass and shading device) for interior irradiation with interior shading

### Information

This function computes the hemispherical transmittance and back reflectance of a window system (glass and shading device) for interior irradiation with interior shading. Pane `1` is facing the outside and pane `N` is facing the room.

Extends from Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowShadingRadiation (Partial function for window radiation property with shading device).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Real | traRef[3, N, N, HEM] |  | Transmittance and reflectance with exterior irradiation and no shading
Real | traRefShaDev[2, 2] |  | Transmittance and reflectance of shading device
Integer | N |  | Number of glass layers
Integer | HEM |  | Index of hemispherical integration

### Outputs

Type | Name | Description
--- | --- | ---
Real | traRefIntIrrIntSha[3] | Hemispherical transmittance and back reflectance of a window system (glass and shading device) for interior irradiation with interior shading

### Modelica definition

function winTRInteriorIrradiationInteriorShading "Hemispherical transmittance and back reflectance of a window system (glass and shading device) for interior irradiation with interior shading" extends Buildings.HeatTransfer.Windows.Functions.BaseClasses.partialWindowShadingRadiation; output Real traRefIntIrrIntSha[3](each min=0, each max=1) "Hemispherical transmittance and back reflectance of a window system (glass and shading device) for interior irradiation with interior shading"; protected constant Real rRho=traRef[Rb, N, 1, HEM]*refIntShaDev "Part of Equation (A.4.99)"; constant Real rTau=traRef[Rb, N, 1, HEM]*traIntShaDev "Part of Equation (A.4.105)"; constant Real c=traIntShaDev*(1 + rRho/(1 - rRho)) "Equation (A.4.99)"; algorithm traRefIntIrrIntSha[TRA] := c*traRef[TRA, N, 1, HEM] "Equation (A.4.100b)"; traRefIntIrrIntSha[Rb] := refIntShaDev + c*rTau "Equation (A.4.105)"; traRefIntIrrIntSha[Ra] := 0 "Dummy value"; end winTRInteriorIrradiationInteriorShading;