On Thu, 8 Jan 2015, Jed Brown wrote:

> Can you provide output with -ksp_monitor_true_residual?  Are you
> comparing a preconditioned residual to an unpreconditioned residual?

Yes, and yes:

   0 KSP preconditioned resid norm 5.893300515271e-01 true resid norm 
1.137340546775e-01 ||r(i)||/||b|| 1.000000000000e+00
   1 KSP preconditioned resid norm 1.323095860276e-01 true resid norm 
1.854948903571e-02 ||r(i)||/||b|| 1.630952935627e-01
   2 KSP preconditioned resid norm 2.957976209084e-03 true resid norm 
9.076848423484e-04 ||r(i)||/||b|| 7.980765698734e-03
   3 KSP preconditioned resid norm 4.630654713249e-04 true resid norm 
3.394455698647e-04 ||r(i)||/||b|| 2.984555248884e-03
   4 KSP preconditioned resid norm 1.042927953583e-05 true resid norm 
3.082072165862e-04 ||r(i)||/||b|| 2.709893861255e-03
   5 KSP preconditioned resid norm 7.161971654746e-07 true resid norm 
3.084038310662e-04 ||r(i)||/||b|| 2.711622582529e-03
   6 KSP preconditioned resid norm 3.126650757674e-08 true resid norm 
3.084036219553e-04 ||r(i)||/||b|| 2.711620743934e-03
   7 KSP preconditioned resid norm 1.102895578517e-09 true resid norm 
3.084021853448e-04 ||r(i)||/||b|| 2.711608112620e-03
   8 KSP preconditioned resid norm 5.540930099957e-11 true resid norm 
3.084021840854e-04 ||r(i)||/||b|| 2.711608101548e-03
   9 KSP preconditioned resid norm 2.937449992531e-12 true resid norm 
3.084021825944e-04 ||r(i)||/||b|| 2.711608088437e-03
  10 KSP preconditioned resid norm 1.580464771307e-13 true resid norm 
3.084021824157e-04 ||r(i)||/||b|| 2.711608086867e-03
number of iterations to solve adjoint: 10 final residual of adjoint solve: 
1.58046e-13

It still seems like we've got to be doing something wrong in
PetscLinearSolver::adjoint_solve().  I haven't tried this myself, but
I'm told that setting up the transpose linearized problem here and
using a straight solve() works fine.

> Note that penalty boundary conditions render unpreconditioned residuals
> nearly useless.

Agreed; fortunately she's using DirichletBoundary constraints.  For
this tiny boiled down version of the problem the norm of the matrix is
only 32.
---
Roy

------------------------------------------------------------------------------
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to