Skip to content
Merged
22 changes: 13 additions & 9 deletions doc/input-output-reference/src/overview/group-fans.tex
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ \subsubsection{Inputs}\label{inputs-fansysmodel}

\paragraph{Field: Night Ventilation Mode Flow Fraction}\label{field-nite-vent-flow-fraction-fansysmodel}

This numeric field is the air flow fraction for the fan speed used when operating in night mode using AvailabilityManager:NighVentilation. This field corresponds to the input field called Maximum Flow Rate in the \hyperref[fanperformancenightventilation]{FanPerformance:NightVentilation} object and, as is the case there, this field is not currently used by the night ventilation manager (which has its own flow fraction field at present). This is a fraction between 0 and 1 and describes the speed level for the fan relative to the Design Maximum Air Flow Rate. This field and the previous one replace the \hyperref[fanperformancenightventilation]{FanPerformance:NightVentilation} object which is not needed with this fan.
This numeric field is the air flow fraction for the fan speed used when operating in night mode using \hyperref[availabilitymanagernightventilation]{AvailabilityManager:NightVentilation}. This field corresponds to the input field called Maximum Flow Rate in the \hyperref[fanperformancenightventilation]{FanPerformance:NightVentilation} object and, as is the case there, this field is not currently used by the night ventilation manager (which has its own flow fraction field at present). This is a fraction between 0 and 1 and describes the speed level for the fan relative to the Design Maximum Air Flow Rate. This field and the previous one replace the \hyperref[fanperformancenightventilation]{FanPerformance:NightVentilation} object which is not needed with this fan.

\paragraph{Field: Motor Loss Zone Name}\label{field-loss-zone-name-fansysmodel}

Expand Down Expand Up @@ -785,28 +785,30 @@ \subsubsection{Outputs}\label{outputs-3-007}

\subsection{FanPerformance:NightVentilation}\label{fanperformancenightventilation}

This object is used for specifying an alternate set of performance parameters for a fan.
These alternate parameters are used when a system manager (such as \emph{\hyperref[availabilitymanagernightventilation]{AvailabilityManager:NightVentilation}}) sets a specified flow rate for a central forced air system.
At this time, it can be used with \hyperref[fanconstantvolume]{Fan:ConstantVolume}, \hyperref[fanvariablevolume]{Fan:VariableVolume}, \hyperref[fanzoneexhaust]{Fan:ZoneExhaust}, \hyperref[fanonoff]{Fan:OnOff} and \hyperref[fansystemmodel]{Fan:SystemModel} fans, but not with \hyperref[fancomponentmodel]{Fan:ComponentModel} fans.
This object is used for specifying an alternate set of performance parameters for a fan (i.e., the performance of the fan during night venting may be very different than during normal operation).
These alternate parameters are used when a system manager (such as \hyperref[availabilitymanagernightventilation]{AvailabilityManager:NightVentilation}) sets a specified flow rate for a central forced air system.
At this time, it can be used with \hyperref[fanconstantvolume]{Fan:ConstantVolume}, \hyperref[fanvariablevolume]{Fan:VariableVolume}, \hyperref[fanzoneexhaust]{Fan:ZoneExhaust}, and \hyperref[fanonoff]{Fan:OnOff} fans, but not with \hyperref[fansystemmodel]{Fan:SystemModel} or \hyperref[fancomponentmodel]{Fan:ComponentModel} fans.
\hyperref[fansystemmodel]{Fan:SystemModel} fans have replaced \hyperref[fanperformancenightventilation]{FanPerformance:NightVentilation} (i.e., provides built-in night ventilation settings so \hyperref[fanperformancenightventilation]{FanPerformance:NightVentilation} is not applicable/needed for that fan type).

The fan model checks whether a fixed flow rate has been set; if it has the fan model will use these alternate performance parameters. Note that it is assumed that the fan will run at a fixed speed in the alternate mode. The inputs needed by this object are the fan name, fan total efficiency, pressure rise, flow rate, motor efficiency, and motor in airstream fraction.
Comment thread
joseph-robertson marked this conversation as resolved.

\subsubsection{Inputs}\label{inputs-4-013}

\paragraph{Field: Fan Name}\label{field-fan-name-001}

