~vcs-imports/escript-finley/trunk

« back to all changes in this revision

Viewing changes to paso/src/BiCGStab.c

  • Committer: jfenwick
  • Date: 2010-10-11 01:48:14 UTC
  • Revision ID: svn-v4:77569008-7704-0410-b7a0-a92fef0b09fd:trunk:3259
Merging dudley and scons updates from branches

Show diffs side-by-side

added added

removed removed

Lines of Context:
86
86
  double *rtld=NULL,*p=NULL,*v=NULL,*t=NULL,*phat=NULL,*shat=NULL,*s=NULL;/*, *buf1=NULL, *buf0=NULL;*/
87
87
  double beta,norm_of_residual=0,sum_1,sum_2,sum_3,sum_4,norm_of_residual_global=0;
88
88
  double alpha=0, omega=0, omegaNumtr, omegaDenumtr, rho, tol, rho1=0;
89
 
#ifdef PASO_MPI
 
89
#ifdef ESYS_MPI
90
90
  double loc_sum[2], sum[2];
91
91
#endif
92
92
  dim_t num_iter=0,maxit,num_iter_global=0;
148
148
      omegaDenumtr = 0.0;
149
149
      #pragma omp parallel for private(i0) reduction(+:sum_1) schedule(static)
150
150
      for (i0 = 0; i0 < n; i0++) sum_1 += rtld[i0] * r[i0];
151
 
      #ifdef PASO_MPI
 
151
      #ifdef ESYS_MPI
152
152
          loc_sum[0] = sum_1;
153
153
          MPI_Allreduce(loc_sum, &sum_1, 1, MPI_DOUBLE, MPI_SUM, A->mpi_info->comm);
154
154
      #endif
173
173
   
174
174
        #pragma omp parallel for private(i0) reduction(+:sum_2) schedule(static)
175
175
        for (i0 = 0; i0 < n; i0++) sum_2 += rtld[i0] * v[i0];
176
 
        #ifdef PASO_MPI
 
176
        #ifdef ESYS_MPI
177
177
           loc_sum[0] = sum_2;
178
178
            MPI_Allreduce(loc_sum, &sum_2, 1, MPI_DOUBLE, MPI_SUM, A->mpi_info->comm);
179
179
        #endif
186
186
             s[i0] = r[i0];
187
187
             sum_3 += s[i0] * s[i0];
188
188
           }
189
 
           #ifdef PASO_MPI
 
189
           #ifdef ESYS_MPI
190
190
               loc_sum[0] = sum_3;
191
191
               MPI_Allreduce(loc_sum, &sum_3, 1, MPI_DOUBLE, MPI_SUM, A->mpi_info->comm);
192
192
           #endif
208
208
               omegaNumtr +=t[i0] * s[i0];
209
209
               omegaDenumtr += t[i0] * t[i0];
210
210
             }
211
 
             #ifdef PASO_MPI
 
211
             #ifdef ESYS_MPI
212
212
                loc_sum[0] = omegaNumtr;
213
213
                loc_sum[1] = omegaDenumtr;
214
214
                MPI_Allreduce(loc_sum, sum, 2, MPI_DOUBLE, MPI_SUM, A->mpi_info->comm);
224
224
                  r[i0] = s[i0]-omega * t[i0];
225
225
                  sum_4 += r[i0] * r[i0];
226
226
                }
227
 
                #ifdef PASO_MPI
 
227
                #ifdef ESYS_MPI
228
228
                   loc_sum[0] = sum_4;
229
229
                    MPI_Allreduce(loc_sum, &sum_4, 1, MPI_DOUBLE, MPI_SUM, A->mpi_info->comm);
230
230
                #endif