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

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

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

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) {
355                if (rilu->mask_C[i]>-1) {                if (rilu->mask_C[i]>-1) {
356                    x[i]=rilu->x_C[rilu->mask_C[i]];                    x[i]=rilu->x_C[rilu->mask_C[i]];
# Line 359  void Paso_Solver_solveRILU(Paso_Solver_R Line 359  void Paso_Solver_solveRILU(Paso_Solver_R
359                }                }
360             }             }
361          } else {          } else {
362             #pragma omp for private(i,k) schedule(static)             #pragma omp parallel for private(i,k) schedule(static)
363             for (i=0;i<rilu->n;++i) {             for (i=0;i<rilu->n;++i) {
364                   if (rilu->mask_C[i]>-1) {                   if (rilu->mask_C[i]>-1) {
365                       for (k=0;k<n_block;k++) x[n_block*i+k]=rilu->x_C[n_block*rilu->mask_C[i]+k];                       for (k=0;k<n_block;k++) x[n_block*i+k]=rilu->x_C[n_block*rilu->mask_C[i]+k];

Legend:
Removed from v.1388  
changed lines
  Added in v.1556

  ViewVC Help
Powered by ViewVC 1.1.26