modelHorizontalFins

Horizontal fin shading with 2 control input options

Extends from IDEAS.Buildings.Components.Shading.Interfaces.PartialShadingDevice.

Information

Shading model for exterior horizontal fins in front of a window, in function of the fin angle. The control input Ctrl can either be used for controlling the fin angle, or its horizontal displacement. The horizontal displacement option assumes that the fins can be displaced horizontally at the exterior of the window such that they are either in front or next to the window.

Assumption and limitations

We assume that the fins fully cover the window unless the horizontal displacement option is used. The fin angle beta should be positive. We compute the shaded fraction of the direct solar irradiation and assume that indirect reflect effects are negligible. The diffuse solar irradiation is correct by assuming that the diffuse solar irradation originates from a solar altitude angle of 30 degrees, which is an approximation to reality. The ground diffuse solar irradation is not modified.

Typical use and important parameters

Parameter t is the fin thickness, s is the vertical spacing between the fins and w is the fin width. The model assumes that s <= w. If use_betaInput=true, the input Ctrl is used to control the angle beta in the figure, such that Ctrl = 0 corresponds to beta = 0 and Ctrl = 1 corresponds to beta = acos(t/s), which is the maximum value for beta. Note that beta must have radians as a unit. If use_displacementInput=true, the input 0 < Ctrl < 1 is used to control the horizontal displacement of the fins. For Ctrl=0, the fins are moved away from the window, into the plane of the figure below, such that no sun light is blocked. Either use_displacementInput or use_betaInput should be false. See the figure below for an illustration.

Dynamics

This model has no dynamics.

Implementation

The implementation is illustrated using this figure:
illustration

Parameters

TypeNameDefaultDescription
Booleancontrolled (from PartialShading)trueif true, shading has a control input
Modelica.Units.SI.AreaA_glazing (from PartialShading)Surface area of the glazing
Modelica.Units.SI.AreaA_frame (from PartialShading)Surface area of the frame
Modelica.Units.SI.Angleinc (from PartialShading)Surface inclination
Modelica.Units.SI.TemperatureTenv_nom (from PartialShading)280Nominal temperature of environment
Modelica.Units.SI.EmissivityepsSw_frame (from PartialShading)Short wave solar absorption coefficient of the frame
Modelica.Units.SI.EmissivityepsLw_frame (from PartialShading)Long wave solar absorption coefficient of the frame
Modelica.Units.SI.EmissivityepsLw_glazing (from PartialShading)Long wave solar absorption coefficient of the glazing
Modelica.Units.SI.EmissivityepsSw_shading (from PartialShading)0.8Short wave emissivity of the shading object
Realg_glazing (from PartialShading)Nominal shading coefficient of the glazing
BooleanlinCon (from PartialShading)falseLinearise convective heat transfer
BooleanlinRad (from PartialShading)falseLinearise radiative heat transfer
BooleanhaveBoundaryPorts (from PartialShading)trueInclude ports for setting boundary conditions
BooleanhaveFrame (from PartialShading)A_frame*epsLw_frame > 0Frame enabled
Modelica.Units.SI.CoefficientOfHeatTransferhSha (from PartialShading)12Equivalent thermal conductance of the shading device
Modelica.Units.SI.LengthsVertical spacing between fins
Modelica.Units.SI.LengthwFin width
Modelica.Units.SI.LengthtFin thickness
Booleanuse_displacementInputfalse=true, to use input for controlling the horizontal fin displacement. Set Ctrl=1 for fully closed shading.
Booleanuse_betaInputfalse=true, to use input for controlling the fin inclination angle. Set Ctrl=1 for fully closed shading.
Modelica.Units.SI.Anglebeta0Fin inclination angle: 0 for horizontal inclination, see documentation
Window properties
Modelica.Units.SI.Angleazi (from PartialShading)Window azimuth angle

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealInputHDirTil (from PartialShading)Direct solar illuminance on surface
Modelica.Blocks.Interfaces.RealInputHSkyDifTil (from PartialShading)Diffuse sky solar illuminance on tilted surface
Modelica.Blocks.Interfaces.RealInputHGroDifTil (from PartialShading)Diffuse ground solar illuminance on tilted surface
Modelica.Blocks.Interfaces.RealInputangZen (from PartialShading)Angle of incidence
Modelica.Blocks.Interfaces.RealOutputHShaDirTil (from PartialShading)Shaded direct solar illuminance on surface
Modelica.Blocks.Interfaces.RealOutputHShaSkyDifTil (from PartialShading)Shaded diffuse sky solar illuminance on tilted surface
Modelica.Blocks.Interfaces.RealOutputHShaGroDifTil (from PartialShading)Shaded diffuse ground solar illuminance on tilted surface
Modelica.Blocks.Interfaces.RealOutputiAngInc (from PartialShading)Angle of incidence after transmittance through (possible) shading
Modelica.Blocks.Interfaces.RealInputangInc (from PartialShading)Inclination angle
Modelica.Blocks.Interfaces.RealInputangAzi (from PartialShading)Azimuth angle
Modelica.Blocks.Interfaces.RealInputCtrl (from PartialShading)Control signal between 0 and 1, i.e. 1 is fully closed
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_bport_frame (from PartialShading)
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_aport_glazing (from PartialShading)
Modelica.Blocks.Interfaces.RealInputTEnv (from PartialShading)Environment temperature
Modelica.Blocks.Interfaces.RealInputTe (from PartialShading)
Modelica.Blocks.Interfaces.RealInputhForcedConExt (from PartialShading)
Modelica.Blocks.Interfaces.RealOutputTDryBul (from PartialShading)Exterior surface air temperature
Modelica.Blocks.Interfaces.RealInputm_flow (from PartialShading)

