[petsc-users] Basic question on making SNES continue its iterations

Gaurish Telang gaurish108 at gmail.com
Wed Jun 5 11:33:28 CDT 2013


I am trying to solve a non-linear system with PETSs's SNES solvers.

To run my code, I am using the following options for snes set through the
command-line,
seen below.

mpirun -np 1 ./Testvector \
-fBus      $1/Bus.mat \
-fYm       $1/Ym.mat \
 -ft       $1/t.mat \
-flinedata $1/linedata.mat \
-nox \
-snes_atol 1.e-5\
-snes_stol 1.e-6 \
-snes_rtol 1.e-12 \
-snes_max_it 100 \
-snes_max_linear_solve_fail 100  \
-snes_converged_reason \
-ksp_type preonly \
-pc_type lu \
-pc_factor_mat_solver_package superlu_dist \
-snes_monitor \
> result_superLU_dist.tmp 2>&1;


After feeding my data, I get the following output
 0 SNES Function norm 2.438306296478e+02
  1 SNES Function norm 1.679437793666e+02
  2 SNES Function norm 1.493618467597e+02
  3 SNES Function norm 4.622194635741e+01
  4 SNES Function norm 4.195017632984e+01
Nonlinear solve did not converge due to DIVERGED_LINE_SEARCH iterations 4

As you can see the the SNES function norm is *decreasing*, which indicates
it is probably converging slowly to the actual solution. However after just
4 iterations, it stops and indicates non-convergence, even though my
-snes_max_it = 100 as shown above.

Is there a way to tell PETSc to continue its SNES iterations? Maybe some
there are some
default parameters which have to be changed?

Thank you

Gaurish
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20130605/e1beb536/attachment.html>


More information about the petsc-users mailing list