[petsc-users] understanding snes_view output
Gideon Simpson
gideon.simpson at gmail.com
Thu Mar 30 15:02:09 CDT 2017
When running something with -snes_monitor and -snes_view, I see two sets of numbers that I'm trying to understand (see below).
The first is the sequence X SNES Function norm, with X going from 0 to 3. I had interpreted this as saying that it takes 3 steps of Newton, though perhaps this is not the case.
The next is "total number of linear solves=4" and "total number of function evaluations=31". How do these numbers relegate to the SNES Function norm statements? Also, I was surprised by the number of function evaluations given that I specify a SNESSetJacobian in the problem.
0 SNES Function norm 7.630295941712e-03
1 SNES Function norm 3.340185037212e-06
2 SNES Function norm 1.310176068229e-13
3 SNES Function norm 1.464821375527e-14
SNES Object: 4 MPI processes
type: newtonls
maximum iterations=50, maximum function evaluations=10000
tolerances: relative=1e-15, absolute=1e-50, solution=1e-15
total number of linear solver iterations=4
total number of function evaluations=31
norm schedule ALWAYS
SNESLineSearch Object: 4 MPI processes
type: bt
interpolation: cubic
alpha=1.000000e-04
maxstep=1.000000e+08, minlambda=1.000000e-12
tolerances: relative=1.000000e-08, absolute=1.000000e-15, lambda=1.000000e-08
maximum iterations=40
KSP Object: 4 MPI processes
type: gmres
GMRES: restart=30, using Classical (unmodified) Gram-Schmidt Orthogonalization with no iterative refinement
GMRES: happy breakdown tolerance 1e-30
maximum iterations=10000, initial guess is zero
tolerances: relative=1e-05, absolute=1e-50, divergence=10000
left preconditioning
using PRECONDITIONED norm type for convergence test
PC Object: 4 MPI processes
type: bjacobi
block Jacobi: number of blocks = 4
Local solve is same for all blocks, in the following KSP and PC objects:
KSP Object: (sub_) 1 MPI processes
type: preonly
maximum iterations=10000, initial guess is zero
tolerances: relative=1e-05, absolute=1e-50, divergence=10000
left preconditioning
using NONE norm type for convergence test
PC Object: (sub_) 1 MPI processes
type: ilu
ILU: out-of-place factorization
0 levels of fill
tolerance for zero pivot 2.22045e-14
matrix ordering: natural
factor fill ratio given 1, needed 1
Factored matrix follows:
Mat Object: 1 MPI processes
type: seqaij
rows=2, cols=2
package used to perform factorization: petsc
total: nonzeros=4, allocated nonzeros=4
total number of mallocs used during MatSetValues calls =0
using I-node routines: found 1 nodes, limit used is 5
linear system matrix = precond matrix:
Mat Object: 1 MPI processes
type: seqaij
rows=2, cols=2
total: nonzeros=4, allocated nonzeros=10
total number of mallocs used during MatSetValues calls =0
using I-node routines: found 1 nodes, limit used is 5
linear system matrix = precond matrix:
Mat Object: 4 MPI processes
type: mpiaij
rows=2, cols=2
total: nonzeros=4, allocated nonzeros=20
total number of mallocs used during MatSetValues calls =0
using I-node (on process 0) routines: found 1 nodes, limit used is 5
-gideon
More information about the petsc-users
mailing list