Skip to content

Commit

Permalink
Merge pull request #6179 from NREL/146627003_Issue#6151
Browse files Browse the repository at this point in the history
Add option to AvailabilityManager:NightCycle to run just until the zone temperature recovers #6151
  • Loading branch information
Myoldmopar authored Jul 31, 2017
2 parents 13dbf43 + 1d4ded0 commit 9772581
Show file tree
Hide file tree
Showing 94 changed files with 827 additions and 39 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ \subsection{Night Cycle}\label{night-cycle}

\item Thermostat on/off tolerance \emph{T\(_{tol}\)} (degrees C);

\item Cycling run time control type: \emph{FixedRunTime}, \emph{Thermostat}, or \emph{ThermostatWithMinimumRunTime};

\item Cycling run time in seconds; used to calculate a stop time (in time steps since the start of the current run period) once the status has become \emph{Cycle On}.

\item A control zone or zone list name.
Expand All @@ -56,11 +58,11 @@ \subsection{Night Cycle}\label{night-cycle}
Otherwise:

\begin{enumerate}
\item If current time (in time steps since the start of the run period) is greater than the start time and less than the stop time, \emph{AvailStatus = CycleOn} (or \emph{CycleOnZoneFansOnly} if the control type is \emph{Cycle On Any -- Zone Fans only}).
\item If current time (in time steps since the start of the run period) is greater than the start time and less than the stop time, \emph{AvailStatus = CycleOn} (or \emph{CycleOnZoneFansOnly} if the control type is \emph{Cycle On Any -- Zone Fans only}) for CyclingRunTimeControlType = \emph{CyclingRunTimeControlType = FixedRunTime}, or \emph{CyclingRunTimeControlType = ThermostatWithMinimumRunTime} but for \emph{CyclingRunTimeControlType = Thermostat} the availability status is determined based on the zone air and the thermostat setpoint temperature difference and the tolerance limits.

\item If the current time equals the stop time, \emph{AvailStatus = NoAction} ~and the fan schedule will determine if the system is on.
\item If the current time equals the stop time and the CyclingRunTimeControlType = \emph{CyclingRunTimeControlType = FixedRunTime}, or \emph{CyclingRunTimeControlType = ThermostatWithMinimumRunTime}, \emph{AvailStatus = NoAction} ~and the fan schedule will determine if the system is on. For \emph{CyclingRunTimeControlType = Thermostat} the availability status is determined based on the zone air and the thermostat setpoint temperature difference and the tolerance limits, and the fan schedule will determine if the system is on.

\item If the current time is greater than the stop time, the manager can potentially cycle the system on.
\item If the current time is greater than the stop time, the manager can potentially cycle the system on for \emph{CyclingRunTimeControlType = FixedRunTime}, \emph{CyclingRunTimeControlType = Thermostat}, or \emph{CyclingRunTimeControlType = ThermostatWithMinimumRunTime}.

\begin{enumerate}
\item For control types \emph{CycleOnAny} and \emph{CycleOnAnyZoneFansOnly} the manger looks at each zone served by the air loop and detects whether the zone temperature at the thermostat is greater than the cooling setpoint plus ½\emph{T\(_{tol}\)} or less than the heating setpoint minus ½\emph{T\(_{tol}\)}. If it is, \emph{AvailStatus} is set to \emph{CycleOn} (or \emph{CycleOnZoneFansOnly}). If not, \emph{AvailStatus} is set to \emph{NoAction}.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,17 @@ \subsubsection{Inputs}\label{inputs-3-037}

The Thermostat Tolerance defines the amount by which the zone temperature must fall outside the current zone heating and cooling setpoints for the Night Cycle manager to turn the system on. The zone temperature must exceed the cooling set point or fall below the heating set point by 1/2 the Thermostat Tolerance in order for the availability manager to signal that the system should turn on. The Thermostat Tolerance is specified in degrees Celsius. The default is 1 degree C.

\paragraph{Field: Cycling Run Time Control Type}\label{field-cycling-run-time-control-type}

The possible inputs are: \emph{FixedRunTime}, \emph{Thermostat}, and \emph{ThermostatWithMinimumRunTime}. The default cycling run time control type is \emph{FixedRunTime}.

\begin{itemize}
\tightlist
\item \emph{FixedRunTime} cycling run time control type the AvailabilityManager:NightCycle activates an airloop or zone equipment for a fixed amount of run time when the zone air temperature is one half of the Thermostat Tolerance above the thermostat cooling setpoint or when the zone air temperature is one half of the Thermostat Tolerance below the thermostat heating setpoint.
\item \emph{Thermostat} cycling run time control type the AvailabilityManager:NightCycle activates an airloop or zone equipment until the zone air temperature is within 0.05 deg C above the thermostat cooling setpoint in cooling mode or until the zone air temperature is within 0.05 deg C below the thermostat heating setpoint in heating mode. Cycling Run Time input field below is not used for this cycling run time control type.
\item \emph{ThermostatWithMinimumRunTime} cycling run time control type the AvailabilityManager:NightCycle activates an airloop or zone equipment for the specified minimum Cycling Run Time when the zone air temperature is with in 0.05 deg C above the thermostat cooling setpoint or when the zone air temperature is within 0.05 deg C below the thermostat heating setpoint and then continues running beyond the minimum Cycling Run Time until the zone air temperature reaches the thermostat setpoint within 0.05 deg C thermostat tolerance.
\end{itemize}

