PMD_Solve_Info_1DD - Sets the maximun iteration number and get
                     the iteration number to convergence.


OldMax=PMD_Solve_Info_1DD(Method=method[, SetMax=MaxIter][, GetIter=NIter] )


<IN>  method  : PMD handel of type PMD_R4_PCG_Jacobi
                or PMD_R8_PCG_Jacobi or PMD_R4_BICG_Jacobi
                or PMD_R8_BICG_Jacobi.
                This allows the user to point to the PCG (Preconditioned
                Conjugate Gradient) or BICG (Bi-CGstab) solver using the Jacobi Preconditionner.
<IN>  MaxIter : OPTIONAL parameter. (If specified) INTEGER scalar.
                Sets the maximum iteration number.
                The default is equal to the global Schur Matrix order
                (see PMD_Schur_1DD routine).
<OUT> NIter   : OPTIONAL parameter. (If specified) INTEGER scalar.
                Returns the number of iterations to convergence. We assume
                that convergence is reached when the norm of the residu
                is <= than EPSILON(1.0_R[4 or 8]).
<OUT> OldMax  : INTEGER. Returns the last saved maximum iteration number.


This function might be useful when parallel iterative solvers are used. Obviously, there is no need to use such a function with direct parallel solvers.


     USE PMD
     INCLUDE "mpif.h"
     TYPE(PMD_Comm_2D)       :: comm
     TYPE(PMD_R8_Schur)      :: schur
     TYPE(PMD_R8_PCG_Jacobi) :: method
     INTEGER                 :: Info, OldMax, MaxIter, Niter
     CALL MPI_INIT( Info )
     CALL PMD_Init_1DD( MPI_COMM_WORLD, Comm )
     CALL PMD_Schur_1DD( comm, ..., ..., ..., schur )
     CALL PMD_Schur_Precond_1DD( comm, schur, method )
     OldMax=PMD_Solve_Info_1DD( Method=method, SetMax=MaxIter )
     CALL PMD_Solve_1DD( comm, ..., ..., Schur, method, ..., ... )
     OldMax=PMD_Solve_Info_1DD( Method=method, GetIter=Niter )
     PRINT *,"PCG iteration number to convergence: ", Niter


Back to the routines' list...
Last modified: Fri Dec 28 11:22:33 CET 2001