On Wed, 23 Jun 2010 12:24:36 -0400, Xuan YU <xxy113 at psu.edu> wrote: > I tried these method. Pseudo and Beuler work well. gl kept running > after t=1.665007e+01.
Different code from the kinetics problem you pasted? GL worked when I ran it [1], but I'm not surprised if it fails on your real problem. > Actually, I will solve a global ODE system in form of y'=f(t,y;x), x > is the forcing. The problem has been solved by cvode(sundials). I want > to use petsc to improve efficiency. That is likely largely about preconditioning, note that you can also use CVODE through PETSc, with PETSc preconditioners, but that doesn't use SNES or KSP so you have fewer choices. Jed [1] $ ./a.out -ts_type gl At t = 0 y =1.000000e+00 0.000000e+00 0.000000e+00 At t = 0.01 y =9.996023e-01 4.536940e-05 3.523190e-04 At t = 0.012 y =9.995227e-01 3.460238e-05 4.427435e-04 At t = 0.0128944 y =9.994870e-01 3.630127e-05 4.766579e-04 At t = 0.0132594 y =9.994725e-01 3.636046e-05 4.911255e-04 At t = 0.0140389 y =9.994415e-01 3.638138e-05 5.221217e-04 At t = 0.0167059 y =9.993355e-01 3.639729e-05 6.281372e-04 At t = 0.0239153 y =9.990496e-01 3.638965e-05 9.140576e-04 At t = 0.0447892 y =9.982260e-01 3.619797e-05 1.737826e-03 At t = 0.0731174 y =9.971190e-01 3.581689e-05 2.845193e-03 At t = 0.109233 y =9.957254e-01 3.583264e-05 4.238734e-03 At t = 0.131687 y =9.948689e-01 3.554250e-05 5.095594e-03 At t = 0.15262 y =9.940770e-01 3.477519e-05 5.888207e-03 At t = 0.189042 y =9.927143e-01 3.556983e-05 7.250171e-03 At t = 0.210466 y =9.919214e-01 3.496951e-05 8.043646e-03 At t = 0.216991 y =9.916812e-01 3.499105e-05 8.283760e-03 At t = 0.228628 y =9.912544e-01 3.495839e-05 8.710620e-03 At t = 0.249814 y =9.904822e-01 3.480390e-05 9.482953e-03 At t = 0.284509 y =9.892306e-01 3.457380e-05 1.073483e-02 At t = 0.329694 y =9.876293e-01 3.428339e-05 1.233642e-02 At t = 0.453362 y =9.833627e-01 3.346441e-05 1.660382e-02 At t = 0.632794 y =9.774858e-01 3.258959e-05 2.248158e-02 At t = 0.763647 y =9.734140e-01 3.178560e-05 2.655426e-02 At t = 0.8 y =9.723125e-01 3.169671e-05 2.765585e-02 Number of timesteps = 23 final time 8.00e-01 $ ./a.out -ts_type sundials At t = 0 y =1.000000e+00 0.000000e+00 0.000000e+00 At t = 0.8 y =9.723021e-01 3.169016e-05 2.766620e-02 Number of timesteps = 1 final time 8.00e-01 TS Object: type: sundials Sundials integrater does not use SNES! Sundials integrater type BDF: backward differentiation formula Sundials abs tol 1e-06 rel tol 1e-06 Sundials linear solver tolerance factor 0.05 Sundials GMRES max iterations (same as restart in SUNDIALS) 5 Sundials using unmodified (classical) Gram-Schmidt for orthogonalization in GMRES Sundials suggested factor for tolerance scaling 1 Sundials cumulative number of internal steps 28 Sundials no. of calls to rhs function 44 Sundials no. of calls to linear solver setup function 14 Sundials no. of error test failures 2 Sundials no. of nonlinear solver iterations 40 Sundials no. of nonlinear convergence failure 0 Sundials no. of linear iterations 51 Sundials no. of linear convergence failures 0 Sundials no. of preconditioner evaluations 1 Sundials no. of preconditioner solves 88 Sundials no. of Jacobian-vector product evaluations 51 Sundials no. of rhs calls for finite diff. Jacobian-vector evals 51
