Skip to content

Commit

Permalink
Merge pull request #10903 from NREL/10697SurfaceBoundary
Browse files Browse the repository at this point in the history
Fix space assignment for zone outside boundary condition and add space option
  • Loading branch information
Myoldmopar authored Feb 6, 2025
2 parents 28140c5 + bd95957 commit 6fe081f
Show file tree
Hide file tree
Showing 5 changed files with 1,701 additions and 134 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -144,14 +144,15 @@ \subsubsection{Step 3.1.~~~~~ Determine heat transfer and heat storage surfaces.
\type choice
\key Surface
\key Zone
\key Space
\key Outdoors
\key Ground
\key OtherSideCoefficients
\key OtherSideConditionsModel
A6, \field Outside Boundary Condition Object
\type object-list
\object-list OutFaceEnvNames
\note Non-blank only if the field Outside Boundary Condition is Surface, Zone, OtherSideCoefficients,
\note Non-blank only if the field Outside Boundary Condition is Surface, Zone, Space, OtherSideCoefficients,
\note or OtherSideConditionsModel
\note If Surface, specify name of corresponding surface in adjacent zone or
\note specify current surface name for internal partition separating like zones
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2056,6 +2056,8 @@ \subsubsection{Inputs}\label{inputs-20-007}
\textbf{Adiabatic} -- an internal surface in the same Zone. This surface will not transfer heat out of the zone, but will still store heat in thermal mass. Only the inside face of the surface will exchange heat with the zone (i.e.~two adiabatic surfaces are required to model internal partitions where both sides of the surface are exchanging heat with the zone). The Outside Boundary Condition Object can be left blank.
\item
\textbf{Zone} -- this is similar to Surface but EnergyPlus will automatically create the required surface in the adjacent zone when this is entered for the surface. If there are windows or doors on the surface, EnergyPlus automatically creates appropriate sub-surfaces as well.
\item
\textbf{Space} -- this is similar to Surface but EnergyPlus will automatically create the required surface in the adjacent space when this is entered for the surface. If there are windows or doors on the surface, EnergyPlus automatically creates appropriate sub-surfaces as well.
\item
\textbf{Outdoors} -- if this surface is exposed to outside temperature conditions, then this is the choice. See Sun Exposure and Wind Exposure below for further specifications on this kind of surface.
\item
Expand Down Expand Up @@ -2086,11 +2088,11 @@ \subsubsection{Inputs}\label{inputs-20-007}

\paragraph{Field: Outside Boundary Condition Object}\label{field-outside-boundary-condition-object-6}

If neither Surface, Zone, Foundation, OtherSideCoefficients, or OtherSideConditionsModel are specified for the Outside Boundary Condition (previous field), then this field should be left blank.
If neither Surface, Zone, Space, Foundation, OtherSideCoefficients, or OtherSideConditionsModel are specified for the Outside Boundary Condition (previous field), then this field should be left blank.

As stated above, if the Outside Boundary Condition is ``Surface'', then this field's value must be the surface name whose inside face temperature will be forced on the outside face of the base surface. This permits heat exchange between adjacent zones (interzone heat transfer) when multiple zones are simulated, but can also be used to simulate middle zone behavior without modeling the adjacent zones. This is done by specifying a surface within the zone. For example, a middle floor zone can be modeled by making the floor the Outside Boundary Condition Object for the ceiling, and the ceiling the Outside Boundary Condition Object for the floor.

If the Outside Boundary Condition is Zone, then this field should contain the zone name of the adjacent zone for the surface.
If the Outside Boundary Condition is Zone or Space, then this field should contain the zone or space name for the adjacent surface.

\begin{callout}
Note: Zones with interzone heat transfer are not adiabatic and the internal surfaces contribute to gains or losses. Adiabatic surfaces are modeled by specifying the base surface itself in this field. Also, for interzone heat transfer, both surfaces must be represented -- for example, if you want interzone heat transfer to an attic space, the ceiling in the lower zone must have a surface object with the outside face environment as the floor in the attic and, likewise, there must be a floor surface object in the attic that references the ceiling surface name in the lower zone.
Expand Down Expand Up @@ -2173,6 +2175,8 @@ \subsubsection{Inputs}\label{inputs-21-007}
\textbf{Adiabatic} -- an internal surface in the same Zone. This surface will not transfer heat out of the zone, but will still store heat in thermal mass. Only the inside face of the surface will exchange heat with the zone (i.e.~two adiabatic surfaces are required to model internal partitions where both sides of the surface are exchanging heat with the zone). The Outside Boundary Condition Object can be left blank.
\item
\textbf{Zone} -- this is similar to Surface but EnergyPlus will automatically create the required surface in the adjacent zone when this is entered for the surface. If there are windows or doors on the surface, EnergyPlus automatically creates appropriate sub-surfaces as well.
\item
\textbf{Space} -- this is similar to Surface but EnergyPlus will automatically create the required surface in the adjacent space when this is entered for the surface. If there are windows or doors on the surface, EnergyPlus automatically creates appropriate sub-surfaces as well.
\item
\textbf{Outdoors} -- if this surface is exposed to outside temperature conditions, then this is the choice. See Sun Exposure and Wind Exposure below for further specifications on this kind of surface.
\item
Expand All @@ -2199,11 +2203,11 @@ \subsubsection{Inputs}\label{inputs-21-007}

\paragraph{Field: Outside Boundary Condition Object}\label{field-outside-boundary-condition-object-7}

If neither Surface, Zone, Foundation, OtherSideCoefficients, or OtherSideConditionsModel are specified for the Outside Boundary Condition (previous field), then this field should be left blank.
If neither Surface, Zone, Space, Foundation, OtherSideCoefficients, or OtherSideConditionsModel are specified for the Outside Boundary Condition (previous field), then this field should be left blank.

As stated above, if the Outside Boundary Condition is ``Surface'', then this field's value must be the surface name whose inside face temperature will be forced on the outside face of the base surface. This permits heat exchange between adjacent zones (interzone heat transfer) when multiple zones are simulated, but can also be used to simulate middle zone behavior without modeling the adjacent zones. This is done by specifying a surface within the zone. For example, a middle floor zone can be modeled by making the floor the Outside Boundary Condition Object for the ceiling, and the ceiling the Outside Boundary Condition Object for the floor.

If the Outside Boundary Condition is Zone, then this field should contain the zone name of the adjacent zone for the surface.
If the Outside Boundary Condition is Zone or Space, then this field should contain the zone or space name for the adjacent surface.

\begin{callout}
Note: Zones with interzone heat transfer are not adiabatic and the internal surfaces contribute to gains or losses. Adiabatic surfaces are modeled by specifying the base surface itself in this field. Also, for interzone heat transfer, both surfaces must be represented -- for example, if you want interzone heat transfer to an attic space, the ceiling in the lower zone must have a surface object with the outside face environment as the floor in the attic and, likewise, there must be a floor surface object in the attic that references the ceiling surface name in the lower zone.
Expand Down Expand Up @@ -2286,6 +2290,8 @@ \subsubsection{Inputs}\label{inputs-22-006}
\textbf{Adiabatic} -- an internal surface in the same Zone. This surface will not transfer heat out of the zone, but will still store heat in thermal mass. Only the inside face of the surface will exchange heat with the zone (i.e.~two adiabatic surfaces are required to model internal partitions where both sides of the surface are exchanging heat with the zone). The Outside Boundary Condition Object can be left blank.
\item
\textbf{Zone} -- this is similar to Surface but EnergyPlus will automatically create the required surface in the adjacent zone when this is entered for the surface. If there are windows or doors on the surface, EnergyPlus automatically creates appropriate sub-surfaces as well.
\item
\textbf{Space} -- this is similar to Surface but EnergyPlus will automatically create the required surface in the adjacent space when this is entered for the surface. If there are windows or doors on the surface, EnergyPlus automatically creates appropriate sub-surfaces as well.
\item
\textbf{Outdoors} -- if this surface is exposed to outside temperature conditions, then this is the choice. See Sun Exposure and Wind Exposure below for further specifications on this kind of surface.
\item
Expand Down Expand Up @@ -2316,11 +2322,11 @@ \subsubsection{Inputs}\label{inputs-22-006}

\paragraph{Field: Outside Boundary Condition Object}\label{field-outside-boundary-condition-object-8}

If neither Surface, Zone, Foundation, OtherSideCoefficients, or OtherSideConditionsModel are specified for the Outside Boundary Condition (previous field), then this field should be left blank.
If neither Surface, Zone, Space, Foundation, OtherSideCoefficients, or OtherSideConditionsModel are specified for the Outside Boundary Condition (previous field), then this field should be left blank.

As stated above, if the Outside Boundary Condition is ``Surface'', then this field's value must be the surface name whose inside face temperature will be forced on the outside face of the base surface. This permits heat exchange between adjacent zones (interzone heat transfer) when multiple zones are simulated, but can also be used to simulate middle zone behavior without modeling the adjacent zones. This is done by specifying a surface within the zone. For example, a middle floor zone can be modeled by making the floor the Outside Boundary Condition Object for the ceiling, and the ceiling the Outside Boundary Condition Object for the floor.

If the Outside Boundary Condition is Zone, then this field should contain the zone name of the adjacent zone for the surface.
If the Outside Boundary Condition is Zone or Space, then this field should contain the zone or space name for the adjacent surface.

\begin{callout}
Note: Zones with interzone heat transfer are not adiabatic and the internal surfaces contribute to gains or losses. Adiabatic surfaces are modeled by specifying the base surface itself in this field. Also, for interzone heat transfer, both surfaces must be represented -- for example, if you want interzone heat transfer to an attic space, the ceiling in the lower zone must have a surface object with the outside face environment as the floor in the attic and, likewise, there must be a floor surface object in the attic that references the ceiling surface name in the lower zone.
Expand Down Expand Up @@ -2459,6 +2465,8 @@ \subsubsection{Inputs}\label{inputs-23-006}
\textbf{Adiabatic} -- an internal surface in the same Zone. This surface will not transfer heat out of the zone, but will still store heat in thermal mass. Only the inside face of the surface will exchange heat with the zone (i.e.~two adiabatic surfaces are required to model internal partitions where both sides of the surface are exchanging heat with the zone). The Outside Boundary Condition Object can be left blank.
\item
\textbf{Zone} -- this is similar to Surface but EnergyPlus will automatically create the required surface in the adjacent zone when this is entered for the surface. If there are windows or doors on the surface, EnergyPlus automatically creates appropriate sub-surfaces as well.
\item
\textbf{Space} -- this is similar to Surface but EnergyPlus will automatically create the required surface in the adjacent space when this is entered for the surface. If there are windows or doors on the surface, EnergyPlus automatically creates appropriate sub-surfaces as well.
\item
\textbf{Outdoors} -- if this surface is exposed to outside temperature conditions, then this is the choice. See Sun Exposure and Wind Exposure below for further specifications on this kind of surface.
\item
Expand Down Expand Up @@ -2489,11 +2497,11 @@ \subsubsection{Inputs}\label{inputs-23-006}

\paragraph{Field: Outside Boundary Condition Object}\label{field-outside-boundary-condition-object-9}

If neither Surface, Zone, Foundation, OtherSideCoefficients, or OtherSideConditionsModel are specified for the Outside Boundary Condition (previous field), then this field should be left blank.
If neither Surface, Zone, Space, Foundation, OtherSideCoefficients, or OtherSideConditionsModel are specified for the Outside Boundary Condition (previous field), then this field should be left blank.

As stated above, if the Outside Boundary Condition is ``Surface'', then this field's value must be the surface name whose inside face temperature will be forced on the outside face of the base surface. This permits heat exchange between adjacent zones (interzone heat transfer) when multiple zones are simulated, but can also be used to simulate middle zone behavior without modeling the adjacent zones. This is done by specifying a surface within the zone. For example, a middle floor zone can be modeled by making the floor the Outside Boundary Condition Object for the ceiling, and the ceiling the Outside Boundary Condition Object for the floor.

If the Outside Boundary Condition is Zone, then this field should contain the zone name of the adjacent zone for the surface.
If the Outside Boundary Condition is Zone or Space, then this field should contain the zone or space name for the adjacent surface.

\begin{callout}
Note: Zones with interzone heat transfer are not adiabatic and the internal surfaces contribute to gains or losses. Adiabatic surfaces are modeled by specifying the base surface itself in this field. Also, for interzone heat transfer, both surfaces must be represented -- for example, if you want interzone heat transfer to an attic space, the ceiling in the lower zone must have a surface object with the outside face environment as the floor in the attic and, likewise, there must be a floor surface object in the attic that references the ceiling surface name in the lower zone.
Expand Down Expand Up @@ -2619,7 +2627,7 @@ \subsubsection{Inputs}\label{inputs-24-004}

If the base surface has Outside Boundary Condition = Surface or OtherSideCoefficients, then this field must also be specified for the subsurface. Otherwise, it can be left blank.

If the base surface has Outside Boundary Condition = Zone, then this surface retains that characteristic and uses the same zone of the base surface. It can be entered here for clarity or it can be left blank.
If the base surface has Outside Boundary Condition = Zone or Space, then this surface retains that characteristic and uses the same zone or space of the base surface. It can be entered here for clarity or it can be left blank.

If Outside Boundary Condition for the base surface is Surface, this field should specify the subsurface in the opposing zone that is the counterpart to this subsurface. The constructions of the subsurface and opposing subsurface must match, except that, for multi-layer constructions, the layer order of the opposing subsurface's construction must be the reverse of that of the subsurface.

Expand Down
13 changes: 9 additions & 4 deletions idd/Energy+.idd.in
Original file line number Diff line number Diff line change
Expand Up @@ -9457,6 +9457,7 @@ Space,
\reference SpaceNames
\reference SpaceAndSpaceListNames
\reference ZoneAndZoneListAndSpaceAndSpaceListNames
\reference OutFaceEnvNames
A2, \field Zone Name
\required-field
\type object-list
Expand Down Expand Up @@ -10197,6 +10198,7 @@ BuildingSurface:Detailed,
\key Adiabatic
\key Surface
\key Zone
\key Space
\key Outdoors
\key Foundation
\key Ground
Expand All @@ -10214,7 +10216,7 @@ BuildingSurface:Detailed,
\type object-list
\object-list OutFaceEnvNames
\note Non-blank only if the field Outside Boundary Condition is Surface,
\note Zone, OtherSideCoefficients or OtherSideConditionsModel
\note Zone, Space, OtherSideCoefficients or OtherSideConditionsModel
\note If Surface, specify name of corresponding surface in adjacent zone or
\note specify current surface name for internal partition separating like zones
\note If Zone, specify the name of the corresponding zone and
Expand Down Expand Up @@ -11381,6 +11383,7 @@ Wall:Detailed,
\key Adiabatic
\key Surface
\key Zone
\key Space
\key Outdoors
\key Foundation
\key Ground
Expand All @@ -11398,7 +11401,7 @@ Wall:Detailed,
\type object-list
\object-list OutFaceEnvNames
\note Non-blank only if the field Outside Boundary Condition is Surface,
\note Zone, OtherSideCoefficients or OtherSideConditionsModel
\note Zone, Space, OtherSideCoefficients or OtherSideConditionsModel
\note If Surface, specify name of corresponding surface in adjacent zone or
\note specify current surface name for internal partition separating like zones
\note If Zone, specify the name of the corresponding zone and
Expand Down Expand Up @@ -11572,6 +11575,7 @@ RoofCeiling:Detailed,
\key Adiabatic
\key Surface
\key Zone
\key Space
\key Outdoors
\key Ground
\key OtherSideCoefficients
Expand All @@ -11587,7 +11591,7 @@ RoofCeiling:Detailed,
\type object-list
\object-list OutFaceEnvNames
\note Non-blank only if the field Outside Boundary Condition is Surface,
\note Zone, OtherSideCoefficients or OtherSideConditionsModel
\note Zone, Space, OtherSideCoefficients or OtherSideConditionsModel
\note If Surface, specify name of corresponding surface in adjacent zone or
\note specify current surface name for internal partition separating like zones
\note If Zone, specify the name of the corresponding zone and
Expand Down Expand Up @@ -11761,6 +11765,7 @@ Floor:Detailed,
\key Adiabatic
\key Surface
\key Zone
\key Space
\key Outdoors
\key Foundation
\key Ground
Expand All @@ -11778,7 +11783,7 @@ Floor:Detailed,
\type object-list
\object-list OutFaceEnvNames
\note Non-blank only if the field Outside Boundary Condition is Surface,
\note Zone, OtherSideCoefficients or OtherSideConditionsModel
\note Zone, Space, OtherSideCoefficients or OtherSideConditionsModel
\note If Surface, specify name of corresponding surface in adjacent zone or
\note specify current surface name for internal partition separating like zones
\note If Zone, specify the name of the corresponding zone and
Expand Down
Loading

3 comments on commit 6fe081f

@nrel-bot-2
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

develop (Myoldmopar) - x86_64-Linux-Ubuntu-24.04-gcc-13.3: OK (2957 of 2957 tests passed, 0 test warnings)

Build Badge Test Badge

@nrel-bot-2c
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

develop (Myoldmopar) - x86_64-Linux-Ubuntu-24.04-gcc-13.3-UnitTestsCoverage-RelWithDebInfo: OK (2139 of 2139 tests passed, 0 test warnings)

Build Badge Test Badge Coverage Badge

@nrel-bot-2
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

develop (Myoldmopar) - x86_64-Linux-Ubuntu-24.04-gcc-13.3-IntegrationCoverage-RelWithDebInfo: OK (802 of 802 tests passed, 0 test warnings)

Build Badge Test Badge Coverage Badge

Please sign in to comment.