/[escript]/branches/doubleplusgood/paso/src/TFQMR.cpp
ViewVC logotype

Diff of /branches/doubleplusgood/paso/src/TFQMR.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2826 by artak, Fri Dec 18 01:33:35 2009 UTC revision 3981 by jfenwick, Fri Sep 21 02:47:54 2012 UTC
# Line 1  Line 1 
1    
2  /*******************************************************  /*****************************************************************************
3  *  *
4  * Copyright (c) 2003-2009 by University of Queensland  * Copyright (c) 2003-2012 by University of Queensland
5  * Earth Systems Science Computational Center (ESSCC)  * http://www.uq.edu.au
 * http://www.uq.edu.au/esscc  
6  *  *
7  * Primary Business: Queensland, Australia  * Primary Business: Queensland, Australia
8  * Licensed under the Open Software License version 3.0  * Licensed under the Open Software License version 3.0
9  * http://www.opensource.org/licenses/osl-3.0.php  * http://www.opensource.org/licenses/osl-3.0.php
10  *  *
11  *******************************************************/  * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12    * Development since 2012 by School of Earth Sciences
13    *
14    *****************************************************************************/
15    
16    
17  /* TFQMR iterations */  /* TFQMR iterations */
# Line 23  Line 25 
25  #include <omp.h>  #include <omp.h>
26  #endif  #endif
27    
28  #ifdef PASO_MPI  #ifdef ESYS_MPI
29  #include <mpi.h>  #include <mpi.h>
30  #endif  #endif
31    
# Line 53  Line 55 
55  *  INFO    (output) INT  *  INFO    (output) INT
56  *  *
57  *          = SOLVER_NO_ERROR: Successful exit. Iterated approximate solution returned.  *          = SOLVER_NO_ERROR: Successful exit. Iterated approximate solution returned.
58  *          = SOLVEr_MAXITER_REACHED  *          = SOLVER_MAXITER_REACHED
59  *          = SOLVER_INPUT_ERROR Illegal parameter:  *          = SOLVER_INPUT_ERROR Illegal parameter:
60  *          = SOLVEr_BREAKDOWN: If parameters rHO or OMEGA become smaller  *          = SOLVER_BREAKDOWN: If parameters RHO or OMEGA become smaller
61  *          = SOLVER_MEMORY_ERROR : If parameters rHO or OMEGA become smaller  *          = SOLVER_MEMORY_ERROR : If parameters RHO or OMEGA become smaller
62  *  *
63  *  ==============================================================  *  ==============================================================
64  */  */
# Line 122  err_t Paso_Solver_TFQMR( Line 124  err_t Paso_Solver_TFQMR(
124    Paso_zeroes(n,x);    Paso_zeroes(n,x);
125        
126    Performance_startMonitor(pp,PERFORMANCE_PRECONDITIONER);    Performance_startMonitor(pp,PERFORMANCE_PRECONDITIONER);
127    Paso_Solver_solvePreconditioner(A,res,r);    Paso_SystemMatrix_solvePreconditioner(A,res,r);
128    Performance_stopMonitor(pp,PERFORMANCE_PRECONDITIONER);    Performance_stopMonitor(pp,PERFORMANCE_PRECONDITIONER);
129        
130    Performance_startMonitor(pp,PERFORMANCE_SOLVER);    Performance_startMonitor(pp,PERFORMANCE_SOLVER);
# Line 143  err_t Paso_Solver_TFQMR( Line 145  err_t Paso_Solver_TFQMR(
145        
146    Performance_stopMonitor(pp,PERFORMANCE_SOLVER);    Performance_stopMonitor(pp,PERFORMANCE_SOLVER);
147    Performance_startMonitor(pp,PERFORMANCE_PRECONDITIONER);    Performance_startMonitor(pp,PERFORMANCE_PRECONDITIONER);
148    Paso_Solver_solvePreconditioner(A,v,temp_vector);    Paso_SystemMatrix_solvePreconditioner(A,v,temp_vector);
149    Performance_stopMonitor(pp,PERFORMANCE_PRECONDITIONER);    Performance_stopMonitor(pp,PERFORMANCE_PRECONDITIONER);
150    Performance_startMonitor(pp,PERFORMANCE_SOLVER);    Performance_startMonitor(pp,PERFORMANCE_SOLVER);
151        
# Line 182  err_t Paso_Solver_TFQMR( Line 184  err_t Paso_Solver_TFQMR(
184                        
185            Performance_stopMonitor(pp,PERFORMANCE_SOLVER);            Performance_stopMonitor(pp,PERFORMANCE_SOLVER);
186            Performance_startMonitor(pp,PERFORMANCE_PRECONDITIONER);            Performance_startMonitor(pp,PERFORMANCE_PRECONDITIONER);
187            Paso_Solver_solvePreconditioner(A,u2,temp_vector);        Paso_SystemMatrix_solvePreconditioner(A,u2,temp_vector);
188            Performance_stopMonitor(pp,PERFORMANCE_PRECONDITIONER);            Performance_stopMonitor(pp,PERFORMANCE_PRECONDITIONER);
189            Performance_startMonitor(pp,PERFORMANCE_SOLVER);            Performance_startMonitor(pp,PERFORMANCE_SOLVER);
190           }           }
# Line 218  err_t Paso_Solver_TFQMR( Line 220  err_t Paso_Solver_TFQMR(
220       Performance_stopMonitor(pp,PERFORMANCE_MVM);       Performance_stopMonitor(pp,PERFORMANCE_MVM);
221            
222       Performance_startMonitor(pp,PERFORMANCE_PRECONDITIONER);       Performance_startMonitor(pp,PERFORMANCE_PRECONDITIONER);
223       Paso_Solver_solvePreconditioner(A,u1,temp_vector);       Paso_SystemMatrix_solvePreconditioner(A,u1,temp_vector);
224       Performance_stopMonitor(pp,PERFORMANCE_PRECONDITIONER);       Performance_stopMonitor(pp,PERFORMANCE_PRECONDITIONER);
225            
226       Performance_startMonitor(pp,PERFORMANCE_SOLVER);       Performance_startMonitor(pp,PERFORMANCE_SOLVER);

Legend:
Removed from v.2826  
changed lines
  Added in v.3981

  ViewVC Help
Powered by ViewVC 1.1.26