diff --git a/doc/input-output-reference/src/overview/group-surface-construction-elements.tex b/doc/input-output-reference/src/overview/group-surface-construction-elements.tex index f77b051ea23..848ade52fcf 100644 --- a/doc/input-output-reference/src/overview/group-surface-construction-elements.tex +++ b/doc/input-output-reference/src/overview/group-surface-construction-elements.tex @@ -4136,7 +4136,7 @@ \subsection{Construction:ComplexFenestrationState}\label{constructioncomplexfene The optical properties are given as a two-dimensional matrix describing the basis and four two-dimensional matrices of system bidirectional optical properties. -These input objects will generally be exported directly from the WINDOW program and it is expected that users usually will not develop the input themselves. However, this is an option for users who prefer to use a different method (e.g., Monte-Carlo ray-trace or measurement) of determining optical properties. +These input objects will generally be exported directly from the \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} program and it is expected that users usually will not develop the input themselves. However, this is an option for users who prefer to use a different method (e.g., Monte-Carlo ray-trace or measurement) of determining optical properties. Multiple instances of this object are used to define the separate operating states of complex fenestration.~ For example, blinds could be deployed or redirected to create a new state, or electrochromic glazings could change transmittance.~ Each separate state defines the materials present and the overall optical performance.~ If the glazing system has only one state, then only one of these objects is needed. @@ -4449,17 +4449,17 @@ \subsubsection{Inputs}\label{inputs-41} \subsection{Construction:WindowDataFile}\label{constructionwindowdatafile} -The WINDOW program, which does a thermal and optical analysis of a window under different design conditions, writes a data file (``Window data file'') containing a description of the window that was analyzed. The Construction:WindowDataFile object allows a window to be read in from the WINDOW data file---see ``Importing Windows from WINDOW.'' For information on adding a shading device to the window see ``\hyperref[windowpropertyshadingcontrol]{WindowShadingControl}.'' +The \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} program, which does a thermal and optical analysis of a window under different design conditions, writes a data file (``Window data file'') containing a description of the window that was analyzed. The Construction:WindowDataFile object allows a window to be read in from the ``Window data file''---see \hyperref[importing-windows-from-window-program]{Importing Windows from WINDOW Program}. For information on adding a shading device to the window see ``\hyperref[windowpropertyshadingcontrol]{WindowShadingControl}.'' \subsubsection{Inputs}\label{inputs-42} \paragraph{Field: Name}\label{field-name-36} -This is the name of a window on the Window data file. An error will result if EnergyPlus cannot find a window of this name on the file, or if the file, shown in the next field, is not present. The location of the data file should be specified in the File Name field. For details on what is done with the data if a matching window is found on the file see ``Importing Windows from WINDOW.'' +This is the name of a window on the ``Window data file''. An error will result if EnergyPlus cannot find a window of this name on the file, or if the file, shown in the next field, is not present. The location of the data file should be specified in the File Name field. For details on what is done with the data if a matching window is found on the file see \hyperref[importing-windows-from-window-program]{Importing Windows from WINDOW Program}. \paragraph{Field: File Name}\label{field-file-name-000} -This is the file name of the Window data file that contains the Window referenced in the previous field. The field may include a full path with file name, for precise results. The field must be \textless{}= 100 characters. The file name must not include commas or an exclamation point. A relative path or a simple file name should work with version 7.0 or later when using EP-Launch even though EP-Launch uses temporary directories as part of the execution of EnergyPlus. If using RunEPlus.bat to run EnergyPlus from the command line, a relative path or a simple file name may work if RunEPlus.bat is run from the folder that contains EnergyPlus.exe. +This is the file name of the ``Window data file'' that contains the Window referenced in the previous field. The field may include a full path with file name, for precise results. The field must be \textless{}= 100 characters. The file name must not include commas or an exclamation point. A relative path or a simple file name should work with version 7.0 or later when using EP-Launch even though EP-Launch uses temporary directories as part of the execution of EnergyPlus. If using RunEPlus.bat to run EnergyPlus from the command line, a relative path or a simple file name may work if RunEPlus.bat is run from the folder that contains EnergyPlus.exe. If this field is left blank, the file name is defaulted to Window5DataFile.dat. diff --git a/doc/input-output-reference/src/overview/group-thermal-zone-description-geometry.tex b/doc/input-output-reference/src/overview/group-thermal-zone-description-geometry.tex index 62855dd06bf..5e2a9b4771d 100644 --- a/doc/input-output-reference/src/overview/group-thermal-zone-description-geometry.tex +++ b/doc/input-output-reference/src/overview/group-thermal-zone-description-geometry.tex @@ -1561,7 +1561,7 @@ \subsubsection{Inputs}\label{inputs-14-016} This is the name of the subsurface's construction (ref: objects: Construction, \hyperref[constructionwindowdatafile]{Construction:WindowDataFile}, \hyperref[constructioncomplexfenestrationstate]{Construction:ComplexFenestrationState}). -For windows, if Construction Name is not found among the constructions on the input (.idf) file, the Window Data File (ref. \hyperref[constructionwindowdatafile]{Construction:WindowDataFile} object) will be searched for that Construction Name (see ``Importing Windows from WINDOW''). If that file is not present or if the Construction Name does not match the name of an entry on the file, an error will result. If there is a match, a window construction and its corresponding glass and gas materials will be created from the information read from the file. +For windows, if Construction Name is not found among the constructions on the input (.idf) file, the ``Window data file'' (ref. \hyperref[constructionwindowdatafile]{Construction:WindowDataFile} object) will be searched for that Construction Name (see \hyperref[importing-windows-from-window-program]{Importing Windows from WINDOW Program}). If that file is not present or if the Construction Name does not match the name of an entry on the file, an error will result. If there is a match, a window construction and its corresponding glass and gas materials will be created from the information read from the file. \paragraph{Field: Building Surface Name}\label{field-building-surface-name-000} @@ -1669,7 +1669,7 @@ \subsubsection{Inputs}\label{inputs-16-012} This is the name of the subsurface's construction (ref: objects: Construction, \hyperref[constructionwindowdatafile]{Construction:WindowDataFile}, \hyperref[constructioncomplexfenestrationstate]{Construction:ComplexFenestrationState}). -For windows, if Construction Name is not found among the constructions on the input (.idf) file, the Window Data File (ref. \hyperref[constructionwindowdatafile]{Construction:WindowDataFile} object) will be searched for that Construction Name (see ``Importing Windows from WINDOW''). If that file is not present or if the Construction Name does not match the name of an entry on the file, an error will result. If there is a match, a window construction and its corresponding glass and gas materials will be created from the information read from the file. +For windows, if Construction Name is not found among the constructions on the input (.idf) file, the ``Window data file'' (ref. \hyperref[constructionwindowdatafile]{Construction:WindowDataFile} object) will be searched for that Construction Name (see \hyperref[importing-windows-from-window-program]{Importing Windows from WINDOW Program}). If that file is not present or if the Construction Name does not match the name of an entry on the file, an error will result. If there is a match, a window construction and its corresponding glass and gas materials will be created from the information read from the file. \paragraph{Field: Building Surface Name}\label{field-building-surface-name-2} @@ -1727,7 +1727,7 @@ \subsubsection{Inputs}\label{inputs-17-010} This is the name of the subsurface's construction (ref: objects: Construction, \hyperref[constructionwindowdatafile]{Construction:WindowDataFile}, \hyperref[constructioncomplexfenestrationstate]{Construction:ComplexFenestrationState}). -For windows, if Construction Name is not found among the constructions on the input (.idf) file, the Window Data File (ref. \hyperref[constructionwindowdatafile]{Construction:WindowDataFile} object) will be searched for that Construction Name (see ``Importing Windows from WINDOW''). If that file is not present or if the Construction Name does not match the name of an entry on the file, an error will result. If there is a match, a window construction and its corresponding glass and gas materials will be created from the information read from the file. +For windows, if Construction Name is not found among the constructions on the input (.idf) file, the ``Window data file'' (ref. \hyperref[constructionwindowdatafile]{Construction:WindowDataFile} object) will be searched for that Construction Name (see \hyperref[importing-windows-from-window-program]{Importing Windows from WINDOW Program}). If that file is not present or if the Construction Name does not match the name of an entry on the file, an error will result. If there is a match, a window construction and its corresponding glass and gas materials will be created from the information read from the file. \paragraph{Field: Building Surface Name}\label{field-building-surface-name-3} @@ -1837,7 +1837,7 @@ \subsubsection{Inputs}\label{inputs-19-007} This is the name of the subsurface's construction (ref: objects: Construction, \hyperref[constructionwindowdatafile]{Construction:WindowDataFile}, \hyperref[constructioncomplexfenestrationstate]{Construction:ComplexFenestrationState}). -For windows, if Construction Name is not found among the constructions on the input (.idf) file, the Window Data File (ref. \hyperref[constructionwindowdatafile]{Construction:WindowDataFile} object) will be searched for that Construction Name (see ``Importing Windows from WINDOW''). If that file is not present or if the Construction Name does not match the name of an entry on the file, an error will result. If there is a match, a window construction and its corresponding glass and gas materials will be created from the information read from the file. +For windows, if Construction Name is not found among the constructions on the input (.idf) file, the ``Window data file'' (ref. \hyperref[constructionwindowdatafile]{Construction:WindowDataFile} object) will be searched for that Construction Name (see \hyperref[importing-windows-from-window-program]{Importing Windows from WINDOW Program}). If that file is not present or if the Construction Name does not match the name of an entry on the file, an error will result. If there is a match, a window construction and its corresponding glass and gas materials will be created from the information read from the file. \paragraph{Field: Building Surface Name}\label{field-building-surface-name-5} @@ -2611,7 +2611,7 @@ \subsubsection{Inputs}\label{inputs-24-004} This is the name of the subsurface's construction (ref: Construction object {[}for Door{]} and Construction, \hyperref[constructioncomplexfenestrationstate]{Construction:ComplexFenestrationState}, \hyperref[constructionwindowdatafile]{Construction:WindowDataFile} objects {[}for Window and GlassDoor{]}). -For windows, if Construction Name is not found among the constructions on the input (.idf) file, the Window Data File (ref. \hyperref[constructionwindowdatafile]{Construction:WindowDataFile} object) will be searched for that Construction Name (see ``Importing Windows from WINDOW''). If that file is not present or if the Construction Name does not match the name of an entry on the file, an error will result. If there is a match, a window construction and its corresponding glass and gas materials will be created from the information read from the file. +For windows, if Construction Name is not found among the constructions on the input (.idf) file, the ``Window data file'' (ref. \hyperref[constructionwindowdatafile]{Construction:WindowDataFile} object) will be searched for that Construction Name (see \hyperref[importing-windows-from-window-program]{Importing Windows from WINDOW Program}). If that file is not present or if the Construction Name does not match the name of an entry on the file, an error will result. If there is a match, a window construction and its corresponding glass and gas materials will be created from the information read from the file. \paragraph{Field: Building Surface Name}\label{field-building-surface-name-6} @@ -2737,7 +2737,7 @@ \subsection{Window Modeling Options}\label{window-modeling-options} Add \textbf{natural ventilation} through an open window & Ventilation or Airflow\-Network objects (Airflow\-Network:\-Multizone:\-Surface, Airflow\-Network:\-Multi\-Zone:\-Component:\-Detailed\-Opening, etc.) & Airflow\-Network\-3zvent.idf \tabularnewline Add \textbf{diffusing glass} & Window\-Material:\-Glazing/\-Solar Diffusing = Yes & \tabularnewline Add \textbf{dirt on window} & Window\-Material:\-Glazing/\-Dirt Correction Factor for Solar and Visible Transmittance & \tabularnewline -Import window (and frame/divider if present) from \textbf{WINDOW} program & See ``Importing Windows from WINDOW program'' & \tabularnewline +Import window (and frame/divider if present) from \textbf{WINDOW} program & See \hyperref[importing-windows-from-window-program]{Importing Windows from WINDOW Program} & \tabularnewline Find \textbf{daylighting through interior windows} & See ``Double Facades: Daylighting through Interior Windows'' & Purch\-Air\-With\-Double\-Facade\-Daylighting.idf \tabularnewline Determine when \textbf{condensation} occurs & Print the variables ``Surface Window Inside Face Glazing Condensation Status,'' ``Surface Window Inside Face Frame Condensation Status,'' ``Surface Window Inside Face Divider Condensation Status'' & \tabularnewline \bottomrule @@ -4501,6 +4501,7 @@ \subsection{WindowShadingControl}\label{windowpropertyshadingcontrol} For Shading Type = InteriorShade, InteriorBlind, ExteriorShade, ExteriorScreen and ExteriorBlind these two Constructions must be identical expect for the presence of the shading layer in the shaded Construction, otherwise you will get an error message. You will also get an error message if the Construction referenced by the window has a shading layer. +\begin{itemize} \item \textbf{Specify the ``Material Name of the Shading Device''} @@ -4508,7 +4509,7 @@ \subsection{WindowShadingControl}\label{windowpropertyshadingcontrol} When this method is used, the program will automatically create a shaded window construction by adding a shading layer to the outside or inside of the construction corresponding to the windows referenced by the WindowShadingControl. The name, created by the program, of this shaded construction is composed as follows: if the name of the window construction is CCC and the material name of the shading device is DDD, then the shaded construction name is CCC:DDD:INT for an interior shading device and CCC:DDD:EXT for an exterior shading device. -This method is the required if you want to add a shading device to a construction brought in from a WINDOW Data File (ref:\hyperref[constructionwindowdatafile]{Construction:WindowDataFile}). +This method is the required if you want to add a shading device to a construction brought in from a ``Window data file'' (ref:\hyperref[constructionwindowdatafile]{Construction:WindowDataFile}). Note that if both ``Name of Construction with Shading'' and ``Material Name of Shading Device'' are specified, the former takes precedence. \end{itemize} @@ -4891,9 +4892,9 @@ \subsection{WindowProperty:FrameAndDivider}\label{windowpropertyframeanddivider} In EnergyPlus, a window can have any combination of frame, divider and reveal surfaces, or none of these. -The best source of frame and divider characteristics is the WINDOW program, which will calculate the values required by EnergyPlus for different frame and divider types. In particular, the THERM program within the WINDOW program will calculate the effective conductance of frames and dividers; this is the conductance taking 2-D heat transfer effects into account. +The best source of frame and divider characteristics is the \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} program, which will calculate the values required by EnergyPlus for different frame and divider types. In particular, the \href{https://windows.lbl.gov/software-tools#therm-heading}{THERM} program within the \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} program will calculate the effective conductance of frames and dividers; this is the conductance taking 2-D heat transfer effects into account. -Note that a window's frame and divider characteristics, along with other window information, can be read in from the Window Data File (see ``Importing Windows from the WINDOW program'' and ``\hyperref[constructionwindowdatafile]{Construction:WindowDataFile} object''). In this case the WindowProperty:FrameAndDivider referenced by the window is not applicable and should be blank unless you want to specify reveal surfaces for beam solar reflection. +Note that a window's frame and divider characteristics, along with other window information, can be read in from the ``Window data file'' (see \hyperref[importing-windows-from-window-program]{Importing Windows from WINDOW Program} and ``\hyperref[constructionwindowdatafile]{Construction:WindowDataFile} object''). In this case the WindowProperty:FrameAndDivider referenced by the window is not applicable and should be blank unless you want to specify reveal surfaces for beam solar reflection. \begin{figure}[hbtp] % fig 35 \centering @@ -4931,11 +4932,11 @@ \subsubsection{Inputs}\label{inputs-33-001} \paragraph{Field: Frame Conductance}\label{field-frame-conductance} -The effective thermal conductance of the frame measured from inside to outside frame surface (no air films) and taking 2-D conduction effects into account. Obtained from the WINDOW program or other 2-D calculation. +The effective thermal conductance of the frame measured from inside to outside frame surface (no air films) and taking 2-D conduction effects into account. Obtained from the \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} program or other 2-D calculation. \paragraph{Field: Ratio of Frame-Edge Glass Conductance to Center-Of-Glass Conductance}\label{field-ratio-of-frame-edge-glass-conductance-to-center-of-glass-conductance} -The glass conductance near the frame (excluding air films) divided by the glass conductance at the center of the glazing (excluding air films). Used only for multi-pane glazing constructions. This ratio is greater than 1.0 because of thermal bridging from the glazing across the frame and across the spacer that separates the glass panes. Values can be obtained from the WINDOW program the user-selected glazing construction and frame characteristics. +The glass conductance near the frame (excluding air films) divided by the glass conductance at the center of the glazing (excluding air films). Used only for multi-pane glazing constructions. This ratio is greater than 1.0 because of thermal bridging from the glazing across the frame and across the spacer that separates the glass panes. Values can be obtained from the \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} program the user-selected glazing construction and frame characteristics. \paragraph{Field: Frame Solar Absorptance}\label{field-frame-solar-absorptance} @@ -4985,11 +4986,11 @@ \subsubsection{Inputs}\label{inputs-33-001} \paragraph{Field: Divider Conductance}\label{field-divider-conductance} -The effective thermal conductance of the divider measured from inside to outside divider surface (no air films) and taking 2-D conduction effects into account. Obtained from the WINDOW program or other 2-D calculation. +The effective thermal conductance of the divider measured from inside to outside divider surface (no air films) and taking 2-D conduction effects into account. Obtained from the \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} program or other 2-D calculation. \paragraph{Field: Ratio of Divider-Edge Glass Conductance to Center-Of-Glass Conductance}\label{field-ratio-of-divider-edge-glass-conductance-to-center-of-glass-conductance} -The glass conductance near the divider (excluding air films) divided by the glass conductance at the center of the glazing (excluding air films). Used only for multi-pane glazing constructions. This ratio is greater than 1.0 because of thermal bridging from the glazing across the divider and across the spacer that separates the glass panes. Values can be obtained from the WINDOW program for the user-selected glazing construction and divider characteristics. +The glass conductance near the divider (excluding air films) divided by the glass conductance at the center of the glazing (excluding air films). Used only for multi-pane glazing constructions. This ratio is greater than 1.0 because of thermal bridging from the glazing across the divider and across the spacer that separates the glass panes. Values can be obtained from the \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} program for the user-selected glazing construction and divider characteristics. \paragraph{Field: Divider Solar Absorptance}\label{field-divider-solar-absorptance} @@ -5297,19 +5298,19 @@ \subsubsection{Inputs}\label{inputs-35-001} 1; !- Day of Month that Storm Window Is Taken Off \end{lstlisting} -\subsection{Importing Windows from WINDOW program}\label{importing-windows-from-window-program} +\subsection{Importing Windows from WINDOW Program}\label{importing-windows-from-window-program} \begin{callout} -WINDOW v6.3 and later is capable of writing IDF excerpts for Window data. This is the preferred method as no external file is necessary. See the Tips document for details on obtaining the IDF excerpt. +\href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} v6.3 and later is capable of writing IDF excerpts for Window data. This is the preferred method as no external file is necessary. See the Tips document for details on obtaining the IDF excerpt. \end{callout} -The WINDOW program calculates the U-value, Solar Heat Gain Coefficient, solar transmission/absorption characteristics, visible transmission characteristics and other properties of a window under standard indoor and outdoor conditions. WINDOW treats the whole window system---glazing, frame and divider. A sub-program of WINDOW called THERM uses a 2-D finite element calculation to determine the effective conductance of frame, divider and edge-of-glass elements. Another sub-program, OPTICS, determines the solar-optical properties of glazing, including laminates and coated glass. +The \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} program calculates the U-value, Solar Heat Gain Coefficient, solar transmission/absorption characteristics, visible transmission characteristics and other properties of a window under standard indoor and outdoor conditions. \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} treats the whole window system---glazing, frame and divider. A sub-program of \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} called \href{https://windows.lbl.gov/software-tools#therm-heading}{THERM} uses a 2-D finite element calculation to determine the effective conductance of frame, divider and edge-of-glass elements. Another sub-program, \href{https://windows.lbl.gov/software-tools#optics-heading}{OPTICS}, determines the solar-optical properties of glazing, including laminates and coated glass. -WINDOW can write a data file containing a description of the window that was analyzed. An example of this file (which is no longer the preferred method) is shown in the Tips document under WINDOW generated files. is shown below. This file, which can be named by the user, can be read by EnergyPlus. For more complete description and examples, see the object description -- \hyperref[constructionwindowdatafile]{Construction:WindowDataFile}. +\href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} can write a data file containing a description of the window that was analyzed. An example of this file (which is no longer the preferred method) is shown in the Tips document under \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} generated files. is shown below. This file, which can be named by the user, can be read by EnergyPlus. For more complete description and examples, see the object description -- \hyperref[constructionwindowdatafile]{Construction:WindowDataFile}. -In this way, the same window that was created in WINDOW can be imported into EnergyPlus for annual energy analysis without having to re-input the window data. To obtain WINDOW, THERM, or OPTICS go to \url{http://windows.lbl.gov} and choose the software link. A major advantage of using WINDOW to create window input for EnergyPlus is that you will have direct access to WINDOW's expanding database of over 1000 different glass types; and you will be able to browse through this database according to different criteria (color, transmittance, solar heat gain coefficient, etc.) to help you select the best glass type for your application. +In this way, the same window that was created in \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} can be imported into EnergyPlus for annual energy analysis without having to re-input the window data. To obtain \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW}, \href{https://windows.lbl.gov/software-tools#therm-heading}{THERM}, or \href{https://windows.lbl.gov/software-tools#optics-heading}{OPTICS} go to \url{http://windows.lbl.gov} and choose the software link. A major advantage of using \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} to create window input for EnergyPlus is that you will have direct access to \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW}'s expanding database of over 1000 different glass types; and you will be able to browse through this database according to different criteria (color, transmittance, solar heat gain coefficient, etc.) to help you select the best glass type for your application. -Although WINDOW writes only one window entry on the WINDOW data file, EnergyPlus users can combine two or more of these files to end up with a single data file with multiple window entries of different types. In this way a library of windows from WINDOW can be built up if so desired. If you combine files like this you should be sure not to leave out or change any of lines from the original files. +Although \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} writes only one window entry on the ``Window data file'', EnergyPlus users can combine two or more of these files to end up with a single data file with multiple window entries of different types. In this way a library of windows from WINDOW can be built up if so desired. If you combine files like this you should be sure not to leave out or change any of lines from the original files. There are four methods for inputting window constructions in EnergyPlus: @@ -5320,9 +5321,9 @@ \subsection{Importing Windows from WINDOW program}\label{importing-windows-from- \item input spectral average data for each layer in the IDF, \item - items 1 and 2 can be accomplished by reporting the IDF excerpt method from WINDOW + items 1 and 2 can be accomplished by reporting the IDF excerpt method from \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} \item - import WINDOW report containing layer-by-layer calculated values and overall glazing system angular values. + import \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} report containing layer-by-layer calculated values and overall glazing system angular values. \end{enumerate} \begin{callout} @@ -5331,12 +5332,12 @@ \subsection{Importing Windows from WINDOW program}\label{importing-windows-from- \begin{itemize} \item - The SHGC calculations in EnergyPlus for window layers input using full spectral data use a spectral weighting data set (derived from Optics5 data file ISO-9845GlobalNorm.std) that is different from the WINDOW default spectral weighting data set (W5\_NFRC\_2003.std). This difference accounts for most of the variation in SHGC values reported by EnergyPlus and WINDOW for full spectral data window layer input. This variation is more pronounced for window constructions of three glass layers or more. + The SHGC calculations in EnergyPlus for window layers input using full spectral data use a spectral weighting data set (derived from Optics5 data file ISO-9845GlobalNorm.std) that is different from the \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} default spectral weighting data set (W5\_NFRC\_2003.std). This difference accounts for most of the variation in SHGC values reported by EnergyPlus and \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} for full spectral data window layer input. This variation is more pronounced for window constructions of three glass layers or more. \item - Users intending to select a window construction based on SHGC value for energy code compliance should base their selection on the value reported by WINDOW since this is the officially recognized value. + Users intending to select a window construction based on SHGC value for energy code compliance should base their selection on the value reported by \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} since this is the officially recognized value. \end{itemize} -In EnergyPlus, the Window data file is searched for each ``\hyperref[constructionwindowdatafile]{Construction:WindowDataFile}'' object in the EnergyPlus input. This object has a very simple form: +In EnergyPlus, the ``Window data file'' is searched for each ``\hyperref[constructionwindowdatafile]{Construction:WindowDataFile}'' object in the EnergyPlus input. This object has a very simple form: \begin{lstlisting} Construction:WindowDataFile, @@ -5344,10 +5345,10 @@ \subsection{Importing Windows from WINDOW program}\label{importing-windows-from- FileName; !- Default is Window5DataFile.dat in the ``run'' folder. \end{lstlisting} -If there is a window called ConstructionName on the Window data file, the data for that window is read from the file and the following EnergyPlus objects and their names are created. The ``W5'' prefixed to these names indicates that the object originated in the Window data file. +If there is a window called ConstructionName on the ``Window data file'' data file, the data for that window is read from the file and the following EnergyPlus objects and their names are created. The ``W5'' prefixed to these names indicates that the object originated in the ``Window data file''. \subsection{Using LBNLs Windows Calculation Engine}\label{windowscalculationengine} -This is new windows simulation engine that will be used in both EnergyPlus and Berkeley Lab WINDOW. The intent is for this engine to replace all other window calculation modules in EnergyPlus. For the time being, other modules will still be available. To use the new Window Calculation Engine, insert the following into IDF: +This is new windows simulation engine that will be used in both EnergyPlus and Berkeley Lab \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW}. The intent is for this engine to replace all other window calculation modules in EnergyPlus. For the time being, other modules will still be available. To use the new \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} Calculation Engine, insert the following into IDF: \begin{lstlisting} WindowsCalculationEngine, diff --git a/doc/input-output-reference/src/standard-output-reports/output-table-summaryreports.tex b/doc/input-output-reference/src/standard-output-reports/output-table-summaryreports.tex index 3af71f15f68..23c8a10d557 100644 --- a/doc/input-output-reference/src/standard-output-reports/output-table-summaryreports.tex +++ b/doc/input-output-reference/src/standard-output-reports/output-table-summaryreports.tex @@ -93,7 +93,7 @@ \subsubsection{Predefined Annual Summary Reports}\label{predefined-annual-summar The assembly results include the effect of the frame and divider and are only produced when \hyperref[windowpropertyframeanddivider]{WindowProperty:FrameAndDivider} input object is used. In addition, the assembly columns are shown for most configurations but are not shown when using \hyperref[constructionwindowequivalentlayer]{Construction:WindowEquivalentLayer} or when using \hyperref[constructionwindowdatafile]{Construction:WindowDataFile} with a Window5DataFile.dat file. -Differences should still be expected between the results from EnergyPlus and the WINDOW program for the U-Factor, SHGC, and visible transmittance, both glass and assembly. These differences are based on algorithmic differences between the two programs even though they do share some code in the Windows Calculation Engine, other portions of the algorithms differ. In addition, the reported values may not match the NFRC rated values seen on a label because of differences between the calculations in EnergyPlus and the exact NFRC rating procedures including grouping of products. +Differences should still be expected between the results from EnergyPlus and the \href{https://windows.lbl.gov/software-tools#window-heading}{WINDOW} program for the U-Factor, SHGC, and visible transmittance, both glass and assembly. These differences are based on algorithmic differences between the two programs even though they do share some code in the Windows Calculation Engine, other portions of the algorithms differ. In addition, the reported values may not match the NFRC rated values seen on a label because of differences between the calculations in EnergyPlus and the exact NFRC rating procedures including grouping of products. \paragraph{Surface Shadowing Summary}\label{surface-shadowing-summary} diff --git a/idd/Energy+.idd.in b/idd/Energy+.idd.in index 6834909d200..e1d7018266c 100644 --- a/idd/Energy+.idd.in +++ b/idd/Energy+.idd.in @@ -13086,7 +13086,7 @@ WindowProperty:FrameAndDivider, \memo Specifies the dimensions of a window frame, dividers, and inside reveal surfaces. \memo Referenced by the surface objects for exterior windows and glass doors \memo (ref: FenestrationSurface:Detailed, Window, and GlazedDoor). - \min-fields 26 + \min-fields 26 A1 , \field Name \required-field \type alpha @@ -13160,12 +13160,12 @@ WindowProperty:FrameAndDivider, \note Width of dividers in plane of window \note Width assumed the same for all dividers N10, \field Number of Horizontal Dividers - \type real + \type integer \minimum 0 \default 0 \note "Horizontal" means parallel to local window X-axis N11, \field Number of Vertical Dividers - \type real + \type integer \minimum 0 \default 0 \note "Vertical" means parallel to local window Y-axis diff --git a/tst/EnergyPlus/unit/SolarShading.unit.cc b/tst/EnergyPlus/unit/SolarShading.unit.cc index dd15cbd368a..486ab5c2a1e 100644 --- a/tst/EnergyPlus/unit/SolarShading.unit.cc +++ b/tst/EnergyPlus/unit/SolarShading.unit.cc @@ -6802,6 +6802,132 @@ TEST_F(EnergyPlusFixture, SolarShadingTest_CalcBeamSolarOnWinRevealSurface) EXPECT_NEAR(state->dataSurface->SurfWinBmSolAbsdInsReveal(1), 0.0326, 0.001); EXPECT_NEAR(state->dataSurface->SurfWinBmSolAbsdInsReveal(2), 0.0225, 0.001); } + +TEST_F(EnergyPlusFixture, SolarShadingTest_HorAndVertDividersAreAlwaysIntegers) +{ + state->dataGlobal->TimeStepsInHour = 6; + + state->dataSurface->FrameDivider.allocate(3); + auto &frameDivider1 = state->dataSurface->FrameDivider(1); + frameDivider1.Name = "FrameDivider1"; + frameDivider1.DividerWidth = 0.2; + frameDivider1.HorDividers = 2; + frameDivider1.VertDividers = 2; + + auto &frameDivider2 = state->dataSurface->FrameDivider(2); + frameDivider2.Name = "FrameDivider2"; + frameDivider2.DividerWidth = 0.2; + frameDivider2.HorDividers = 2.25; + frameDivider2.VertDividers = 2.99; + + auto &frameDivider3 = state->dataSurface->FrameDivider(3); + frameDivider3.Name = "FrameDivider3"; + frameDivider3.DividerWidth = 0.2; + frameDivider3.HorDividers = 3; + frameDivider3.VertDividers = 3; + + int NumSurf = 3; + state->dataSurface->TotSurfaces = NumSurf; + state->dataSurface->Surface.allocate(NumSurf); + state->dataSurface->SurfaceWindow.allocate(NumSurf); + EnergyPlus::SurfaceGeometry::AllocateSurfaceWindows(*state, NumSurf); + Window::initWindowModel(*state); + SolarShading::AllocateModuleArrays(*state); + + auto &surf1 = state->dataSurface->Surface(1); + auto &surf2 = state->dataSurface->Surface(2); + auto &surf3 = state->dataSurface->Surface(3); + surf1.Name = "Surface1"; + surf2.Name = "Surface2"; + surf3.Name = "Surface2"; + surf1.Zone = 1; + surf2.Zone = 1; + surf3.Zone = 1; + surf1.spaceNum = 1; + surf2.spaceNum = 1; + surf3.spaceNum = 1; + surf1.Class = DataSurfaces::SurfaceClass::Window; + surf2.Class = DataSurfaces::SurfaceClass::Window; + surf3.Class = DataSurfaces::SurfaceClass::Window; + surf1.ExtBoundCond = DataSurfaces::ExternalEnvironment; + surf2.ExtBoundCond = DataSurfaces::ExternalEnvironment; + surf3.ExtBoundCond = DataSurfaces::ExternalEnvironment; + surf1.HasShadeControl = false; + surf2.HasShadeControl = false; + surf3.HasShadeControl = false; + surf1.Construction = 1; + surf2.Construction = 1; + surf3.Construction = 1; + surf1.FrameDivider = 1; + surf2.FrameDivider = 2; + surf3.FrameDivider = 3; + surf1.Sides = 4; + surf2.Sides = 4; + surf3.Sides = 4; + surf1.Height = 2.0; + surf2.Height = 2.0; + surf3.Height = 2.0; + surf1.Width = 1.0; + surf2.Width = 1.0; + surf3.Width = 1.0; + surf1.SinAzim = 0.0; + surf2.SinAzim = 0.0; + surf3.SinAzim = 0.0; + surf1.CosAzim = 1.0; + surf2.CosAzim = 1.0; + surf3.CosAzim = 1.0; + surf1.SinTilt = 1.0; + surf2.SinTilt = 1.0; + surf3.SinTilt = 1.0; + surf1.CosTilt = 0.0; + surf2.CosTilt = 0.0; + surf3.CosTilt = 0.0; + surf1.Area = 2.0; + surf2.Area = 2.0; + surf3.Area = 2.0; + state->dataSurface->SurfWinFrameArea(1) = 0.64; + state->dataSurface->SurfWinFrameArea(2) = 0.64; + state->dataSurface->SurfWinFrameArea(3) = 0.64; + + state->dataSurface->SurfActiveConstruction(1) = 1; + state->dataSurface->SurfActiveConstruction(2) = 1; + state->dataSurface->SurfActiveConstruction(3) = 1; + + state->dataHeatBal->TotConstructs = 1; + state->dataConstruction->Construct.allocate(state->dataHeatBal->TotConstructs); + auto &construct1 = state->dataConstruction->Construct(1); + construct1.TotLayers = 1; + construct1.LayerPoint.allocate(1); + construct1.LayerPoint(1) = 1; + construct1.Name = "Construction1"; + construct1.TotGlassLayers = 1; + construct1.TransSolBeamCoef[0] = 0.9; + + auto &s_mat = state->dataMaterial; + + auto *mat1 = new Material::MaterialGlass; + mat1->Name = "GLASS"; + mat1->group = Material::Group::Glass; + s_mat->materials.push_back(mat1); + mat1->Num = s_mat->materials.isize(); + s_mat->materialMap.insert_or_assign(mat1->Name, mat1->Num); + + state->dataGlobal->NumOfZones = 1; + state->dataHeatBal->Zone.allocate(1); + state->dataHeatBal->Zone(1).spaceIndexes.allocate(1); + state->dataHeatBal->Zone(1).spaceIndexes[0] = 1; + state->dataHeatBal->space.allocate(1); + state->dataHeatBal->space(1).WindowSurfaceFirst = 1; + state->dataHeatBal->space(1).WindowSurfaceLast = 2; + + Window::W5InitGlassParameters(*state); + + // fractional parts of HorDividers and VertDividers are truncated + EXPECT_EQ(state->dataSurface->SurfWinFrameEdgeArea(1), state->dataSurface->SurfWinFrameEdgeArea(2)); + EXPECT_NE(state->dataSurface->SurfWinFrameEdgeArea(1), state->dataSurface->SurfWinFrameEdgeArea(3)); + EXPECT_NE(state->dataSurface->SurfWinFrameEdgeArea(2), state->dataSurface->SurfWinFrameEdgeArea(3)); +} + TEST_F(EnergyPlusFixture, SolarShadingTest_CalcInteriorSolarDistribution_Detailed) { // Test for detailed window model