modelWindow
Extends from IDEAS.Buildings.Components.Interfaces.PartialSurface.
Information
This model should be used to model windows or other transparant surfaces. See IDEAS.Buildings.Components.Interfaces.PartialSurface for equations, options, parameters, validation and dynamics that are common for all surfaces and windows.
Typical use and important parameters
Parameter A is the total window surface area, i.e. the
sum of the frame surface area and the glazing surface area.
Parameter frac may be used to define the surface
area of the frame as a fraction of A.
Parameter glazing must be used to define the glass properties.
It contains information about the number of glass layers,
their thickness, thermal properties and emissivity.
Optional parameter briType may be used to compute additional line losses
along the edges of the glazing.
Optional parameter fraType may be used to define the frame thermal properties.
If fraType = None then the frame is assumed to be perfectly insulating.
Optional parameter shaType may be used to define the window shading properties.
The parameter n may be used to scale the window to n identical windows.
For example, if a wall has 10 identical windows with identical shading, this parameter
can be used to simulate 10 windows by scaling the model of a single window.
The parameter tab Airflow lists optional parameters for adding a self regulating trickle vent.
The RealExpression AExp, which is connected to propsBusInt, outputs the total window area A
instead of only the area of glass A_glass. This partially compensates for the fact that
radiation from/to the frame is not included seperately in the current model implementation.
Validation
To verify the U-value of your glazing system implementation, see IDEAS.Buildings.Components.Validations.WindowEN673
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.Length | hWin | max(0.1, sqrt(A)) | Window height, including frame |
| Real | frac | 0.15 | Area fraction of the window frame |
| IDEAS.Buildings.Data.Frames.None | fraType | ||
| IDEAS.Buildings.Data.WindPressureCoeff.Lowrise_Square_Exposed | Cp_table | ||
| Convection | |||
| Boolean | linExtCon | sim.linExtCon | = true, if exterior convective heat transfer should be linearised (uses average wind speed) |
| Radiation | |||
| Boolean | linExtRad | sim.linExtRadWin | = true, if exterior radiative heat transfer should be linearised |
| Dynamics › Equations | |||
| IDEAS.Buildings.Components.Interfaces.WindowDynamicsType | windowDynamicsType | IDEAS.Buildings.Components.Interfaces.WindowDynamicsType.Two | Type of dynamics for glazing and frame: using zero, one combined or two states |
| Real | fraC | frac | Ratio of frame and glazing thermal masses |
| Advanced › Icon | |||
| Boolean | controlled | shaType.controlled | = true if shaType has a control input (see e.g. screen). Can be set to false manually to force removal of input icon. |
| Airflow › Wind Pressure | |||
| Real[:,:] | coeffsCp | if incInt <= Modelica.Constants.pi/18 then Cp_table.Cp_Roof_0_10 elseif incInt <= Modelica.Constants.pi/6 then Cp_table.Cp_Roof_11_30 elseif inc <= Modelica.Constants.pi/4 then Cp_table.Cp_Roof_30_45 elseif IDEAS.Utilities.Math.Functions.isAngle(incInt, Modelica.Constants.pi) then Cp_table.Cp_Floor else Cp_table.Cp_Wall | Cp at different angles of attack, default the correct table will be selected from Cp_table based on the surface tilt |
| Boolean | use_custom_Cs | false | if checked, Cs will be used in stead of the default related to the interzonal airflow type |
| Boolean | use_sim_Cs | sim.use_sim_Cs | if checked, the default Cs of each surface in the building is sim.Cs |
| Real | Cs | sim.Cs | Wind speed modifier |
| Airflow › Wind | |||
| Real | Habs | Absolute height at the middle of the window | |
| Airflow › Operable window | |||
| Boolean | use_operable_window | false | = true, to enable window control input when using sim.interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.TwoPorts |
| Airflow › Trickle vent | |||
| Boolean | use_trickle_vent | false | = true, to enable trickle vent |
| Modelica.Units.SI.MassFlowRate | m_flow_nominal | 0 | Nominal mass flow rate of trickle vent |
| Modelica.Units.SI.PressureDifference | dp_nominal | 5 | Pressure drop at nominal mass flow rate of trickle vent |
| Boolean | use_trickle_vent_control | false | =true, to enable trickle vent control input |
| Modelica.Units.SI.Length | hTrickleVent | hVertical + hRelSurfBot_a | vertical distance between the floor of the zone (top) and the trickle vent |
| Advanced › Frame | |||
| Modelica.Units.SI.Length | briLen | 2*hWin + 2*A/hWin | Thermal bridge length, if present |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| IDEAS.Buildings.Data.Interfaces.Glazing | glazing | ||
| IDEAS.Buildings.Components.Shading.None | shaType | ||
| Modelica.Blocks.Interfaces.RealInput | Ctrl | Control signal for screen between 0 and 1, 1 is fully closed | |
| Modelica.Blocks.Math.Gain | gainDir | Gain for direct solar irradiation | |
| Modelica.Blocks.Math.Gain | gainDif | Gain for diffuse solar irradiation | |
| IDEAS.Airflow.Multizone.TrickleVent | trickleVent | Trickle vent. Height assumed at the top of the window but adaptable | |
| IDEAS.Buildings.Components.BaseClasses.RadiativeHeatTransfer.SwWindowResponse | solWin | ||
| IDEAS.Buildings.Components.BaseClasses.ConvectiveHeatTransfer.InteriorConvection | iConFra | convective surface heat transimission on the interior side of the wall | |
| Modelica.Thermal.HeatTransfer.Components.ThermalConductor | layFra | ||
| BoundaryConditions.SolarIrradiation.RadSolData | radSolData | ||
| Modelica.Blocks.Interfaces.RealInput | y_trickleVent | Control signal for trickle vent between 0 and 1, 1 is fully opened | |
| Modelica.Blocks.Interfaces.RealInput | y_window | Control signal for window opening between 0 and 1, i.e. 1 is fully opened | |
| Modelica.Blocks.Sources.RealExpression | y_window_trunc | Truncated control signal | |
| Modelica.Units.SI.MassFlowRate | mBA_flow_TrVent | trickleVent.m_flow | Flow through trickle-vent outwards relative to propsBus_a |
Revisions
-
August 18, 2025, by Klaas De Jonge:
ChangedinctoincIntwhere necessary. -
February 4, 2025, by Jelger Jansen:
AddedModelica.Units.to one or multiple parameter(s) due to the removal ofimportin IDEAS/package.mo. See #1415 . -
November 7, 2024, by Anna Dell'Isola and Jelger Jansen:
Update calculation of transmission design losses. See #1337 -
October 30, 2024, by Klaas De Jonge:
Modifications for stack-effect interzonal airflow heights and wind pressure profiles. -
Februari 18, 2024, by Filip Jorissen:
Modifications for supporting trickle vents and interzonal airflow. -
September 7, 2023, by Filip Jorissen:
Created shading surface temperature dependency on mass flow rate. -
July 17, 2023, by Filip Jorissen:
Using A instead of A_glass to compute air tightness parameters. Added controllable trickle vent and operable window. -
May 22, 2022, by Filip Jorissen:
Fixed Modelica specification compatibility issue. See #1254 -
September 21, 2021 by Filip Jorissen:
Added trickle vent support. #1232. -
August 12, 2020 by Filip Jorissen:
No longer using connector and initial equation forepsSw. #1162. -
July 2020, 2020, by Filip Jorissen:
Added a list of default glazing systems. See #1114 -
April 26, 2020, by Filip Jorissen:
RefactoredSolBusto avoid many instances inPropsBus. See #1131 -
November 28, 2019, by Ian Beausoleil-Morrison:
incandaziof surface now passed as parameters to ExteriorConvection. See #1089 -
December 2, 2019, by Filip Jorissen:
Split heat capacitor to interior and exterior part to avoid non-linear algebraic loops. #1092. -
October 13, 2019, by Filip Jorissen:
Refactored the parameter definition ofincandaziby adding the option to use radio buttons. See #1067 -
September 9, 2019, by Filip Jorissen:
AddedcheckCoatingsfor issue #1038. -
August 10, 2018 by Damien Picard:
Add scaling to propsBus_a to allow simulation of n windows instead of 1 See #888. -
January 21, 2018 by Filip Jorissen:
Changed implementation such that control input is visible. See #761. -
May 26, 2017 by Filip Jorissen:
Revised implementation for renamed portsHDirTiletc. See #735. -
March 6, 2017, by Filip Jorissen:
Added option for using 'normal' dynamics for the window glazing. Removed the option for having a combined state for window and frame this this is non-physical. This is for #678. -
January 10, 2017, by Filip Jorissen:
Removed declaration ofAsince this is now declared in IDEAS.Buildings.Components.Interfaces.PartialSurface. This is for #609. -
January 10, 2017 by Filip Jorissen:
SetlinExtRad = sim.linExtRadWin. See #615. -
December 19, 2016, by Filip Jorissen:
Added solar irradiation on window frame. -
December 19, 2016, by Filip Jorissen:
Removed briType, which had default value LineLoss. briType is now part of the Frame model and has default value None. -
February 10, 2016, by Filip Jorissen and Damien Picard:
Revised implementation: cleaned up connections and partials. -
December 17, 2015, Filip Jorissen:
Added thermal connection between frame and glazing state. This is required for decoupling steady state thermal dynamics without adding a second state for the window. -
July 14, 2015, Filip Jorissen:
Removed second shading device since a new partial was created for handling this. -
June 14, 2015, Filip Jorissen:
Adjusted implementation for computing conservation of energy. -
February 10, 2015 by Filip Jorissen:
Adjusted implementation for grouping of solar calculations.