\paragraph{Field: Cycling Run Time}\label{field-cycling-run-time}

The time in seconds for which the system will run after it has cycled on. The default is 3600 seconds (1 hour).
Expand Down
14 changes: 10 additions & 4 deletions idd/Energy+.idd.in
Original file line number Diff line number Diff line change
Expand Up @@ -74486,22 +74486,28 @@ AvailabilityManager:NightCycle,
N1 , \field Thermostat Tolerance
\default 1.0
\units deltaC
A5 , \field Cycling Run Time Control Type
\type choice
\key FixedRunTime
\key Thermostat
\key ThermostatWithMinimumRunTime
\default FixedRunTime
N2 , \field Cycling Run Time
\default 3600.
\units s
A5 , \field Control Zone or Zone List Name
A6 , \field Control Zone or Zone List Name
\type object-list
\object-list ZoneAndZoneListNames
\note When AvailabilityManager:NightCycle is used in the zone component availability
\note manager assignment list, the Control Zone Name should be the name of the zone in which the
\note zone component is.
A6 , \field Cooling Control Zone or Zone List Name
A7 , \field Cooling Control Zone or Zone List Name
\type object-list
\object-list ZoneAndZoneListNames
A7 , \field Heating Control Zone or Zone List Name
A8 , \field Heating Control Zone or Zone List Name
\type object-list
\object-list ZoneAndZoneListNames
A8 ; \field Heating Zone Fans Only Zone or Zone List Name
A9 ; \field Heating Zone Fans Only Zone or Zone List Name
\type object-list
\object-list ZoneAndZoneListNames

Expand Down
15 changes: 15 additions & 0 deletions performance_tests/15zonePSZ.idf
Original file line number Diff line number Diff line change
Expand Up @@ -7267,6 +7267,7 @@
HVACOperationSchd, !- Fan Schedule Name
CycleOnAny, !- Control Type
1.0, !- Thermostat Tolerance {deltaC}
FixedRunTime, !- Cycling Run Time Control Type
1800; !- Cycling Run Time {s}

BranchList,
Expand Down Expand Up @@ -7551,6 +7552,7 @@
HVACOperationSchd, !- Fan Schedule Name
CycleOnAny, !- Control Type
1.0, !- Thermostat Tolerance {deltaC}
FixedRunTime, !- Cycling Run Time Control Type
1800; !- Cycling Run Time {s}

BranchList,
Expand Down Expand Up @@ -7835,6 +7837,7 @@
HVACOperationSchd, !- Fan Schedule Name
CycleOnAny, !- Control Type
1.0, !- Thermostat Tolerance {deltaC}
FixedRunTime, !- Cycling Run Time Control Type
1800; !- Cycling Run Time {s}

BranchList,
Expand Down Expand Up @@ -8119,6 +8122,7 @@
HVACOperationSchd, !- Fan Schedule Name
CycleOnAny, !- Control Type
1.0, !- Thermostat Tolerance {deltaC}
FixedRunTime, !- Cycling Run Time Control Type
1800; !- Cycling Run Time {s}

BranchList,
Expand Down Expand Up @@ -8403,6 +8407,7 @@
HVACOperationSchd, !- Fan Schedule Name
CycleOnAny, !- Control Type
1.0, !- Thermostat Tolerance {deltaC}
FixedRunTime, !- Cycling Run Time Control Type
1800; !- Cycling Run Time {s}

BranchList,
Expand Down Expand Up @@ -8687,6 +8692,7 @@
HVACOperationSchd, !- Fan Schedule Name
CycleOnAny, !- Control Type
1.0, !- Thermostat Tolerance {deltaC}
FixedRunTime, !- Cycling Run Time Control Type
1800; !- Cycling Run Time {s}

BranchList,
Expand Down Expand Up @@ -8971,6 +8977,7 @@
HVACOperationSchd, !- Fan Schedule Name
CycleOnAny, !- Control Type
1.0, !- Thermostat Tolerance {deltaC}
FixedRunTime, !- Cycling Run Time Control Type
1800; !- Cycling Run Time {s}

BranchList,
Expand Down Expand Up @@ -9255,6 +9262,7 @@
HVACOperationSchd, !- Fan Schedule Name
CycleOnAny, !- Control Type
1.0, !- Thermostat Tolerance {deltaC}
FixedRunTime, !- Cycling Run Time Control Type
1800; !- Cycling Run Time {s}

