Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make Water-to-Air Heat Pump cycling and latent degradation consistent with other coils #10043

Merged
merged 37 commits into from
Aug 15, 2023
Merged
Show file tree
Hide file tree
Changes from 34 commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
cfb7739
Initial IDD changes and remove parent object data members.
nealkruis May 2, 2023
e9302f5
Implement WSHP PLF curves.
nealkruis May 6, 2023
693db9a
Update expand objects.
nealkruis May 6, 2023
c445fb6
Strip trailing spaces.
nealkruis May 6, 2023
8c3e0bc
Update unit tests and test files.
nealkruis May 6, 2023
02a350c
Update additional test files.
nealkruis May 6, 2023
741a8be
Fix more test files.
nealkruis May 8, 2023
4023e52
Merge NREL/develop.
nealkruis May 9, 2023
4669fc7
Merge develop.
nealkruis May 25, 2023
91e7d53
Add latent degradation inputs to variable speed cooling coils.
nealkruis May 25, 2023
8e6c1c9
Apply clang-format.
nealkruis May 25, 2023
7814bc2
Fix test failures.
nealkruis May 26, 2023
15c0d98
Rename time constant variable for consistency.
nealkruis May 26, 2023
c72c685
Fix min-fields values.
nealkruis Jun 1, 2023
281e02e
Update IDF snippets in unit tests.
nealkruis Jun 1, 2023
cee8283
Update documentation.
nealkruis Jun 1, 2023
40bec8b
Trim trailing whitespace.
nealkruis Jun 1, 2023
6a70b9f
Merge remote-tracking branch 'nrel/develop' into 9966-wshp-cycling
nealkruis Jun 2, 2023
ad36c45
Merge develop, resolve conflicts
Myoldmopar Jul 6, 2023
6f3b4b8
Add transition rules text
Myoldmopar Jul 7, 2023
1965c70
Merge remote-tracking branch 'origin/develop' into 9966-wshp-cycling
Myoldmopar Jul 18, 2023
deb0b45
Clarify transition rules to new PLF(PLR) curve.
nealkruis Jul 25, 2023
232c7c4
Further clarification to PLF(PLR) changes.
nealkruis Jul 25, 2023
9cde42a
Revert accidental deletion.
nealkruis Jul 25, 2023
3abd05b
Merge branch '9966-wshp-cycling' of github.com:NREL/EnergyPlus into 9…
Myoldmopar Jul 26, 2023
0a1f8e4
Merge remote-tracking branch 'origin/develop' into 9966-wshp-cycling
Myoldmopar Jul 26, 2023
cdf2cf5
Update input transition rules [decent_ci_skip].
nealkruis Aug 4, 2023
8b2a0cb
Merge branch '9966-wshp-cycling' of github.com:NREL/EnergyPlus into 9…
Myoldmopar Aug 10, 2023
5023da6
Merge remote-tracking branch 'origin/develop' into 9966-wshp-cycling
Myoldmopar Aug 10, 2023
b68aa2c
Basic skeleton of transition; seems to be working; but needs integrat…
Myoldmopar Aug 10, 2023
574da51
Remove 90.1 IO ref documentation from WAHP
Myoldmopar Aug 11, 2023
3c04d64
Revert 90.1 changes from WAHP, including code, docs, tests, examples,…
Myoldmopar Aug 11, 2023
dc140f5
Fix failing unit tests
Myoldmopar Aug 14, 2023
a0aef23
One last failing unit test
Myoldmopar Aug 14, 2023
16fad36
Updated transition rules
Myoldmopar Aug 15, 2023
c60bc45
Updated rules file descriptions
Myoldmopar Aug 15, 2023
e37f728
Merge develop; resolve conflicts
Myoldmopar Aug 15, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -679,7 +679,7 @@ \subsubsection{Inputs}\label{inputs-3-018}
\end{itemize}

The default is \emph{ChilledWater}.

