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

NameDescription
Buildings.HeatTransfer.Windows.Functions.devAbsExteriorIrradiationInteriorShading devAbsExteriorIrradiationInteriorShading Angular and hemispherical absorptance of a shading device for exterior irradiation with interior shading
Buildings.HeatTransfer.Windows.Functions.devAbsInteriorIrradiationInteriorShading devAbsInteriorIrradiationInteriorShading Hemiperical absorptance of a shading device for interior irradiation with interior shading
Buildings.HeatTransfer.Windows.Functions.getAngle getAngle Generate incident angles
Buildings.HeatTransfer.Windows.Functions.getGlassTR getGlassTR Transmittance and reflectance of glass
Buildings.HeatTransfer.Windows.Functions.glassAbsExteriorIrradiationExteriorShading glassAbsExteriorIrradiationExteriorShading Angular and hemispherical absorptance of each glass pane for exterior irradiation with exterior shading
Buildings.HeatTransfer.Windows.Functions.glassAbsExteriorIrradiationInteriorShading glassAbsExteriorIrradiationInteriorShading Angular and hemispherical absorptance of each glass pane for exterior irradiation with interior shading
Buildings.HeatTransfer.Windows.Functions.glassAbsExteriorIrradiationNoShading glassAbsExteriorIrradiationNoShading Angular and hemispherical absorptance of each glass pane for exterior irradiation without shading
Buildings.HeatTransfer.Windows.Functions.glassAbsInteriorIrradiationExteriorShading glassAbsInteriorIrradiationExteriorShading Hemispherical absorptance of each glass pane for interior irradiation with exterior shading
Buildings.HeatTransfer.Windows.Functions.glassAbsInteriorIrradiationInteriorShading glassAbsInteriorIrradiationInteriorShading Hemispherical absorptance of each glass pane for interior irradiation with interior shading
Buildings.HeatTransfer.Windows.Functions.glassAbsInterirorIrradiationNoShading glassAbsInterirorIrradiationNoShading Hemispherical absorptance of each glass pane for interior irradiation without shading
Buildings.HeatTransfer.Windows.Functions.glassProperty glassProperty Compute angular variation and hemispherical integration of the transmittance and reflectance for each glass pane without shading
Buildings.HeatTransfer.Windows.Functions.glassTRExteriorIrradiationNoShading glassTRExteriorIrradiationNoShading Transmittance and reflectance of glass panes for exterior irradiation without shading
Buildings.HeatTransfer.Windows.Functions.glassTRInteriorIrradiationNoShading glassTRInteriorIrradiationNoShading Transmittance and reflectance of each glass pane for interior irradiation without shading
Buildings.HeatTransfer.Windows.Functions.winTExteriorIrradiationInteriorShading winTExteriorIrradiationInteriorShading Angular and hemispherical transmittance of a window system (glass and shading device) for exterior irradiation with interior shading
Buildings.HeatTransfer.Windows.Functions.winTExteriorIrradiatrionExteriorShading winTExteriorIrradiatrionExteriorShading Angular and hemispherical transmittance of a window system (glass + shading device) for exterior irradiation with exterior shading
Buildings.HeatTransfer.Windows.Functions.winTRInteriorIrradiationExteriorShading winTRInteriorIrradiationExteriorShading Hemispherical transmittance and back reflectance of a window system (glass and shading device) for interior irradiation with exterior shading
Buildings.HeatTransfer.Windows.Functions.winTRInteriorIrradiationInteriorShading winTRInteriorIrradiationInteriorShading Hemispherical transmittance and back reflectance of a window system (glass and shading device) for interior irradiation with interior shading
Buildings.HeatTransfer.Windows.Functions.BaseClasses 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

TypeNameDefaultDescription
RealtraRef[3, N, N, HEM] Transmittance and reflectance with exterior irradiation and no shading
RealtraRefShaDev[2, 2] Transmittance and reflectance of shading device
IntegerN Number of glass layers
IntegerHEM Index of hemispherical integration

