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

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

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

revision 1797 by artak, Mon Sep 15 01:36:34 2008 UTC revision 1798 by gross, Wed Sep 17 06:21:12 2008 UTC
# Line 75  void Paso_Solver(Paso_SystemMatrix* A,do Line 75  void Paso_Solver(Paso_SystemMatrix* A,do
75       if (method==PASO_NONLINEAR_GMRES) {       if (method==PASO_NONLINEAR_GMRES) {
76          Paso_Function* F=NULL;          Paso_Function* F=NULL;
77          F=Paso_Function_LinearSystem_alloc(A,b,options);          F=Paso_Function_LinearSystem_alloc(A,b,options);
78            Paso_Solver_solvePreconditioner(A,x,b);
79          errorCode=Paso_Solver_NewtonGMRES(F,x,options,pp);          errorCode=Paso_Solver_NewtonGMRES(F,x,options,pp);
80          if (errorCode==NO_ERROR) {          if (errorCode!=NO_ERROR) {
81             Paso_setError(SYSTEM_ERROR,"Paso_Solver_NewtonGMRES: an error has occured.");             Paso_setError(SYSTEM_ERROR,"Paso_Solver_NewtonGMRES: an error has occured.");
82          }          }
83          Paso_Function_LinearSystem_free(F);          Paso_Function_LinearSystem_free(F);
84            return;
85       }       }
86       /* ========================= */       /* ========================= */
87       Performance_startMonitor(pp,PERFORMANCE_ALL);       Performance_startMonitor(pp,PERFORMANCE_ALL);
# Line 118  void Paso_Solver(Paso_SystemMatrix* A,do Line 120  void Paso_Solver(Paso_SystemMatrix* A,do
120            
121           /* if norm2_of_b==0 we are ready: x=0 */           /* if norm2_of_b==0 we are ready: x=0 */
122           if (norm2_of_b <=0.) {           if (norm2_of_b <=0.) {
123  #pragma omp parallel for private(i) schedule(static)              #pragma omp parallel for private(i) schedule(static)
124              for (i = 0; i < numSol; i++) x[i]=0.;              for (i = 0; i < numSol; i++) x[i]=0.;
125              if (options->verbose) printf("right hand side is identical zero.\n");              if (options->verbose) printf("right hand side is identical zero.\n");
126           } else {           } else {

Legend:
Removed from v.1797  
changed lines
  Added in v.1798

  ViewVC Help
Powered by ViewVC 1.1.26