# Diff of /trunk/paso/src/Solver_RILU.c

revision 1388 by trankine, Fri Jan 11 07:45:58 2008 UTC revision 1556 by gross, Mon May 12 00:54:58 2008 UTC
# Line 326  void Paso_Solver_solveRILU(Paso_Solver_R Line 326  void Paso_Solver_solveRILU(Paso_Solver_R
326       } else {       } else {
327          /* b->[b_F,b_C]     */          /* b->[b_F,b_C]     */
328          if (n_block==1) {          if (n_block==1) {
329             #pragma omp for private(i) schedule(static)             #pragma omp parallel for private(i) schedule(static)
330             for (i=0;i<rilu->n_F;++i) rilu->b_F[i]=b[rilu->rows_in_F[i]];             for (i=0;i<rilu->n_F;++i) rilu->b_F[i]=b[rilu->rows_in_F[i]];
331             #pragma omp for private(i) schedule(static)             #pragma omp parallel for private(i) schedule(static)
332             for (i=0;i<rilu->n_C;++i) rilu->b_C[i]=b[rilu->rows_in_C[i]];             for (i=0;i<rilu->n_C;++i) rilu->b_C[i]=b[rilu->rows_in_C[i]];
333          } else {          } else {
334             #pragma omp for private(i,k) schedule(static)             #pragma omp parallel for private(i,k) schedule(static)
335             for (i=0;i<rilu->n_F;++i)             for (i=0;i<rilu->n_F;++i)
336                   for (k=0;k<n_block;k++) rilu->b_F[rilu->n_block*i+k]=b[n_block*rilu->rows_in_F[i]+k];                   for (k=0;k<n_block;k++) rilu->b_F[rilu->n_block*i+k]=b[n_block*rilu->rows_in_F[i]+k];
337             #pragma omp for private(i,k) schedule(static)             #pragma omp parallel for private(i,k) schedule(static)
338             for (i=0;i<rilu->n_C;++i)             for (i=0;i<rilu->n_C;++i)
339                   for (k=0;k<n_block;k++) rilu->b_C[rilu->n_block*i+k]=b[n_block*rilu->rows_in_C[i]+k];                   for (k=0;k<n_block;k++) rilu->b_C[rilu->n_block*i+k]=b[n_block*rilu->rows_in_C[i]+k];
340          }          }
# Line 350  void Paso_Solver_solveRILU(Paso_Solver_R Line 350  void Paso_Solver_solveRILU(Paso_Solver_R
350          Paso_Solver_applyBlockDiagonalMatrix(n_block,rilu->n_F,rilu->inv_A_FF,rilu->A_FF_pivot,rilu->x_F,rilu->b_F);          Paso_Solver_applyBlockDiagonalMatrix(n_block,rilu->n_F,rilu->inv_A_FF,rilu->A_FF_pivot,rilu->x_F,rilu->b_F);
351          /* x<-[x_F,x_C]     */          /* x<-[x_F,x_C]     */
352          if (n_block==1) {          if (n_block==1) {
353             #pragma omp for private(i) schedule(static)             #pragma omp parallel for private(i) schedule(static)
354             for (i=0;i<rilu->n;++i) {             for (i=0;i<rilu->n;++i) {