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

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

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

revision 2478 by gross, Tue Jun 16 06:32:15 2009 UTC revision 2479 by gross, Thu Jun 18 06:50:37 2009 UTC
# Line 27  Line 27 
27  #include "performance.h"  #include "performance.h"
28  #include "Solver.h"  #include "Solver.h"
29    
 #ifdef SCSL  
 #include "SCSL.h"  
 #endif  
   
30  #ifdef MKL  #ifdef MKL
31  #include "MKL.h"  #include "MKL.h"
32  #endif  #endif
# Line 54  void Paso_solve(Paso_SystemMatrix* A, Line 50  void Paso_solve(Paso_SystemMatrix* A,
50         Paso_setError(VALUE_ERROR,"Paso_solve: matrix has to be a square matrix.");         Paso_setError(VALUE_ERROR,"Paso_solve: matrix has to be a square matrix.");
51         return;         return;
52    }    }
53    Paso_Options_show(options);    /* Paso_Options_show(options); */
54    Performance_open(&pp,options->verbose);    Performance_open(&pp,options->verbose);
55    package=Paso_Options_getPackage(options->method,options->package,options->symmetric, A->mpi_info);    package=Paso_Options_getPackage(options->method,options->package,options->symmetric, A->mpi_info);
56    if (Paso_noError()) {    if (Paso_noError()) {
# Line 65  void Paso_solve(Paso_SystemMatrix* A, Line 61  void Paso_solve(Paso_SystemMatrix* A,
61            A->solver_package=PASO_PASO;            A->solver_package=PASO_PASO;
62            break;            break;
63    
         #ifdef SCSL  
         case PASO_SCSL:  
           if (A->mpi_info->size>1) {  
               Paso_setError(VALUE_ERROR,"Paso_solve: SCSL package does not support MPI.");  
               return;  
           }  
           Paso_SCSL(A,out,in,options,&pp);  
           A->solver_package=PASO_SCSL;  
           break;  
         #endif  
   
     
64          #ifdef MKL          #ifdef MKL
65          case PASO_MKL:          case PASO_MKL:
66            if (A->mpi_info->size>1) {            if (A->mpi_info->size>1) {
# Line 103  void Paso_solve(Paso_SystemMatrix* A, Line 87  void Paso_solve(Paso_SystemMatrix* A,
87             Paso_setError(VALUE_ERROR,"Paso_solve: unknown package code");             Paso_setError(VALUE_ERROR,"Paso_solve: unknown package code");
88             break;             break;
89       }       }
90    /*
91         if (options->accept_failed_convergence) {
92             if (
93                 if (options->verbose) printf("PASO: failed convergence has been unnullated as requested.");
94    
95             }
96         }
97    */
98    }    }
99    Performance_close(&pp,options->verbose);    Performance_close(&pp,options->verbose);
100    Paso_Options_showDiagnostics(options);    Paso_Options_showDiagnostics(options);
# Line 121  void Paso_solve_free(Paso_SystemMatrix* Line 113  void Paso_solve_free(Paso_SystemMatrix*
113            Paso_Solver_free(in);            Paso_Solver_free(in);
114            break;            break;
115    
         #ifdef SCSL  
         case PASO_SCSL:  
           Paso_SCSL_free(in);  
           break;  
         #endif  
   
     
116          #ifdef MKL          #ifdef MKL
117          case PASO_MKL:          case PASO_MKL:
118            Paso_MKL_free(in);            Paso_MKL_free(in);

Legend:
Removed from v.2478  
changed lines
  Added in v.2479

  ViewVC Help
Powered by ViewVC 1.1.26