\paragraph{Field: Cooling Coil Availability Schedule Name}\label{field-cooling-coil-availability-schedule-name}

Usually set to blank, which allows the cooling coil to be available anytime the system is operating. If a schedule name is specified, it defines when the coil is available. This is most often used when cooling is only available seasonally. A schedule value of one indicates that the cooling coil can be on during a given time period. A value of zero denotes that the cooling coil cannot be used during that time period.
Expand Down Expand Up @@ -733,7 +733,7 @@ \subsubsection{Inputs}\label{inputs-3-018}
This input denotes how the unit's output is controlled in order to meet zone heating or cooling requirement. The choices are:
\begin{itemize}
\item
\emph{ConstantFanVariableFlow}: The fan speed is held constant to produce a fixed air flow rate whenever the unit is scheduled on. The hot water or chilled flow rate is varied so that the unit output matches the zone heating or cooling requirement.
\emph{ConstantFanVariableFlow}: The fan speed is held constant to produce a fixed air flow rate whenever the unit is scheduled on. The hot water or chilled flow rate is varied so that the unit output matches the zone heating or cooling requirement.
\item
\emph{CyclingFan}: The fan speed is chosen so that the unit capacity is greater than or equal to the heating / cooling load and the fan is cycled to match unit output with the load.
\item
Expand All @@ -743,9 +743,9 @@ \subsubsection{Inputs}\label{inputs-3-018}
\item
\emph{MultiSpeedFan}: The water flow rate is at full flow when there is load or fully closed when there is no load and the supply air flow rate is varied by varying the fan speed in order to match the load.
\item
\emph{ASHRAE90VariableFan}: The fan air flow rate is reduced according to the low speed supply air flow ratio when the zone sensible load is less than the zone sensible load multiplied by the low speed supply air flow ratio.
\emph{ASHRAE90VariableFan}: The fan air flow rate is reduced according to the low speed supply air flow ratio when the zone sensible load is less than the zone sensible load multiplied by the low speed supply air flow ratio.
\end{itemize}

The default is \emph{ConstantFanVariableFlow} except when a Dedicated Outdoor Air System is specified (see above) the default is \emph{CyclingFan}.

\paragraph{Field: Low Speed Supply Air Flow Ratio}\label{field-low-speed-supply-air-flow-ratio}
Expand Down Expand Up @@ -1489,7 +1489,7 @@ \subsubsection{Inputs}\label{inputs-6-011}
\caption{}
\end{figure}

\paragraph{Field: Heat Pump Time Constant}\label{field-heat-pump-time-constant}
\paragraph{Field: Latent Capacity Time Constant}\label{field-heat-pump-time-constant}

This numeric field contains the time constant for the cooling coil's capacity to reach steady state after startup. Suggested values are shown below (Henderson et al. 1999):

Expand All @@ -1499,16 +1499,6 @@ \subsubsection{Inputs}\label{inputs-6-011}
\caption{}
\end{figure}

\paragraph{Field: Fraction of On-Cycle Power Use}\label{field-fraction-of-on-cycle-power-use}

This numeric field contains the fraction of on-cycle power use to adjust the part load fraction based on the off-cycle power consumption due to crankcase heaters, controls, fans, and etc. Suggested value values are below (Henderson et al. 1999):

\begin{figure}[htbp]
\centering
\includegraphics{media/image607.png}
\caption{}
\end{figure}

\paragraph{Field: Heat Pump Fan Delay Time}\label{field-heat-pump-fan-delay-time}

