<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I made a code to solve the Navier-Stokes equations, incompressible, non-linear, all coupled, finite differences, staggered grid.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I am running the code with:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style><font face="arial, helvetica, sans-serif">-ts_monitor -snes_monitor -ksp_monitor_true_residual -snes_converged_reason -ksp_converged_reason -pc_type fieldsplit -pc_fieldsplit_type schur -pc_fieldsplit_detect_saddle_point</font><br></div><div class="gmail_default" style><font face="arial, helvetica, sans-serif"><br></font></div><div class="gmail_default" style><font face="arial, helvetica, sans-serif">It works very well most of the time. But in some cases, the solver halts for a long time then KSP does not converge. </font></div><div class="gmail_default" style><span style="font-family:arial,helvetica,sans-serif"><br></span></div><div class="gmail_default" style><span style="font-family:arial,helvetica,sans-serif">See output1.txt. It seems that the residual is already very small, close to machine zero, but KSP doesn't stop.</span></div><div class="gmail_default" style><span style="font-family:arial,helvetica,sans-serif"><br></span></div><div class="gmail_default" style><span style="font-family:arial,helvetica,sans-serif">So I added </span><font face="arial, helvetica, sans-serif">-ksp_atol 1e-10. </font><span style="font-family:arial,helvetica,sans-serif">See output2.txt. Now it fails on a different time step.</span></div><div class="gmail_default" style><span style="font-family:arial,helvetica,sans-serif"><br></span></div><div class="gmail_default" style><span style="font-family:arial,helvetica,sans-serif">I also tried </span><font face="arial, helvetica, sans-serif">-ksp_norm_type unpreconditioned. It works for this case (grid size), but fail for other cases.</font></div><div class="gmail_default" style><font face="arial, helvetica, sans-serif"><br></font></div><div class="gmail_default" style><font face="arial, helvetica, sans-serif">I also tried building the Jacobian and including null space. It fixes some cases but causes others that worked before to fail. Seems really random.</font></div><div class="gmail_default" style><font face="arial, helvetica, sans-serif"><br></font></div><div class="gmail_default" style><font face="arial, helvetica, sans-serif">It feels like this is related to the PC, because the code halts for a long time at the first KSP step, then diverges.</font></div><div class="gmail_default" style><font face="arial, helvetica, sans-serif"><br></font></div><div class="gmail_default" style><font face="arial, helvetica, sans-serif">Any suggestions?</font></div></div>