Components

TypeNameDefaultDescription
Modelica.Units.SI.IrradianceHSha (from PartialShading)HShaDirTil + HShaSkyDifTil + HShaGroDifTilTotal shaded solar irradiance
Modelica.Units.SI.IrradianceH (from PartialShading)HDirTil + HSkyDifTil + HGroDifTilTotal unshaded solar irradiance
IDEAS.Buildings.Components.BaseClasses.RadiativeHeatTransfer.ExteriorHeatRadiationskyRadFra (from PartialShadingDevice)
IDEAS.Buildings.Components.BaseClasses.ConvectiveHeatTransfer.ExteriorConvectioneConFra (from PartialShadingDevice)
IDEAS.Buildings.Components.BaseClasses.RadiativeHeatTransfer.ExteriorSolarAbsorptionsolAbs (from PartialShadingDevice)
IDEAS.Buildings.Components.BaseClasses.RadiativeHeatTransfer.ExteriorHeatRadiationskyRad (from PartialShadingDevice)
IDEAS.Buildings.Components.BaseClasses.ConvectiveHeatTransfer.ExteriorConvectioneCon (from PartialShadingDevice)
Modelica.Blocks.Math.AddsolDif (from PartialShadingDevice)
Modelica.Blocks.Sources.RealExpressionTeExpr (from PartialShadingDevice)Expression for Te
Modelica.Blocks.Sources.RealExpressionTEnvExpr (from PartialShadingDevice)Expression for TEnv
RealshaFracShaded fraction of the glazing for direct solar irradiation
RealshaFracDifShaded fraction of the glazing for diffuse solar irradiation

Revisions

  • Febrauri 24, 2025 by Filip Jorissen:
    Added Ctrl_to_beta_internal=0 when not using beta input. Otherwise the variable is undefined, resulting in a singular system. See #1426.
  • July 1, 2024 by Lucas Verleyen:
    Added Ctrl_to_beta_internal to linearly map the Ctrl input [0,1] onto the fin inclination angle [0,beta_max].
    Removed dispLim as disp_internal is automatically in the range [0,1] due to the definition of Ctrl.
    See #1290.
  • April 4, 2023 by Jelger Jansen:
    Updated figure in documentation. See #1186.
  • July 18, 2022 by Filip Jorissen:
    Refactored for #1270 for including thermal effect of screens.
  • November 10, 2019 by Filip Jorissen:
    Added simplified computation for diffuse solar shading. See #874.
  • March 18, 2019 by Filip Jorissen:
    Added control option for horizontal displacement. Fixed bug in the implementation. See #992.
  • April, 2017 by Iago Cupeiro:
    Cleaned up implementation and documentation.