Getting that Stubborn AFT Fathom Model to Converge
The majority of steady-state, incompressible hydraulic models made in AFT Fathom that we see as Applications engineers typically converge very rapidly. However, every once in a while, that occasional AFT Fathom model arrives in our Support inbox that just won’t converge. At first glance, passing a graduate level course in compressible flow without ever missing an exam question may seem more likely than getting to the source of the convergence issue in one of these typically-monstrous models (like in Figure 1), but the tips below show that determining and correcting the problem preventing convergence is frequently straightforward and much easier than it might seem.
In the vast majority of these cases, we are able to get the model to converge by checking and correcting problematic input. On rare occasion, adding initial guesses or tightening the tolerances in the Solution Control can help to get the model to converge, as well.
If you have a stubborn AFT Fathom model that is failing to converge, the first place you should turn to is the model input. The odds are very high that, somewhere, there is erroneous input, or that special conditions in the model are causing the Solver to get stuck. The following are hints regarding junctions and other model input notorious for causing convergence issues to check, as well as methods you can use to track down the reason your model won’t converge.
General Model Input Using the Model Data tab
Before running any AFT Fathom model, it is imperative that you look through your Model Data tab to ensure that you have not made any input errors (this is crucial even if the model converges without issue). The Model Data tab shows your model input organized logically in columns with other pipes or junctions of the same type, making otherwise-subtle errors that can be hard to catch on the Workspace jump out. Unit errors are especially easy to identify in the Model Data tab. See the Model Data tab in Figure 2 that shows a likely units error in the model input.
Note that input errors do not always cause convergence issues, but they can.
Special Junction States
It is important to keep in mind that AFT Fathom is designed to model steady-state hydraulics. This means that each pipe and junction will behave exactly as it is modeled; control valves will remain in the necessary position in order to achieve their set points, VFD pumps will operate at the fixed speed necessary to achieve their set criteria, and check valves will stay open (unless specified as closed prior to running the model). To hammer home the point: junctions will stay in only ONE position (their steady-state position). If AFT Fathom determines that the position of one or more junctions will change in the steady-state operation according to the criteria that you have defined, you have not modeled a system that will be in steady-state, and you will see a message in the Solution Progress window as the Solver is running that states “Re-running Solver because one or more special junction states changed…”. If this happens, AFT Fathom will change the positions of the junctions it has determined will change and it will rerun the model.
However, in some instances, AFT Fathom can never come to a solution in these cases because changing one special state will cause another junction’s state to change, and a steady solution can never be determined. If your model solution progress stops on this message and can’t advance any further, you should go back to your model to check that you have entered realistic set points in any controlling junctions such as control valves and VFD pumps, and that any other junctions with positions that would change (such as check valves and relief valves) have been set to these changed positions so that you are truly modeling a steady-state system.
Several types of junctions can be modeled with resistance curves, which allow you to input a flow rate vs. pressure drop curve. However, these resistance curves can frequently hinder Fathom model convergence if they are modeled unrealistically (e.g., resistance curves that are modeled with a decreasing pressure drop with increasing flow rates…See Figure 3 for an example of this).
If your stubborn Fathom model has one or more resistance curves, ensure that these curves represent realistic pressure drop behavior at the stated flows. Another common problem to check for on these resistance curves is that the units are correct.
Turn on “Keep Track of Iteration History”
If your model is not converging, you can turn on the “Keep Track of Iteration History” feature, which will allow you to see which pipes and/or junctions are most out of tolerance. This can direct your troubleshooting and help you see where in your model you should first turn your attention to if it is not converging. The “Keep Track of Iteration History” feature can be turned on from the Analysis > Solution Control > General > Check the box next to “Keep Track of Iteration History”. Then, when your model is running, you can pause it any time by clicking on the Pause button on the bottom left, and under “Other Actions”, click on “History”.
Isolate Parts of your Model to Determine Where the Problem is Coming From
AFT Fathom’s scenario manager and graphical tools make quick work of locating the problematic portions of your model. My go-to method to determine the area(s) of a model preventing it from converging is to continually open up parts of the model until a convergence issue appears.
To do this, first create a child scenario of your base model, and in this child scenario, turn off almost all pipes and junctions so that you are left with only one flow path. This flow path will need to be chosen strategically so that the reference pressure requirements are satisfied and you can run the model. With this flow path open, run the model.
If the model fails to converge with this single flow path open, investigate the reason for the failure of the flow path to converge. Pay special attention to the model input in this path to determine if there are any obvious errors that could prevent it from converging.
Once you get the flow path to converge by changing erroneous input, adjusting junctions with a state that might change as discussed above, or on rare occasion, tightening the solution control tolerances, or if this flow path converged immediately, continue to progressively turn on more portions of your model until you are unable to get the model to converge.
Inspecting the part of the model that you turned on prior to it transitioning from converged to not converged will provide great insight as to which portion of the model is preventing convergence. When searching for the cause of the convergence issue, focus on any of the potentially-problematic input as described in the previous paragraphs.
The following description shows how you can use this approach for the model in Figure 1.
As is the case with many large models, the model in Figure 1 has three portions that are nearly copies of themselves, sometimes called “trains”. Each train has been highlighted with colored pipes. The three trains are blue, green, and orange, shown in Figure 4. Because each train has its own pressure sources and connects to a defined pressure downstream, analyzing one train at a time will be a convenient method to use. If we locate an input error in one portion of the model, we will know to check the other trains for a similar type of input error (which may or may not exist in the other trains).
The blue and green trains in the model in Figure 4 will now be closed using the Special Conditions icon on the Workspace toolbar. All pipes in the orange train will be closed as well, with the exception of a single flow path (shown in black in Figure 5). All closed pipes are represented on the Workspace with a dotted line. Note that AFT Fathom will ignore these pipes and the corresponding junctions in its calculations, so if the problem exists in these closed pipes or junctions, the model should converge well without them in its calculations.
Once only one flow path is open, you can get to work analyzing where the problematic portion(s) of the model is(are) located. If the model in Figure 5 won’t converge immediately, then you should work to determine why. If there are two pumps or other junctions in parallel that are open in your flow path, you can close all but one to see if this will help it converge (if closing the flow path through one of the pumps in parallel allows the model to converge, you can reason that there is an issue with how the pumps are modeled, or there is some other issue with this setup that is causing problems with the Solver). Additionally, evaluate all input for the open path to track down potential input errors. You can also try tightening the solution control tolerances to get this path to converge.
If Figure 5 converges with all flow paths closed except the highlighted path, continue to open additional pipes and junctions until the model won’t converge. Figure 6 shows this process continued with two additional flow paths that have been opened. Note that there is a large difference between errors in a converged model and a model that won’t converge at all. If the model converges with errors, these errors need to be evaluated separately to determine the underlying cause.
While no busy engineer in his/her right mind wants to have to take the time to troubleshoot a model that won’t converge (especially if it’s quite large), the non-convergence is likely providing some highly valuable information itself: Your system, as it’s modeled, isn’t a physically realistic system and there are probably issues with the input somewhere.
AFT Fathom’s user-friendliness minimizes the amount of time you will need to spend troubleshooting your non-converging model by taking advantage of the various features discussed in this blog. By scrutinizing your input and opening pipes and junctions to systematically analyze parts of your model that are preventing convergence, the likelihood of determining why your model won’t converge is very high.
Remember that all AFT Fathom models are different, so some steps described here might be more helpful and/or applicable than others for your particular model. However, in my experience as an Applications engineer, these steps have helped me successfully troubleshoot every non-converging AFT Fathom model that I have encountered.