[petsc-users] help about my first petsc program

Jed Brown jed at 59A2.org
Wed Jun 23 11:38:10 CDT 2010


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


More information about the petsc-users mailing list