Hi, I am using TS solving a nonlinear problem. I created an approximate data structure for Jacobian matrix to be used with matcoloring, my MatFDColoringView is like this: -------------- next part -------------- A non-text attachment was scrubbed... Name: Picture 1.png Type: image/png Size: 17458 bytes Desc: not available URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20100726/3b2c52e1/attachment.png> -------------- next part --------------
But the speed of code is too slow than what I expected. Only 10 time step costs 11seconds! What's wrong with my code? How can I speed up? Thanks! This is the ts_view result. TS Object: type: beuler maximum steps=100 maximum time=10 total number of nonlinear solver iterations=186 total number of linear solver iterations=423 SNES Object: type: ls line search variant: SNESLineSearchCubic alpha=0.0001, maxstep=1e+08, minlambda=1e-12 maximum iterations=50, maximum function evaluations=10000 tolerances: relative=1e-08, absolute=1e-50, solution=1e-08 total number of linear solver iterations=1 total number of function evaluations=19 KSP Object: 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: type: ilu ILU: out-of-place factorization 0 levels of fill tolerance for zero pivot 1e-12 using diagonal shift to prevent zero pivot matrix ordering: natural factor fill ratio given 1, needed 1 Factored matrix follows: Matrix Object: type=seqaij, rows=1838, cols=1838 package used to perform factorization: petsc total: nonzeros=8464, allocated nonzeros=8464 total number of mallocs used during MatSetValues calls =0 not using I-node routines linear system matrix = precond matrix: Matrix Object: type=seqaij, rows=1838, cols=1838 total: nonzeros=8464, allocated nonzeros=9745 total number of mallocs used during MatSetValues calls =37 not using I-node routines Xuan YU xxy113 at psu.edu