/[escript]/trunk/paso/src/Solver_AMG.c
ViewVC logotype

Diff of /trunk/paso/src/Solver_AMG.c

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

revision 2711 by artak, Tue Oct 6 04:43:41 2009 UTC revision 2712 by artak, Wed Oct 7 00:22:43 2009 UTC
# Line 155  Paso_Solver_AMG* Paso_Solver_getAMG(Paso Line 155  Paso_Solver_AMG* Paso_Solver_getAMG(Paso
155            
156       if (level==0 || n<=options->min_coarse_matrix_size) {       if (level==0 || n<=options->min_coarse_matrix_size) {
157           out->coarsest_level=TRUE;           out->coarsest_level=TRUE;
158           #ifdef UMFPACK           #ifdef MKL
          #else  
             #ifdef MKL  
159                    out->AOffset1=Paso_SparseMatrix_alloc(MATRIX_FORMAT_BLK1 + MATRIX_FORMAT_OFFSET1, out->A->pattern,1,1, FALSE);                    out->AOffset1=Paso_SparseMatrix_alloc(MATRIX_FORMAT_BLK1 + MATRIX_FORMAT_OFFSET1, out->A->pattern,1,1, FALSE);
160                    #pragma omp parallel for private(i) schedule(static)                    #pragma omp parallel for private(i) schedule(static)
161                    for (i=0;i<out->A->len;++i) {                    for (i=0;i<out->A->len;++i) {
162                         out->AOffset1->val[i]=out->A->val[i];                         out->AOffset1->val[i]=out->A->val[i];
163                    }                    }
164              #else           #else
165                #ifdef UMFPACK
166                #else
167                  out->GS=Paso_Solver_getJacobi(A_p);                  out->GS=Paso_Solver_getJacobi(A_p);
168              #endif              #endif
169           #endif           #endif
# Line 394  void Paso_Solver_solveAMG(Paso_Solver_AM Line 394  void Paso_Solver_solveAMG(Paso_Solver_AM
394          Paso_Solver_solveJacobi(amg->GS,x,b);          Paso_Solver_solveJacobi(amg->GS,x,b);
395        }        }
396         else {         else {
397         #ifdef UMFPACK         #ifdef MKL
398              Paso_MKL1(amg->AOffset1,x,b,verbose);
399           #else
400              #ifdef UMFPACK
401               ptr=(Paso_UMFPACK_Handler *)(amg->solver);               ptr=(Paso_UMFPACK_Handler *)(amg->solver);
402               Paso_UMFPACK1(&ptr,amg->A,x,b,verbose);               Paso_UMFPACK1(&ptr,amg->A,x,b,verbose);
403               amg->solver=(void*) ptr;               amg->solver=(void*) ptr;
404         #else                  #else      
405           #ifdef MKL               Paso_Solver_solveJacobi(amg->GS,x,b);
           Paso_MKL1(amg->AOffset1,x,b,verbose);  
          #else  
           Paso_Solver_solveJacobi(amg->GS,x,b);  
406           #endif           #endif
407         #endif         #endif
408         }         }

Legend:
Removed from v.2711  
changed lines
  Added in v.2712

  ViewVC Help
Powered by ViewVC 1.1.26