BranchList,
Expand Down Expand Up @@ -9539,6 +9547,7 @@
HVACOperationSchd, !- Fan Schedule Name
CycleOnAny, !- Control Type
1.0, !- Thermostat Tolerance {deltaC}
FixedRunTime, !- Cycling Run Time Control Type
1800; !- Cycling Run Time {s}

BranchList,
Expand Down Expand Up @@ -9823,6 +9832,7 @@
HVACOperationSchd, !- Fan Schedule Name
CycleOnAny, !- Control Type
1.0, !- Thermostat Tolerance {deltaC}
FixedRunTime, !- Cycling Run Time Control Type
1800; !- Cycling Run Time {s}

BranchList,
Expand Down Expand Up @@ -10107,6 +10117,7 @@
HVACOperationSchd, !- Fan Schedule Name
CycleOnAny, !- Control Type
1.0, !- Thermostat Tolerance {deltaC}
FixedRunTime, !- Cycling Run Time Control Type
1800; !- Cycling Run Time {s}

BranchList,
Expand Down Expand Up @@ -10391,6 +10402,7 @@
HVACOperationSchd, !- Fan Schedule Name
CycleOnAny, !- Control Type
1.0, !- Thermostat Tolerance {deltaC}
FixedRunTime, !- Cycling Run Time Control Type
1800; !- Cycling Run Time {s}

BranchList,
Expand Down Expand Up @@ -10675,6 +10687,7 @@
HVACOperationSchd, !- Fan Schedule Name
CycleOnAny, !- Control Type
1.0, !- Thermostat Tolerance {deltaC}
FixedRunTime, !- Cycling Run Time Control Type
1800; !- Cycling Run Time {s}

BranchList,
Expand Down Expand Up @@ -10959,6 +10972,7 @@
HVACOperationSchd, !- Fan Schedule Name
CycleOnAny, !- Control Type
1.0, !- Thermostat Tolerance {deltaC}
FixedRunTime, !- Cycling Run Time Control Type
1800; !- Cycling Run Time {s}

BranchList,
Expand Down Expand Up @@ -11243,6 +11257,7 @@
HVACOperationSchd, !- Fan Schedule Name
CycleOnAny, !- Control Type
1.0, !- Thermostat Tolerance {deltaC}
FixedRunTime, !- Cycling Run Time Control Type
1800; !- Cycling Run Time {s}

BranchList,
Expand Down
1 change: 1 addition & 0 deletions performance_tests/15zonePVAV.idf
Original file line number Diff line number Diff line change
Expand Up @@ -7706,6 +7706,7 @@
HVACOperationSchd, !- Fan Schedule Name
CycleOnAny, !- Control Type
1.0, !- Thermostat Tolerance {deltaC}
FixedRunTime, !- Cycling Run Time Control Type
1800; !- Cycling Run Time {s}

BranchList,
Expand Down
1 change: 1 addition & 0 deletions performance_tests/15zonevav.idf
Original file line number Diff line number Diff line change
Expand Up @@ -7719,6 +7719,7 @@
HVACOperationSchd, !- Fan Schedule Name
CycleOnAny, !- Control Type
1.0, !- Thermostat Tolerance {deltaC}
FixedRunTime, !- Cycling Run Time Control Type
1800; !- Cycling Run Time {s}

BranchList,
Expand Down
1 change: 1 addition & 0 deletions performance_tests/15zonevav_no_reports.idf
Original file line number Diff line number Diff line change
Expand Up @@ -7719,6 +7719,7 @@
HVACOperationSchd, !- Fan Schedule Name
CycleOnAny, !- Control Type
1.0, !- Thermostat Tolerance {deltaC}
FixedRunTime, !- Cycling Run Time Control Type
1800; !- Cycling Run Time {s}

BranchList,
Expand Down
Loading

8 comments on commit 9772581

@nrel-bot-3
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-MacOS-10.9-clang: OK (1971 of 1971 tests passed, 0 test warnings)

Build Badge Test 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-14.04-cppcheck-1.61: OK (0 of 0 tests passed, 0 test warnings)

Build 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-14.04-gcc-4.8: OK (1991 of 1991 tests passed, 0 test warnings)

Build Badge Test Badge

@nrel-bot
Copy link

Choose a reason for hiding this comment

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

develop (Myoldmopar) - i386-Windows-7-VisualStudio-14: OK (1974 of 1974 tests passed, 0 test warnings)

Build Badge Test 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-14.04-gcc-4.8-UnitTestsCoverage-Debug: OK (1369 of 1369 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-14.04-custom_check: OK (0 of 0 tests passed, 0 test warnings)

Build Badge

@nrel-bot
Copy link

Choose a reason for hiding this comment

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

develop (Myoldmopar) - Win64-Windows-7-VisualStudio-14: OK (1974 of 1974 tests passed, 0 test warnings)

Build Badge Test 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-14.04-gcc-4.8-IntegrationCoverage-Debug: OK (1974 of 1974 tests passed, 0 test warnings)

Build Badge Test Badge Coverage Badge

Please # to comment.