Outputs

TypeNameDescription
RealabsExtIrrIntShaDev[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"
  import Buildings;
  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

TypeNameDefaultDescription
RealtraRef[3, N, N, HEM] Transmittance and reflectance with exterior irradiation and no shading
RealtraRefShaDev[2, 2] Transmittance and reflectance of shading device
IntegerN Number of glass layers
IntegerHEM Index of hemispherical integration

Outputs

TypeNameDescription
RealabsIntIrrIntShaDevHemiperical 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

TypeNameDefaultDescription
IntegerNDIR Number of incident angles

Outputs

TypeNameDescription
Anglepsi[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

TypeNameDefaultDescription
IntegerN Number of glass layers
IntegerHEM Index of hemispherical integration
Reallayer[3, N, HEM] Property of glass pane

Outputs

TypeNameDescription
RealtraRef[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

TypeNameDefaultDescription
RealabsExtIrrNoSha[N, HEM] Angular and hemispherical absorptance of each glass pane for exterior irradiation without shading
RealtraRef[3, N, N, HEM] Transmittance and reflectance with exterior irradiation and no shading
RealtraRefShaDev[2, 2] Transmittance and reflectance of shading device
IntegerN Number of glass layers
IntegerHEM Index of hemispherical integration

Outputs

TypeNameDescription
RealabsExtIrrExtSha[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

TypeNameDefaultDescription
RealabsExtIrrNoSha[N, HEM] Absorptance for exterior irradiation without shading
RealtraRef[3, N, N, HEM] Transmittance and reflectance with exterior irradiation and no shading
RealtraRefShaDev[2, 2] Transmittance and reflectance of shading device
IntegerN Number of glass layers
IntegerHEM Index of hemispherical integration

Outputs

TypeNameDescription
RealabsExtIrrNoShaIntSha[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

TypeNameDefaultDescription
RealtraRef[3, N, N, HEM] Transmittance and reflectance with exterior irradiation and no shading
IntegerN Number of glass layers
IntegerHEM Index of hemispherical integration

Outputs

TypeNameDescription
Realabs[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

TypeNameDefaultDescription
RealabsIntIrrNoSha[N] Absorptance for interior irradiation without shading
RealtraRef[3, N, N, HEM] Transmittance and reflectance with exterior irradiation and no shading
RealtraRefShaDev[2, 2] Transmittance and reflectance of shading device
IntegerN Number of glass layers
IntegerHEM Index of hemispherical integration

Outputs

TypeNameDescription
RealabsIntIrrExtSha[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

TypeNameDefaultDescription
RealabsIntIrrNoSha[N] Hemispherical absorptance wfor interior irradiation without interior shading
RealtraRef[3, N, N, HEM] Transmittance and reflectance with exterior irradiation and no shading
RealtraRefShaDev[2, 2] Transmittance and reflectance of shading device
IntegerN Number of glass layers
IntegerHEM Index of hemispherical integration

Outputs

TypeNameDescription
RealabsIntIrrIntSha[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.glassAbsInterirorIrradiationNoShading

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

TypeNameDefaultDescription
RealtraRef[3, N, N, HEM] Transmittance and reflectance with exterior irradiation and no shading
IntegerN Number of glass layers
IntegerHEM Index of hemispherical integration

Outputs

TypeNameDescription
RealabsIntIrrNoSha[N]Hemispherical absorptance of each glass layer for interior irradiation without shading

Modelica definition

function glassAbsInterirorIrradiationNoShading 
  "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 glassAbsInterirorIrradiationNoShading;

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.

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

Inputs

TypeNameDefaultDescription
IntegerN Number of glass layers
IntegerHEM Index of hemispherical integration
Realglass[3, N] Propertry of each glass pane
Anglepsi[HEM - 1] Incident angles [rad]

Outputs

TypeNameDescription
Reallayer[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 Modelica.SIunits.Angle psi[HEM - 1] "Incident angles";

  output Real layer[3, N, HEM] "Transmittance, front and back reflectance";

protected 
  Integer NDIR=HEM - 1 "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, NDIR] 
    "Temporary variables for integration in hemispherical transmittance and reflectance";
  constant Real deltaX=0.5*Modelica.Constants.pi/(NDIR - 1);
  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 id1 "Index of coefficients for transmittance";
  Integer id2 "Index of coefficients for reflectance";

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
    for k in TRA:Rb loop
      layer[k, i, 1] := glass[k, i] 
        "Copy the data at 0 degree (normal incidence)";
    end for;

    for j in 2:NDIR - 1 loop
      psi_c := Modelica.Math.cos(psi[j]);
      if layer[TRA, i, 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, i, j] := layer[TRA, i, 1]*angT "Equation (A4.69a)";
      layer[Ra, i, j] := layer[Ra, i, 1]*(1 - angR) + angR "Equation (A4.69b)";
      layer[Rb, i, j] := layer[Rb, i, 1]*(1 - angR) + angR "Equation (A4.69b)";
    end for;

    // When incident angle is equal to 90 degree
    layer[TRA, i, NDIR] := 0;
    layer[Ra, i, NDIR] := 1.0;
    layer[Rb, i, NDIR] := 1.0;

  end for;

  // Computer hemispherical value: HEM.
  for i in 1:N loop
    for j in 1:NDIR 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, i, j]*psi_cs;
      end for;
    end for;

    for k in TRA:Rb loop
      layer[k, i, HEM] :=
        Buildings.Utilities.Math.Functions.trapezoidalIntegration(
        NDIR,
        f[k, :],
        deltaX) "Equation (A.4.70a) and (A.4.70b)";
    end for;

  end for;

end glassProperty;

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

TypeNameDefaultDescription
IntegerN Number of glass layers
IntegerHEM Index of hemispherical integration
Reallayer[3, N, HEM] Angular data of glass pane

Outputs

TypeNameDescription
RealtraRef[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

TypeNameDefaultDescription
IntegerN Number of glass layers
IntegerHEM Index of hemispherical integration
Reallayer[3, N, HEM] Angular data of glass pane

Outputs

TypeNameDescription
RealtraRef[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

TypeNameDefaultDescription
RealtraRef[3, N, N, HEM] Transmittance and reflectance with exterior irradiation and no shading
RealtraRefShaDev[2, 2] Transmittance and reflectance of shading device
IntegerN Number of glass layers
IntegerHEM Index of hemispherical integration

Outputs

TypeNameDescription
RealtraExtIrrIntSha[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"
  import Buildings;
  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

TypeNameDefaultDescription
RealtraRef[3, N, N, HEM] Transmittance and reflectance with exterior irradiation and no shading
RealtraRefShaDev[2, 2] Transmittance and reflectance of shading device
IntegerN Number of glass layers
IntegerHEM Index of hemispherical integration

Outputs

TypeNameDescription
RealtraExtIrrExtSha[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"
  import Buildings;
  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

TypeNameDefaultDescription
RealtraRef[3, N, N, HEM] Transmittance and reflectance with exterior irradiation and no shading
RealtraRefShaDev[2, 2] Transmittance and reflectance of shading device
IntegerN Number of glass layers
IntegerHEM Index of hemispherical integration

Outputs

TypeNameDescription
RealtraRefIntIrrExtSha[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

TypeNameDefaultDescription
RealtraRef[3, N, N, HEM] Transmittance and reflectance with exterior irradiation and no shading
RealtraRefShaDev[2, 2] Transmittance and reflectance of shading device
IntegerN Number of glass layers
IntegerHEM Index of hemispherical integration

Outputs

TypeNameDescription
RealtraRefIntIrrIntSha[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;

Automatically generated Thu Dec 8 16:35:24 2011.