This numeric field contains the time delay in seconds for the heat pump supply air fan to shut off after compressor cycle off. This value can be obtained from the manufacturer or the heat pump catalog. Suggested value is 60 seconds. This value is disregared at times when the WaterToAirHeatPump's fan operating mode schedule value is greater than 0 (i.e., continuous fan mode).
Expand Down Expand Up @@ -1636,8 +1626,7 @@ \subsubsection{Inputs}\label{inputs-6-011}
, !- Supplemental Heating Coil Availability Schedule Name
autosize, !- Supplemental Heating Coil Capacity {W}
2.5, !- Maximum Cycling Rate {cycles/hr}
60, !- Heat Pump Time Constant {s}
0.01, !- Fraction of On-Cycle Power Use
60, !- Latent Capacity Time Constant {s}
60, !- Heat Pump Fan Delay Time {s}
, !- Dedicated Outdoor Air System Name
Electric, !- Supplemental Heating Coil Type
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -308,40 +308,6 @@ \subsubsection{Inputs}\label{inputs-049}

This alpha field specifies the name of the outdoor node which controls the operation of the supplemental heating coil. If this field is left blank, the outdoor temperature is based solely on the weather data. If this field is not blank, the node name specified must also be listed in an \hyperref[outdoorairnode]{OutdoorAir:Node} object where the height of the node is taken into consideration when calculating outdoor temperature from the weather data. Alternately, the node name must be specified in an \hyperref[outdoorairnodelist]{OutdoorAir:NodeList} object where the outdoor temperature is taken directly from the weather data.

\paragraph{Field: Maximum Cycling Rate}\label{field-maximum-cycling-rate-001}

This numeric field contains the maximum on-off cycling rate for the compressor, which occurs at 50\% run time fraction. Suggested values are shown in Figure~\ref{fig:suggested-values-for-maximum-cycling-rate}. (Henderson et al. 1999):

\begin{figure}[htbp]
\centering
\includegraphics{media/image295.png}
\caption{Suggested values for maximum cycling rate \protect \label{fig:suggested-values-for-maximum-cycling-rate}}
\end{figure}

\paragraph{Field: Heat Pump Time Constant}\label{field-heat-pump-time-constant-000}

This numeric field contains the time constant for the cooling coil's capacity to reach steady state after startup. Suggested values are shown in Figure~\ref{fig:suggested-values-for-heat-pump-time-constant}. (Henderson et al. 1999):

\begin{figure}[htbp]
\centering
\includegraphics{media/image296.png}
\caption{Suggested values for heat pump time constant \protect \label{fig:suggested-values-for-heat-pump-time-constant}}
\end{figure}

\paragraph{Field: Fraction of On-Cycle Power Use}\label{field-fraction-of-on-cycle-power-use-000}

This numeric field contains the fraction of on-cycle power use to adjust the part load fraction based on the off-cycle power consumption due to crankcase heaters, controls, fans, and etc. Suggested value values are shown in Figure~\ref{fig:suggested-values-for-fraction-of-on-cycle-power-use}. (Henderson et al. 1999):

\begin{figure}[htbp]
\centering
\includegraphics{media/image297.png}
\caption{Suggested values for fraction of on cycle power use \protect \label{fig:suggested-values-for-fraction-of-on-cycle-power-use}}
\end{figure}

\paragraph{Field: Heat Pump Fan Delay Time}\label{field-heat-pump-fan-delay-time-000}

This numeric field contains the time delay for the heat pump supply air fan to shut off after the compressor cycles off in seconds. This value can be obtained from the manufacturer or the heat pump catalog. Enter a value of zero when the heat pump's fan operating mode is continuous. Suggested value is 60 seconds.

Copy link
Contributor

Choose a reason for hiding this comment

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

I don't recall discussing this Fan Delay Time input and how it relates to the coil versus the parent. I'm not really sure where this belongs at this point so I'll assume this is correctly accounted for in these changes. I scanned through the rest of the changes and this is the only thing that stands out.

Copy link
Member Author

Choose a reason for hiding this comment

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

@rraustad, the fan delay is a strange input that is used only for the latent degradation model in these coils. I'm not sure why it's not used in other the air-to-air DX coils. Eventually it would be good to have a base coil class that all these coils inherit from that is the one and only place where the latent degradation model is implemented.

