[petsc-users] KSP "randomly" not converging
Barry Smith
bsmith at mcs.anl.gov
Tue Jun 2 12:40:14 CDT 2015
Run for one time-step with -ts_view so we can see exactly what solver options you are using.
Then run with the additional options -ksp_pc_side right -ts_max_snes_failures -1
> On Jun 2, 2015, at 12:26 PM, Italo Tasso <italo at tasso.com.br> wrote:
>
> I made a code to solve the Navier-Stokes equations, incompressible, non-linear, all coupled, finite differences, staggered grid.
>
> I am running the code with:
>
> -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
>
> It works very well most of the time. But in some cases, the solver halts for a long time then KSP does not converge.
>
> See output1.txt. It seems that the residual is already very small, close to machine zero, but KSP doesn't stop.
>
> So I added -ksp_atol 1e-10. See output2.txt. Now it fails on a different time step.
>
> I also tried -ksp_norm_type unpreconditioned. It works for this case (grid size), but fail for other cases.
>
> 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.
>
> It feels like this is related to the PC, because the code halts for a long time at the first KSP step, then diverges.
>
> Any suggestions?
> <output1.txt><output2.txt>
More information about the petsc-users
mailing list