This is the name of a fan defined elsewhere in the input file. The night vent performance parameters will be applied to the named fan when a system manager has set the air system flow rate.
This is the name of a fan defined elsewhere in the input file. The night vent performance parameters will be applied to the named fan when a system manager (such as \hyperref[availabilitymanagernightventilation]{AvailabilityManager:NightVentilation}) has set the air system flow rate.

\paragraph{Field: Fan Total Efficiency}\label{field-fan-total-efficiency-4}

This value is the overall efficiency of the fan, i.e., the ratio of the power delivered to the fluid to the electrical input power. It is the product of the motor efficiency and the impeller efficiency. The motor efficiency is the power delivered to the shaft divided by the electrical power input to the motor. The impeller efficiency is power delivered to the fluid (air) divided by the shaft power. The power delivered to the fluid is the mass flow rate of the air multiplied by the pressure rise divided by the air density. This input value must be between 0 and 1. This is a required field with no default.

\paragraph{Field: Pressure Rise}\label{field-pressure-rise-4}

The pressure rise in Pascals at full flow and standard (sea level) conditions (20 °C and 101325 Pa).
The pressure rise in Pascals at full flow and standard (sea level) conditions (20 °C and 101325 Pa). This is a required field with no default.

\paragraph{Field: Maximum Flow Rate}\label{field-maximum-flow-rate-4}

The design volumetric flow rate of the fan (m\(^{3}\)/sec) at standard conditions. This input is not currently used by the night ventilation manager. The flow rate during night ventilation is specified using the System\hyperref[availabilitymanagernightventilation]{AvailabilityManager:NightVentilation} ``Night Venting Flow Fraction'' field. This fraction is multiplied times the fan object's design flow rate.
The design volumetric flow rate of the fan (m\(^{3}\)/sec) at standard conditions. This input is not currently used by the night ventilation manager. The flow rate during night ventilation is specified using the \hyperref[availabilitymanagernightventilation]{AvailabilityManager:NightVentilation} ``Night Venting Flow Fraction'' field. This fraction is multiplied by the fan object's design flow rate.

\paragraph{Field: Motor Efficiency}\label{field-motor-efficiency-3}

