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

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

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

revision 3259 by jfenwick, Mon Oct 11 01:48:14 2010 UTC revision 3402 by gross, Tue Dec 7 07:36:12 2010 UTC
# Line 324  void Paso_Solver_solveRILU(Paso_Solver_R Line 324  void Paso_Solver_solveRILU(Paso_Solver_R
324       if (rilu->n_C==0) {       if (rilu->n_C==0) {
325          /* x=invA_FF*b  */          /* x=invA_FF*b  */
326      Paso_Copy(n_block*rilu->n_F, x, b);      Paso_Copy(n_block*rilu->n_F, x, b);
327          Paso_BlockOps_allMV(n_block,rilu->n_F,rilu->inv_A_FF,rilu->A_FF_pivot,x);      Paso_BlockOps_solveAll(n_block,rilu->n_F,rilu->inv_A_FF,rilu->A_FF_pivot,x);
328       } else {       } else {
329          /* b->[b_F,b_C]     */          /* b->[b_F,b_C]     */
330          if (n_block==1) {          if (n_block==1) {
# Line 342  void Paso_Solver_solveRILU(Paso_Solver_R Line 342  void Paso_Solver_solveRILU(Paso_Solver_R
342          }          }
343          /* x_F=invA_FF*b_F  */          /* x_F=invA_FF*b_F  */
344      Paso_Copy(n_block*rilu->n_F, rilu->x_F,rilu->b_F);      Paso_Copy(n_block*rilu->n_F, rilu->x_F,rilu->b_F);
345          Paso_BlockOps_allMV(n_block,rilu->n_F,rilu->inv_A_FF,rilu->A_FF_pivot,rilu->x_F);      Paso_BlockOps_solveAll(n_block,rilu->n_F,rilu->inv_A_FF,rilu->A_FF_pivot,rilu->x_F);
346          /* b_C=b_C-A_CF*x_F */          /* b_C=b_C-A_CF*x_F */
347          Paso_SparseMatrix_MatrixVector_CSR_OFFSET0(-1.,rilu->A_CF,rilu->x_F,1.,rilu->b_C);          Paso_SparseMatrix_MatrixVector_CSR_OFFSET0(-1.,rilu->A_CF,rilu->x_F,1.,rilu->b_C);
348          /* x_C=RILU(b_C)     */          /* x_C=RILU(b_C)     */
# Line 351  void Paso_Solver_solveRILU(Paso_Solver_R Line 351  void Paso_Solver_solveRILU(Paso_Solver_R
351          Paso_SparseMatrix_MatrixVector_CSR_OFFSET0(-1.,rilu->A_FC,rilu->x_C,1.,rilu->b_F);          Paso_SparseMatrix_MatrixVector_CSR_OFFSET0(-1.,rilu->A_FC,rilu->x_C,1.,rilu->b_F);
352          /* x_F=invA_FF*b_F  */          /* x_F=invA_FF*b_F  */
353      Paso_Copy(n_block*rilu->n_F, rilu->x_F,rilu->b_F);      Paso_Copy(n_block*rilu->n_F, rilu->x_F,rilu->b_F);
354          Paso_BlockOps_allMV(n_block,rilu->n_F,rilu->inv_A_FF,rilu->A_FF_pivot,rilu->x_F);      Paso_BlockOps_solveAll(n_block,rilu->n_F,rilu->inv_A_FF,rilu->A_FF_pivot,rilu->x_F);
355          /* x<-[x_F,x_C]     */          /* x<-[x_F,x_C]     */
356          if (n_block==1) {          if (n_block==1) {
357             #pragma omp parallel for private(i) schedule(static)             #pragma omp parallel for private(i) schedule(static)

Legend:
Removed from v.3259  
changed lines
  Added in v.3402

  ViewVC Help
Powered by ViewVC 1.1.26