These are timing and accuracy results to solve the system $$ \gathered -\nabla\cdot(a\nabla u)+b\cdot\nabla u+cu=f\quad\text{on }\Omega, \\ a\frac{\partial u}{\partial n}+\gamma u=g\quad\text{on }\partial Omega. \endgathered $$ with $b=0$ with $\Omega=[0,1]^2$ and a regular grid of size $129 \times 129$ with one set of diagonals and linear finite elements. Conjugate gradient with various preconditioers was used. I solved the problem on the k=7'th refinement of the two-triangulation of the square until the dot product of the residual with the preconditioner of the residual was $16^{-k}$. It's not clear to me what the stopping criterion should be. The four columns of numbers are L2 error, H1 error, User ms, and GC ms. The L2 and H1 errors were estimated by injecting the approximate solution into a $257 \times 257$ grid and comparing it with the interpolant of the true solution on the fine grid. The problems are roughly in increasing order of difficulty; in the last problem, for example, the stiffness coefficient $a$ varies from 1.0 to 21.0 over the domain. User ms is the amount of user+system time to solve the linear system only; every once in a while there was a garbage collection during the solution process, whose time is measured separately. The tests were run on a Sun server with 2.2 GHz Opteron cpus and 16 Gbytes of memory running Red Hat Enterprise Linux 4. They used Gambit-C 4.1.2 and gcc 4.2.1, compiled with the options: -O1 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv -fomit-frame-pointer euler-377% gsc++ -:m1000000 [ Meroon V3 Paques2001+1 $Revision: 1.1 $ ] Gambit v4.1.2 > (load "all") "/export/users/lucier/programs/615project/2007/all.o1" > (time (load "final-tests.o1")) (time (load "final-tests.o1")) 5145 ms real time 5143 ms cpu time (4549 user, 594 system) 1 collection accounting for 267 ms real time (222 user, 45 system) 1249034936 bytes allocated 168514 minor faults no major faults "/export/users/lucier/programs/615project/2007/final-tests.o1" > (run-cg-tests symmetric-tests) a=1, c=1, u=x^2-y^2, Neumann CG: (Identity preconditioner) .0000178524 .0055265902 604. 0. CG: (Diagonal preconditioner) .0000062320 .0055243868 490. 0. CG: (Gauss-Seidel preconditioner) .0000227212 .0055283885 344. 0. a=1, c=1, u=\cos(\pi x), Neumann CG: (Identity preconditioner) .0000308271 .0136300308 413. 239. CG: (Diagonal preconditioner) .0000513635 .0136335376 153. 0. CG: (Gauss-Seidel preconditioner) .0000463294 .0136320274 253. 0. a=1, c=1, u=\sin(\pi x)+\sin(\pi y), Neumann CG: (Identity preconditioner) .0001293431 .0192817840 579. 0. CG: (Diagonal preconditioner) .0001168842 .0192826374 449. 0. CG: (Gauss-Seidel preconditioner) .0001162350 .0192801277 568. 0. a=11.0+10.0*\cos\pi x, c=1, u=xy, Neumann CG: (Identity preconditioner) .0000143844 .0039063976 3026. 242. CG: (Diagonal preconditioner) .0000173137 .0039080293 1360. 269. CG: (Gauss-Seidel preconditioner) .0000167438 .0039074115 909. 0. a=1, c=1+xy, u=x^2-y^2, Neumann CG: (Identity preconditioner) .0000104069 .0055255256 617. 0. CG: (Diagonal preconditioner) .0001655629 .0056522351 482. 263. CG: (Gauss-Seidel preconditioner) .0000233797 .0055282663 404. 0. a=1, c=2+\cos(\pi y), u=\cos(\pi x), Neumann CG: (Identity preconditioner) .0000309400 .0136305567 517. 0. CG: (Diagonal preconditioner) .0000334046 .0136317763 371. 0. CG: (Gauss-Seidel preconditioner) .0000485629 .0136329616 302. 0. a=1, c=1, gamma=2+\cos(\pi x), u=\sin(\pi x)+\sin(\pi y), Robin CG: (Identity preconditioner) .0000358628 .0192766014 832. 249. CG: (Diagonal preconditioner) .0000394569 .0192773902 918. 0. CG: (Gauss-Seidel preconditioner) .0000384198 .0192771890 617. 0. a=11.0+10.0*\cos\pi x, c=1+xy, gamma=2+\cos(\pi x), u=xy, Robin CG: (Identity preconditioner) .0000123078 .0039061707 2778. 262. CG: (Diagonal preconditioner) .0000158513 .0039078330 1323. 0. CG: (Gauss-Seidel preconditioner) .0000147271 .0039071817 934. 275. >