[petsc-dev] questions on Tao "integration" into PETSc repository

Geoffrey Irving irving at naml.us
Wed Jan 29 22:47:45 CST 2014


On Wed, Jan 29, 2014 at 7:29 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
>    I've made a lot of progress in processing tao source to PETSc coding standards in the branch balay/tao-to-petsc
>
>    But now I have some observations/questions
>
>    tao.h just includes petsc.h
>
>     TaoInitialize/Finalize() basically calls PetscInitialize/Finalize
>
>    The single abstract Tao solver object is called TaoSolve  and is defined in taosolver.h
>           However all methods on the TaoSolver are prefixed with only Tao, for example TaoSetXXX()
>
>    The single abstract Tao line search object is called TaoLineSearch  and is defined in taolinesearch.h
>
>    With everyone's permission I would like to
>
>      1) remove TaoInitialize/Finalize()
>
>      2) rename the TaoSolver object to Tao
>
>      3) move the taosolver.h include to tao.h
>
>    With this change Tao will be name-spaced and appear in the same character as SNES does
>
>    Do I have everyone's agreement to make these changes? Other suggestions?
>
>    Thanks
>
>    Barry

This may be outside of the desired scope of changes, but would it be
possible to remove the two-level option structure imposed by Tao for
ksps and preconditioners?  E.g., currently to specify minres, one does

    -tao_nls_ksp_type petsc -ksp_type minres

Is there a reason the namespace can't be flattened?  Possibly more
unreasonably, is there a need for TaoLineSearch to be distinct from
SNESLineSearch?

Geoffrey



More information about the petsc-dev mailing list