Error: divergence detected in AMG solver: pressure correction---what does this mean and how do I fix the problem?

This error message is an indication that the ¬'pressure correction¬' equation is diverging. The most likely cause is that the under-relaxation factor (URF) for that equation is too large. Reduce the URF by 10% and repeat the calculation.

Try turning on ¬'AMG verbosity¬' from the Multigrid Controls panel. Try a setting of verbosity=1. This will display AMG residuals for each equation during the iteration. Setting it to larger than that will report vast quantities of information. During the iteration, you will see the residuals of the multigrid sub-iterations. The default number of sub-iterations is 30. It normally takes under 10 sub-iterations for equations to converge to the default tolerance. However, if a particular equation does not converge, it will ¬'cycle-out,¬' requiring all 30 iterations, before giving up. This will consume a lot of CPU time and is an indication that the solution is nearly divergent. If this happens, try reducing the URF for that equation, also by 10%. If the sub-iterations diverge, you will get the error message.

Another cause, albeit more fundamental, is a problem with the mesh quality. Mathematically, skewed cells induce source terms, which cause the equations to become unstable. You may not be able to resolve this problem without remeshing the domain. As a general rule, please make sure your mesh equivolume skew is less than 0.93-0.95. Especially important is that you should have low skew in regions where gradients are large. It is in these regions that errors multiply.





Show Form
No comments yet. Be the first to add a comment!