\paragraph{Field: Ancillary On-Cycle Electric Power}\label{field-ancillary-on-cycle-electric-power}

This field defines ancillary electrical power (W) consumed during the on-cycle period (i.e., when the cooling or heating coil is operating). The model assumes that this ancillary power does not contribute to heating the supply air. The minimum value for this field is 0.0, and the default value is also 0.0 if the field is left blank.
Expand Down Expand Up @@ -436,10 +402,6 @@ \subsubsection{Inputs}\label{inputs-049}
50, !- Maximum Supply Air Temperature {C}
21, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C}
, !- Outdoor Dry-Bulb Temperature Sensor Node Name
, !- Maximum Cycling Rate {cycles/hr}
, !- Heat Pump Time Constant {s}
, !- Fraction of On-Cycle Power Use
, !- Heat Pump Fan Delay Time {s}
, !- Ancillary On-Cycle Electric Power {W}
, !- Ancillary Off-Cycle Electric Power {W}
, !- Design Heat Recovery Water Flow Rate {m3/s}
Expand Down Expand Up @@ -2523,40 +2485,6 @@ \subsubsection{Inputs}\label{inputs-7-029}

This numeric value allows the user to determine how close the air side has to be controlled. Lower the value of convergence better the control of air side conditions and less the zone temperature fluctuations. However in a poorly designed system, a lower convergence might result in warning errors which are caused due to the iteration limit for run time fraction calculation is limited to 20.

\paragraph{Field: Maximum Cycling Rate}\label{field-maximum-cycling-rate-1-000}

This numeric field contains the maximum on-off cycling rate for the compressor, which occurs at 50\% run time fraction. Suggested values are shown below (Henderson et al. 1999):

\begin{figure}[htbp]
\centering
\includegraphics{media/image305.png}
\caption{}
\end{figure}

\paragraph{Field: Heat Pump Time Constant}\label{field-heat-pump-time-constant-1}

This numeric field contains the time constant for the cooling coil's capacity to reach steady state after startup. Suggested values are shown below (Henderson et al. 1999):

\begin{figure}[htbp]
\centering
\includegraphics{media/image306.png}
\caption{}
\end{figure}

\paragraph{Field: Fraction of On-Cycle Power Use}\label{field-fraction-of-on-cycle-power-use-1}

This numeric field contains the fraction of on-cycle power use to adjust the part load fraction based on the off-cycle power consumption due to crankcase heaters, controls, fans, and etc. Suggested value values are below (Henderson et al. 1999):

\begin{figure}[htbp]
\centering
\includegraphics{media/image307.png}
\caption{}
\end{figure}

\paragraph{Field: Heat Pump Fan Delay Time}\label{field-heat-pump-fan-delay-time-1}

This numeric field contains the time delay for the heat pump supply air fan to shut off after the compressor cycles off in seconds. This value can be obtained from the manufacturer or the heat pump catalog. Enter a value of zero when the heat pump's fan operating mode is continuous. Suggested value is 60 seconds.

\paragraph{Field: Supplemental Heating Coil Object Type}\label{field-supplemental-heating-coil-object-type-3}

This is the object type of the supplemental heating coil. The hot water and steam heating coils require specifying plant loop, branches, and connectors objects to support the heating coils, and are placed on the demand side of the plantloop. The hot water flow modulation through the supplemental heating coil does not require additional controller or \hyperref[controllerwatercoil]{Controller:WaterCoil} object. The parent object (AirLoop Unitary Water to Air Heat Pump) itself provides the ``controller'' function of modulating water flow. The valid choices are:
Expand Down Expand Up @@ -2663,10 +2591,6 @@ \subsubsection{Inputs}\label{inputs-7-029}
Coil:Cooling:WaterToAirHeatPump:ParameterEstimation, !- Cooling Coil Object Type
Heat Pump Cooling Mode, !- Cooling Coil Name
0.001, !- Cooling Convergence
2.5, !- Maximum Cycling Rate {cycles/hr}
60, !- Heat Pump Time Constant {s}
0.01, !- Fraction of On-Cycle Power Use
60, !- Heat Pump Fan Delay Time {s}
Coil:Heating:Fuel, !- Supplemental Heating Coil Object Type
Heat Pump DX Supp Heating Coil 1, !- Supplemental Heating Coil Name
50, !- Maximum Supply Air Temperature from Supplemental Heater {C}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3074,40 +3074,6 @@ \subsubsection{Inputs}\label{inputs-11-023}

