Skip to content

Entering an incorrect reheat coil inlet node name in AirTerminal:SingleDuct:SeriesPIU:Reheat gives node connection errors #9968

@rraustad

Description

@rraustad

Issue overview

While workiing on a PIU input file I mistakening entered an incorrect node name for the PIU reheat coil inlet node name in the AirTerminal:SingleDuct:SeriesPIU:Reheat object. In fact this node name was not used anywhere else in the input.

AirTerminal:SingleDuct:SeriesPIU:Reheat,
  Zone 1 SPIU ATU,         !- Name
  ON,                      !- Availability Schedule Name
  autosize,                !- Maximum Air Flow Rate {m3/s}
  autosize,                !- Maximum Primary Air Flow Rate {m3/s}
  autosize,                !- Minimum Primary Air Flow Fraction
  Zone 1 PIU Pri Air Inlet Node,  !- Supply Air Inlet Node Name
  Zone 1 PIU Sec Air Inlet Node,  !- Secondary Air Inlet Node Name
  Zone 1 PIU Air Outlet Node,  !- Outlet Node Name
  Node Name Not Used Anywhere,  !- Reheat Coil Air Inlet Node Name
  Zone 1 PIU Mixer,        !- Zone Mixer Name
  Zone 1 PIU Fan,          !- Fan Name
  Coil:Heating:Water,      !- Reheat Coil Object Type
  Reheat Coil Zone 1,      !- Reheat Coil Name
  autosize,                !- Maximum Hot Water or Steam Flow Rate {m3/s}
  0.0,                     !- Minimum Hot Water or Steam Flow Rate {m3/s}
  0.0001;                  !- Convergence Tolerance

Program execution stopped and the warnings described an issue with the heating coil or the fan objects node names, including the water coil water nodes which added to the confusion. It took some time to figure out the problem was in the PIU object itself.

** Severe  ** Same component name and type has differing Node Names.
**   ~~~   **   Component: Coil:Heating:Water, name=REHEAT COIL ZONE 1
**   ~~~   **    Nodes, inlet: ZONE 1 REHEAT WATER INLET NODE, outlet: ZONE 1 REHEAT WATER OUTLET NODE
**   ~~~   **  & Nodes, inlet: NODE NAME NOT USED ANYWHERE, outlet: ZONE 1 PIU AIR OUTLET NODE
**   ~~~   **    Node Types:   Water Nodes & UNDEFINED
** Warning ** Node Connection Error for object COIL:HEATING:WATER=REHEAT COIL ZONE 1
**   ~~~   **   Air Nodes not on any Branch or Parent Object
**   ~~~   **   Inlet Node : ZONE 1 REHEAT AIR INLET NODE
**   ~~~   **   Outlet Node: ZONE 1 PIU AIR OUTLET NODE
** Warning ** Node Connection Error for object FAN:SYSTEMMODEL=ZONE 1 PIU FAN
**   ~~~   **   Air Nodes not on any Branch or Parent Object
**   ~~~   **   Inlet Node : ZONE 1 PIU MIXER AIR OUTLET NODE
**   ~~~   **   Outlet Node: ZONE 1 REHEAT AIR INLET NODE
** Warning ** Node Connection Error for object UNDEFINED=ZONE 1 PIU FAN
**   ~~~   **   UNDEFINED not on any Branch or Parent Object
**   ~~~   **   Inlet Node : UNDEFINED
**   ~~~   **   Outlet Node: NODE NAME NOT USED ANYWHERE
** Warning ** Potential Node Connection Error for object UNDEFINED, name=ZONE 1 PIU FAN
**   ~~~   **   Node Types are still UNDEFINED -- See Branch/Node Details file for further information
**   ~~~   **   Inlet Node : UNDEFINED
**   ~~~   **   Outlet Node: NODE NAME NOT USED ANYWHERE
** Warning ** Potential Node Connection Error for object COIL:HEATING:WATER, name=REHEAT COIL ZONE 1
**   ~~~   **   Node Types are still UNDEFINED -- See Branch/Node Details file for further information
**   ~~~   **   Inlet Node : NODE NAME NOT USED ANYWHERE
**   ~~~   **   Outlet Node: ZONE 1 PIU AIR OUTLET NODE

A simple check in PIU could report something like this, and save other users from decrypting these messages.

** Severe  ** Illegal Reheat Coil Air Inlet Node Name = NODE NAME NOT USED ANYWHERE
**   ~~~   ** Occurs in AirTerminal:SingleDuct:SeriesPIU:Reheat = ZONE 1 SPIU ATU
**   ~~~   ** Actual Heating Coil Inlet Node Name = ZONE 1 REHEAT AIR INLET NODE

Tentative location for warning message:

    // The reheat coil control node is necessary for hot water reheat, but not necessary for
    // electric or gas reheat.
    if (thisPIU.HCoilType == HtgCoilType::SimpleHeating) {
        thisPIU.HotControlNode =
            GetCoilWaterInletNode(state, state.dataIPShortCut->cAlphaArgs(9), state.dataIPShortCut->cAlphaArgs(10), ErrorsFound);
        bool errFound = false;
        int coilIndex = WaterCoils::GetWaterCoilIndex(state, state.dataIPShortCut->cAlphaArgs(9), state.dataIPShortCut->cAlphaArgs(10), errFound);
        if (thisPIU.HCoilInAirNode != state.dataWaterCoils->WaterCoil(coilIndex).AirInletNodeNum) {
            ShowSevereError(state, format("Illegal {} = {}", state.dataIPShortCut->cAlphaFieldNames(6), state.dataIPShortCut->cAlphaArgs(6)));
            ShowContinueError(state, format("Occurs in {} = {}", cCurrentModuleObject, thisPIU.Name));
            ShowContinueError(state,
                              format("Actual Heating Coil Inlet Node Name = {}",
                                     state.dataLoopNodes->NodeID(state.dataWaterCoils->WaterCoil(coilIndex).AirInletNodeNum)));
            //ErrorsFound = true;
        }
    }

Note that this node name is not actually needed since the heating coil type and name are provided. The only thing this node name is used for is to register this node as an internal node to the PIU unit. This node name could be found in the heating coil object.

    thisPIU.HCoilInAirNode = GetOnlySingleNode(state,
                                               state.dataIPShortCut->cAlphaArgs(6),
                                               ErrorsFound,
                                               DataLoopNode::ConnectionObjectType::AirTerminalSingleDuctSeriesPIUReheat,
                                               state.dataIPShortCut->cAlphaArgs(1),
                                               DataLoopNode::NodeFluidType::Air,
                                               DataLoopNode::ConnectionType::Internal,
                                               NodeInputManager::CompFluidStream::Primary,
                                               ObjectIsParent,
                                               state.dataIPShortCut->cAlphaFieldNames(6));

Details

Some additional details for this issue (if relevant):

  • Platform (Operating system, version)
  • Version of EnergyPlus (if using an intermediate build, include SHA)
  • Unmethours link or helpdesk ticket number

Checklist

Add to this list or remove from it as applicable. This is a simple templated set of guidelines.

Metadata

Metadata

Assignees

Labels

DefectIncludes code to repair a defect in EnergyPlusPriorityLowThis defect or feature has been declared low priority

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions