Knowledgebase : Error and Warnings
Q: I get the "Max Iteration" warning often, in varying quantities. I'd like to understand better what they mean.

1) If these are a concern, at what frequency? (e.g., "whenever it occurs more than 100? 500? 1000? times in a full year run.")
2) Roughly how much does it affect accuracy of the simulation? (A lot or a little? proportional to the number of occurrences?)
3) Any tips about how to avoid it?

A: This is a good question, but it is difficult to answer. It is something to be concerned about, but in many cases there does not seem to be a way to completely eliminate them and they aren't necessarily a cause for alarm.

1) The total count is a difficult measure to use because it varies with number of zones, number and type of air systems, and length of run period. A 1,000 might not be a problem for a big model with an annual run, but it could be way too many for a single zone design day run. The errors are more common with VAV than CV. The frequency is key though. I look at the timing of the errors. If they happen every time step during some period, then it usually means there is something wrong with HVAC. If they happen only sometimes, and those times are when things are changing quickly (like recovery from setback), then I don't worry much.
2) It depends if the system is succeeding at controlling the zone conditions. If the systems are controlling well, and the errors are intermittent, then the results are probably not affected significantly. If the systems are not controlling zone conditions, then the errors are probably very significant. Check the comfort conditions and zone air temperatures to see.
3) When the errors are significant, they usually indicate something is wrong with HVAC input that EnergyPlus isn't able to trap in some other way. Possibilities include all sorts of things that can go wrong such as: systems connected wrong (node connections usually), sized wrong (mixing hard and auto sizes), controlled wrong (check operation of set point managers by reporting node set point values).

Maximum iterations exceeded warnings can occur for a variety of reasons. EnergyPlus iterates for each HVAC timestep until the mass flows and temperatures in all HVAC loops converge to certain tolerances. This warning means that the simulation was not able to converge to a solution in the specified number of iterations, and has moved on to the next time step with the current result.

If there are a small number of these errors in an annual simulation, then you can probably ignore them.

If there are large numbers of these errors, then the results may be invalid. How to diagnose?

1. Are the zone temperatures being controlled to setpoint? If not, then the max iteration warnings may indicate that the building is getting further and further off setpoint with each iteration, and it will never be able to stabilize. Causes for this could be inadequate equipment capacity or poor controls.

2. Is there simultaneous operation of heating and cooling coils that is not expected? For example, if inconsistent setpoints are placed on the central heating and cooling coils in a single-duct system, the coils may fight over what the system supply temperature should be.

3. Is the system a variable-volume system with floating supply air temperature? A VAV system with many zones and a supply air temperature that is floating at the mixed air condition, or using SET POINT MANAGER:WARMEST to reset the supply temp, could have difficulty converging.

4. Are there other errors in the output, such as node connection errors or mass flow errors? If so, these must be fixed first.

5. If you activate Diagnostics, DisplayExtraWarnings; You can see what tolerance is not being met. This can help narrow down if the problem in an air loop or plant loop, if it is a temperature problem or mass flow problem, etc.

This is not an exhaustive list, but should help one get started on fixing this problem.
Question: What do these errors mean?

** Warning ** Potential Node Connection Error for object PIPE:ADIABATIC, name=CW SUPPLY SIDE OUTLET PIPE
** ~~~ ** Node Types are still UNDEFINED -- See Branch/Node Details file for further information
** ~~~ ** Inlet Node : CW SUPPLY SIDE EXIT PIPE INLET NODE
** ~~~ ** Outlet Node: CW SUPPLY OUTLET NODE

** Warning ** Node Connection Error for object PIPE:ADIABATIC, name=CW SUPPLY SIDE OUTLET PIPE
** ~~~ ** Pipe Nodes not on any Branch or Parent Object
** ~~~ ** Inlet Node : CW SUPPLY SIDE EXIT PIPE INLET NODE
** ~~~ ** Outlet Node: CW SUPPLY SIDE OUTLET NODE


Answer: These errors mean that the node names and/or object names are not used consistently in the component, it's branch, and/or the splitter, mixer or branch list. The second warning above indicates that the pipe name and node names in the pipe object do not match the same in the branch object which holds the pipe.

Branch,
CW Supply Outlet, !- Name
0, !- Maximum Flow Rate {m3/s}
, !- Pressure Drop Curve Name
Pipe:Adiabatic, !- Component 1 Object Type
CW Supply Side Outlet Pipe, !- Component 1 Name
CW Supply Side Exit Pipe Inlet Node, !- Component 1 Inlet Node Name
CW Supply Outlet Node, !- Component 1 Outlet Node Name
PASSIVE; !- Component 1 Branch Control Type

Pipe:Adiabatic,
CW Supply Side Outlet Pipe, !- Name
CW Supply Side Exit Pipe Inlet Node, !- Inlet Node Name
CW Supply Side Outlet Node; !- Outlet Node Name

In this case, the outlet node names do not match.