This alpha field contains the identifying name given to the WaterToAirHeatPump cooling coil, and should match the name specified in the corresponding WaterToAirHeatPump cooling coil object.

\paragraph{Field: Maximum Cycling Rate}\label{field-maximum-cycling-rate-002}

This numeric field contains the maximum on-off cycling rate for the compressor, which occurs at 50\% run time fraction. Suggested values are shown below (Henderson et al. 1999):

\begin{figure}[htbp]
\centering
\includegraphics{media/image289.png}
\caption{}
\end{figure}

\paragraph{Field: Heat Pump Time Constant}\label{field-heat-pump-time-constant-001}

This numeric field contains the time constant for the cooling coil's capacity to reach steady state after startup. Suggested values are shown below (Henderson et al. 1999):

\begin{figure}[htbp]
\centering
\includegraphics{media/image290.png}
\caption{}
\end{figure}

\paragraph{Field: Fraction of On-Cycle Power Use}\label{field-fraction-of-on-cycle-power-use-001}

This numeric field contains the fraction of on-cycle power use to adjust the part load fraction based on the off-cycle power consumption due to crankcase heaters, controls, fans, and etc. Suggested value values are below (Henderson et al. 1999):

\begin{figure}[htbp]
\centering
\includegraphics{media/image291.png}
\caption{}
\end{figure}

\paragraph{Field: Heat Pump Fan Delay Time}\label{field-heat-pump-fan-delay-time-001}

This numeric field contains the time delay in seconds for the heat pump supply air fan to shut off after compressor cycle off. This value can be obtained from the manufacturer or the heat pump catalog. Suggested value is 60 seconds. This value is disregared at times when the WaterToAirHeatPump's fan operating mode schedule value is greater than 0 (i.e., continuous fan mode).

\paragraph{Field: Supplemental Heating Coil Object Type}\label{field-supplemental-heating-coil-object-type-1-000}

This is the object type of the supplemental heating coil. The hot water and steam heating coils require specifying plant loop, branches, and connector objects to support the heating coils, and are placed on the demand side of the plantloop. The hot water flow modulation through the supplemental heating coil does not require additional controller or \hyperref[controllerwatercoil]{Controller:WaterCoil} object. The parent object (Zone Water to Air Heat Pump) itself provides the ``controller'' function of modulating water flow. The valid choices are:
Expand Down Expand Up @@ -3214,10 +3180,6 @@ \subsubsection{Inputs}\label{inputs-11-023}
Sys 1 Heat Pump Heating Mode, !- Heating Coil Name
Coil:Cooling:WaterToAirHeatPump:EquationFit, !- Cooling Coil Object Type
Sys 1 Heat Pump Cooling Mode, !- Cooling Coil Name
2.5, !- Maximum Cycling Rate
60.0, !- Heat Pump Time Constant
0.01, !- Fraction of On-Cycle Power Use
60, !- Heat Pump Fan Delay Time
Copy link
Member

Choose a reason for hiding this comment

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

Docs shuffling fields around and updating sample inputs, 👍

Coil:Heating:Fuel, !- Supplemental Heating Coil Object Type
Heat Pump DX Supp Heating Coil 1, !- Supplemental Heating Coil Name
60.0, !- Maximum Supply Air Temperature from Supplemental Heater {C}
Expand Down
Loading