Expand All @@ -822,10 +824,12 @@ \subsubsection{Inputs}\label{inputs-4-013}
Fan:VariableVolume,
Supply Fan 1, !- Name
FanAvailSched, !- Availability Schedule Name
0.7, !- Fan Efficiency
0.7, !- Fan Total Efficiency
600.0, !- Pressure Rise {Pa}
autosize, !- Maximum Flow Rate {m3/s}
autosize, !- Minimum Flow Rate {m3/s}
Fraction, !- Fan Power Minimum Flow Rate Input Method
0.25, !- Fan Power Minimum Flow Fraction
, !- Fan Power Minimum Air Flow Rate {m3/s}
0.9, !- Motor Efficiency
1.0, !- Motor In Airstream Fraction
0.35071223, !- Fan Coefficient 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -448,7 +448,7 @@ \subsection{AvailabilityManager:NightVentilation}\label{availabilitymanagernight

This manager allows the user to implement a strategy for precooling a building at night using outdoor air. This strategy can consist of running the system fans with the outdoor air dampers open when outdoor conditions are favorable for a precooling strategy. The zone terminal unit air dampers may also be held at their fully open position to minimize fan energy consumption while precooling. Fan energy consumption is the critical parameter in deciding whether a precooling strategy will save energy.

The inputs for the night ventilation manager consist of an applicability schedule name (determining when the manager is active), a fan schedule name (for the fan(s) that the manager can switch on), a ventilation temperature schedule name (one zone must be above this temperature for night venting to be active), a ventilation temperature difference (indoor outdoor temperature difference for night venting), a low limit temperature (no conditioned zone may fall below this temperature during night venting), a night venting flow fraction (fraction of the design flow rate at which the fans run during night venting), and the zone name of a control zone.
The inputs for the night ventilation manager consist of an applicability schedule name (determining when the manager is active), a fan schedule name (for the fan(s) that the manager can switch on), a ventilation temperature schedule name (one zone must be above this temperature for night venting to be active), a ventilation temperature difference (indoor / outdoor temperature difference for night venting), a low limit temperature (no conditioned zone may fall below this temperature during night venting), a night venting flow fraction (fraction of the design flow rate at which the fans run during night venting), and the zone name of a control zone.

The night ventilation manager is used in conjunction with another object: \hyperref[fanperformancenightventilation]{FanPerformance:NightVentilation}. The performance of the fan during night venting may be very different than during normal operation (a different fan might even be used). The \hyperref[fanperformancenightventilation]{FanPerformance:NightVentilation} object allows the user to specify alternate fan performance parameters for use during night ventilation.

Expand Down
9 changes: 5 additions & 4 deletions idd/Energy+.idd.in
Original file line number Diff line number Diff line change
Expand Up @@ -51482,15 +51482,16 @@ Fan:ZoneExhaust,
FanPerformance:NightVentilation,
\memo Specifies an alternate set of performance parameters for a fan. These alternate
\memo parameters are used when a system manager (such as AvailabilityManager:NightVentilation)
\memo sets a specified flow rate. May be used with Fan:ConstantVolume, Fan:VariableVolume and
\memo Fan:ComponentModel. If the fan model senses that a fixed flow rate has been set, it
\memo sets a specified flow rate. May be used with Fan:ConstantVolume, Fan:VariableVolume,
\memo Fan:ZoneExhaust, and Fan:OnOff (not Fan:ComponentModel). Fan:SystemModel has its own
\memo night ventilation settings. If the fan model senses that a fixed flow rate has been set, it
\memo will use these alternate performance parameters. It is assumed that the fan will
\memo run at a fixed speed in the alternate mode.
A1 , \field Fan Name
\required-field
\type object-list
\object-list FansCVandVAV
\object-list FansComponentModel
Comment on lines -51492 to -51493

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

The docs say "At this time, it can be used with Fan:ConstantVolume, Fan:VariableVolume, Fan:ZoneExhaust, Fan:OnOff and Fan:SystemModel fans, but not with Fan:ComponentModel fans."

\object-list FansCVandOnOffandVAV
Comment thread
joseph-robertson marked this conversation as resolved.
\object-list FansZoneExhaust
N1 , \field Fan Total Efficiency
\type real
\required-field
Expand Down
2 changes: 0 additions & 2 deletions src/EnergyPlus/SystemAvailabilityManager.cc
Original file line number Diff line number Diff line change
Expand Up @@ -3486,8 +3486,6 @@ namespace Avail {
// on and the loop flow rate fractionis set to the specified night ventilation
// value.

using namespace DataAirLoop;

bool TempCheck; // TRUE if one zone's temperature is above the value of the vent temp sched
bool DelTCheck; // TRUE if the control zone temperature - outside temperature > VentDelT
bool LowLimCheck; // TRUE if one zones's air temperature is below this value
Expand Down
2 changes: 1 addition & 1 deletion testfiles/5ZoneNightVent2.idf
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
! 5ZoneNightVent2.idf
! Basic file description: 1 story building divided into 4 exterior and one interior conditioned zones and return plenum.
!
! Highlights: Illustrates night ventilation using the Ventilation object
! Highlights: Illustrates night ventilation using the ZoneVentilation:DesignFlowRate object
!
! Simulation Location/Run: FRESNO_CA_USA TMY2-93193, 2 design days, 1 run period,
! Run Control executes the run period using the weather file
Expand Down
16 changes: 9 additions & 7 deletions testfiles/5ZoneNightVent3.idf
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
! Basic file description: 1 story building divided into 4 exterior and one interior conditioned zones and return plenum.
!
! Highlights: Illustrates night ventilation using night ventilation system availability manager and
! night ventilation fan performance.
! Fan:SystemModel built-in night ventilation settings.
!
! Simulation Location/Run: FRESNO_CA_USA TMY2-93193, 2 design days, 1 run period,
! Run Control executes the run period using the weather file
Expand Down Expand Up @@ -86,7 +86,7 @@
! object. We ventilate the building in the early morning hours.
! The runperiod is a summer week in Fresno. We assume a ventilation rate of 1/3 the
! supply air design value and adjust the night ventilation fan performance
! (FanPerformance:NightVentilation) object inputs accordingly.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

This did not get updated starting with v8.7.0 when Fan:SystemModel was introduced and this test file was updated Fan:VariableVolume/FanPerformance:NightVentilation -> Fan:SystemModel.

! (Fan:SystemModel) object inputs accordingly.
! Successful night ventilation modeling depends
! critically on getting the ventilation fan consumption right. In
! this case, we see no benefit with night ventilation compared to the
Expand Down Expand Up @@ -1652,6 +1652,8 @@
For: AllDays, !- Field 2
Until: 24:00,18.; !- Field 3

Schedule:Constant,AlwaysOn,On/Off,1.0;

People,
SPACE1-1 People 1, !- Name
SPACE1-1, !- Zone or ZoneList or Space or SpaceList Name
Expand Down Expand Up @@ -3104,7 +3106,7 @@

AirTerminal:SingleDuct:VAV:Reheat,
SPACE1-1 VAV Reheat, !- Name
FanAvailSched, !- Availability Schedule Name
AlwaysOn, !- Availability Schedule Name

@joseph-robertson joseph-robertson May 21, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

This is the fix to see nonzero airflow on the demand side of the loop during night ventilation.

See https://unmethours.com/question/103089/how-to-model-night-purge/ for more information.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This does reveal an issue with system control that was not noticed until now. This example file shows that the TU availability schedule affects night cycle operation, and system operation for that matter if the TU avail sch was more restrictive than the parent and fan avail schedules. In a parent object (e.g., UnitarySystem) the fan is controlled based on parent availability schedule and fan availability schedule. It appears that TU availability schedule also matters (and there are multiple TUs for air systems, at least 1 would need to be available). This was never noticed before maybe because TU avail schedules are typically always on or at least using the least restrictive schedule or maybe because night ventilation/cycle is used less often.

@rraustad rraustad May 23, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I'm throwing out a possible fix of TUs don't have avail schedules, they are always ON/available. Would that break anything? Would that restrict anything? Would that have less flexibility than is provided now?

SPACE1-1 Zone Coil Air In Node, !- Damper Air Outlet Node Name
SPACE1-1 ATU In Node, !- Air Inlet Node Name
autosize, !- Maximum Air Flow Rate {m3/s}
Expand All @@ -3124,7 +3126,7 @@

AirTerminal:SingleDuct:VAV:Reheat,
SPACE2-1 VAV Reheat, !- Name
FanAvailSched, !- Availability Schedule Name
AlwaysOn, !- Availability Schedule Name
SPACE2-1 Zone Coil Air In Node, !- Damper Air Outlet Node Name
SPACE2-1 ATU In Node, !- Air Inlet Node Name
autosize, !- Maximum Air Flow Rate {m3/s}
Expand All @@ -3144,7 +3146,7 @@

AirTerminal:SingleDuct:VAV:Reheat,
SPACE3-1 VAV Reheat, !- Name
FanAvailSched, !- Availability Schedule Name
AlwaysOn, !- Availability Schedule Name
SPACE3-1 Zone Coil Air In Node, !- Damper Air Outlet Node Name
SPACE3-1 ATU In Node, !- Air Inlet Node Name
autosize, !- Maximum Air Flow Rate {m3/s}
Expand All @@ -3164,7 +3166,7 @@

AirTerminal:SingleDuct:VAV:Reheat,
SPACE4-1 VAV Reheat, !- Name
FanAvailSched, !- Availability Schedule Name
AlwaysOn, !- Availability Schedule Name
SPACE4-1 Zone Coil Air In Node, !- Damper Air Outlet Node Name
SPACE4-1 ATU In Node, !- Air Inlet Node Name
autosize, !- Maximum Air Flow Rate {m3/s}
Expand All @@ -3184,7 +3186,7 @@

AirTerminal:SingleDuct:VAV:Reheat,
SPACE5-1 VAV Reheat, !- Name
FanAvailSched, !- Availability Schedule Name
AlwaysOn, !- Availability Schedule Name
SPACE5-1 Zone Coil Air In Node, !- Damper Air Outlet Node Name
SPACE5-1 ATU In Node, !- Air Inlet Node Name
autosize, !- Maximum Air Flow Rate {m3/s}
Expand Down
Loading
Loading