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

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

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

revision 3312 by gross, Tue Oct 26 07:54:58 2010 UTC revision 3314 by gross, Tue Oct 26 22:22:20 2010 UTC
# Line 171  Paso_Preconditioner_LocalAMG* Paso_Preco Line 171  Paso_Preconditioner_LocalAMG* Paso_Preco
171              Atemp=Paso_SparseMatrix_MatrixMatrix(A_p,out->P);              Atemp=Paso_SparseMatrix_MatrixMatrix(A_p,out->P);
172              A_C=Paso_SparseMatrix_MatrixMatrix(out->R,Atemp);              A_C=Paso_SparseMatrix_MatrixMatrix(out->R,Atemp);
173              Paso_SparseMatrix_free(Atemp);              Paso_SparseMatrix_free(Atemp);
174              if (SHOW_TIMING) printf("timing: level %d : getCoarseMatrix: %e\n",level,Esys_timer()-time0);              if (SHOW_TIMING) printf("timing: level %d : construct coarse matrix: %e\n",level,Esys_timer()-time0);
175                            
176              /* allocate helpers :*/              /* allocate helpers :*/
177              out->x_C=MEMALLOC(n_block*n_C,double);              out->x_C=MEMALLOC(n_block*n_C,double);
# Line 198  Paso_Preconditioner_LocalAMG* Paso_Preco Line 198  Paso_Preconditioner_LocalAMG* Paso_Preco
198                      out->A_C=Paso_SparseMatrix_unroll(MATRIX_FORMAT_BLK1 + MATRIX_FORMAT_OFFSET1, A_C);                      out->A_C=Paso_SparseMatrix_unroll(MATRIX_FORMAT_BLK1 + MATRIX_FORMAT_OFFSET1, A_C);
199                      Paso_SparseMatrix_free(A_C);                      Paso_SparseMatrix_free(A_C);
200                      out->A_C->solver_package = PASO_MKL;                      out->A_C->solver_package = PASO_MKL;
201                        if (verbose) printf("Paso: AMG: use MKL direct solver on the coarsest level (number of unknowns = %d).\n",n_C);
202                    #else                    #else
203                      #ifdef UMFPACK                      #ifdef UMFPACK
204                         out->A_C=Paso_SparseMatrix_unroll(MATRIX_FORMAT_BLK1 + MATRIX_FORMAT_CSC, A_C);                         out->A_C=Paso_SparseMatrix_unroll(MATRIX_FORMAT_BLK1 + MATRIX_FORMAT_CSC, A_C);
205                         Paso_SparseMatrix_free(A_C);                         Paso_SparseMatrix_free(A_C);
206                         out->A_C->solver_package = PASO_UMFPACK;                         out->A_C->solver_package = PASO_UMFPACK;
207                           if (verbose) printf("Paso: AMG: use UMFPACK direct solver on the coarsest level (number of unknowns = %d).\n",n_C);
208                      #else                      #else
209                         out->A_C=A_C;                         out->A_C=A_C;
210                         out->A_C->solver_p=Paso_Preconditioner_LocalSmoother_alloc(out->A_C, (options->smoother == PASO_JACOBI), verbose);                         out->A_C->solver_p=Paso_Preconditioner_LocalSmoother_alloc(out->A_C, (options->smoother == PASO_JACOBI), verbose);
211                         out->A_C->solver_package = PASO_SMOOTHER;                         out->A_C->solver_package = PASO_SMOOTHER;
212                           if (verbose) printf("Paso: AMG: use smoother on the coarsest level (number of unknowns = %d).\n",n_C);
213                      #endif                      #endif
214                    #endif                    #endif
215                 } else {                 } else {

Legend:
Removed from v.3312  
changed lines
  Added in v.3314

  ViewVC Help
Powered by ViewVC 1.1.26