/[escript]/trunk/pasowrap/src/SystemMatrixAdapter.cpp
ViewVC logotype

Diff of /trunk/pasowrap/src/SystemMatrixAdapter.cpp

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

revision 5147 by jfenwick, Tue May 13 00:28:11 2014 UTC revision 5148 by caltinay, Mon Sep 15 01:25:23 2014 UTC
# Line 67  void SystemMatrixAdapter::ypAx(escript:: Line 67  void SystemMatrixAdapter::ypAx(escript::
67    
68  int SystemMatrixAdapter::mapOptionToPaso(int option)  int SystemMatrixAdapter::mapOptionToPaso(int option)
69  {  {
70     switch (option) {      switch (option) {
71         case  escript::ESCRIPT_DEFAULT:          case escript::SO_DEFAULT:
72            return PASO_DEFAULT;              return PASO_DEFAULT;
73         case  escript::ESCRIPT_DIRECT:  
74            return PASO_DIRECT;          case escript::SO_PACKAGE_MKL:
75         case  escript::ESCRIPT_CHOLEVSKY:              return PASO_MKL;
76            return PASO_CHOLEVSKY;          case escript::SO_PACKAGE_PASO:
77         case  escript::ESCRIPT_PCG:              return PASO_PASO;
78            return PASO_PCG;          case escript::SO_PACKAGE_PASTIX:
79         case  escript::ESCRIPT_CR:              return PASO_PASTIX;
80            return PASO_CR;          case escript::SO_PACKAGE_SUPER_LU:
81         case  escript::ESCRIPT_CGS:              return PASO_SUPER_LU;
82            return PASO_CGS;          case escript::SO_PACKAGE_TRILINOS:
83         case  escript::ESCRIPT_BICGSTAB:              return PASO_TRILINOS;
84            return PASO_BICGSTAB;          case escript::SO_PACKAGE_UMFPACK:
85         case  escript::ESCRIPT_ILU0:              return PASO_UMFPACK;
86            return PASO_ILU0;  
87         case  escript::ESCRIPT_ILUT:          case escript::SO_METHOD_BICGSTAB:
88            return PASO_ILUT;              return PASO_BICGSTAB;
89         case  escript::ESCRIPT_JACOBI:          case escript::SO_METHOD_CGS:
90            return PASO_JACOBI;              return PASO_CGS;
91         case  escript::ESCRIPT_GMRES:          case escript::SO_METHOD_CHOLEVSKY:
92            return PASO_GMRES;              return PASO_CHOLEVSKY;
93         case  escript::ESCRIPT_PRES20:          case escript::SO_METHOD_CR:
94            return PASO_PRES20;              return PASO_CR;
95         case  escript::ESCRIPT_LUMPING:          case escript::SO_METHOD_DIRECT:
96            return PASO_LUMPING;              return PASO_DIRECT;
97         case  escript::ESCRIPT_NO_REORDERING:          case escript::SO_METHOD_GMRES:
98            return PASO_NO_REORDERING;              return PASO_GMRES;
99         case  escript::ESCRIPT_MINIMUM_FILL_IN:          case escript::SO_METHOD_ITERATIVE:
100            return PASO_MINIMUM_FILL_IN;              return PASO_ITERATIVE;
101         case  escript::ESCRIPT_NESTED_DISSECTION:          case escript::SO_METHOD_MINRES:
102            return PASO_NESTED_DISSECTION;              return PASO_MINRES;
103         case  escript::ESCRIPT_MKL:          case escript::SO_METHOD_NONLINEAR_GMRES:
104            return PASO_MKL;              return PASO_NONLINEAR_GMRES;
105         case  escript::ESCRIPT_UMFPACK:          case escript::SO_METHOD_PCG:
106            return PASO_UMFPACK;              return PASO_PCG;
107         case  escript::ESCRIPT_ITERATIVE:          case escript::SO_METHOD_PRES20:
108            return PASO_ITERATIVE;              return PASO_PRES20;
109         case  escript::ESCRIPT_PASO:          case escript::SO_METHOD_TFQMR:
110            return PASO_PASO;              return PASO_TFQMR;
111         case  escript::ESCRIPT_AMG:  
112            return PASO_AMG;          case escript::SO_PRECONDITIONER_AMG:
113         case  escript::ESCRIPT_AMLI:              return PASO_AMG;
114            return PASO_AMLI;          case escript::SO_PRECONDITIONER_AMLI:
115         case  escript::ESCRIPT_REC_ILU:              return PASO_AMLI;
116            return PASO_REC_ILU;          case escript::SO_PRECONDITIONER_BOOMERAMG:
117         case  escript::ESCRIPT_TRILINOS:              return PASO_BOOMERAMG;
118            return PASO_TRILINOS;          case escript::SO_PRECONDITIONER_GAUSS_SEIDEL:
119         case  escript::ESCRIPT_NONLINEAR_GMRES:              return PASO_GAUSS_SEIDEL;
120            return PASO_NONLINEAR_GMRES;          case escript::SO_PRECONDITIONER_ILU0:
121         case  escript::ESCRIPT_TFQMR :              return PASO_ILU0;
122            return PASO_TFQMR;          case escript::SO_PRECONDITIONER_ILUT:
123         case  escript::ESCRIPT_MINRES:              return PASO_ILUT;
124            return PASO_MINRES;          case escript::SO_PRECONDITIONER_JACOBI:
125         case  escript::ESCRIPT_GAUSS_SEIDEL:              return PASO_JACOBI;
126            return PASO_GAUSS_SEIDEL;          case escript::SO_PRECONDITIONER_NONE:
127         case  escript::ESCRIPT_RILU:              return PASO_NO_PRECONDITIONER;
128            return PASO_RILU;          case escript::SO_PRECONDITIONER_REC_ILU:
129         case  escript::ESCRIPT_DEFAULT_REORDERING:              return PASO_REC_ILU;
130            return PASO_DEFAULT_REORDERING;          case escript::SO_PRECONDITIONER_RILU:
131         case  escript::ESCRIPT_SUPER_LU:              return PASO_RILU;
132            return PASO_SUPER_LU;  
133         case  escript::ESCRIPT_PASTIX:          case escript::SO_ODESOLVER_BACKWARD_EULER:        
134            return PASO_PASTIX;              return PASO_BACKWARD_EULER;
135         case  escript::ESCRIPT_YAIR_SHAPIRA_COARSENING:          case escript::SO_ODESOLVER_CRANK_NICOLSON:
136            return PASO_YAIR_SHAPIRA_COARSENING;              return PASO_CRANK_NICOLSON;
137         case  escript::ESCRIPT_RUGE_STUEBEN_COARSENING:          case escript::SO_ODESOLVER_LINEAR_CRANK_NICOLSON:
138            return PASO_RUGE_STUEBEN_COARSENING;              return PASO_LINEAR_CRANK_NICOLSON;
139         case  escript::ESCRIPT_STANDARD_COARSENING:  
140            return PASO_STANDARD_COARSENING;            case escript::SO_INTERPOLATION_CLASSIC:
141         case  escript::ESCRIPT_AGGREGATION_COARSENING:              return PASO_CLASSIC_INTERPOLATION;
142            return PASO_AGGREGATION_COARSENING;          case escript::SO_INTERPOLATION_CLASSIC_WITH_FF_COUPLING:
143         case  escript::ESCRIPT_NO_PRECONDITIONER:              return PASO_CLASSIC_INTERPOLATION_WITH_FF_COUPLING;
144            return PASO_NO_PRECONDITIONER;          case escript::SO_INTERPOLATION_DIRECT:
145         case escript::ESCRIPT_CLASSIC_INTERPOLATION_WITH_FF_COUPLING:              return PASO_DIRECT_INTERPOLATION;
146           return PASO_CLASSIC_INTERPOLATION_WITH_FF_COUPLING;  
147         case escript::ESCRIPT_CLASSIC_INTERPOLATION:          case escript::SO_COARSENING_AGGREGATION:
148           return PASO_CLASSIC_INTERPOLATION;              return PASO_AGGREGATION_COARSENING;
149         case escript::ESCRIPT_DIRECT_INTERPOLATION:          case escript::SO_COARSENING_CIJP:
150           return PASO_DIRECT_INTERPOLATION;              return PASO_CIJP_COARSENING;
151         case escript::ESCRIPT_BOOMERAMG:          case escript::SO_COARSENING_CIJP_FIXED_RANDOM:
152           return PASO_BOOMERAMG;              return PASO_CIJP_FIXED_RANDOM_COARSENING;
153         case escript::ESCRIPT_CIJP_FIXED_RANDOM_COARSENING:          case escript::SO_COARSENING_FALGOUT:
154           return PASO_CIJP_FIXED_RANDOM_COARSENING;              return PASO_FALGOUT_COARSENING;
155         case escript::ESCRIPT_CIJP_COARSENING:          case escript::SO_COARSENING_HMIS:
156           return PASO_CIJP_COARSENING;              return PASO_HMIS_COARSENING;
157         case escript::ESCRIPT_FALGOUT_COARSENING:          case escript::SO_COARSENING_PMIS:
158           return PASO_FALGOUT_COARSENING;              return PASO_PMIS_COARSENING;
159         case escript::ESCRIPT_PMIS_COARSENING:          case escript::SO_COARSENING_RUGE_STUEBEN:
160           return PASO_PMIS_COARSENING;              return PASO_RUGE_STUEBEN_COARSENING;
161         case escript::ESCRIPT_HMIS_COARSENING:          case escript::SO_COARSENING_STANDARD:
162           return PASO_HMIS_COARSENING;              return PASO_STANDARD_COARSENING;  
163         case  escript::ESCRIPT_LINEAR_CRANK_NICOLSON:          case escript::SO_COARSENING_YAIR_SHAPIRA:
164           return PASO_LINEAR_CRANK_NICOLSON;              return PASO_YAIR_SHAPIRA_COARSENING;
165         case  escript::ESCRIPT_CRANK_NICOLSON:  
166           return PASO_CRANK_NICOLSON;          case escript::SO_REORDERING_DEFAULT:
167         case  escript::ESCRIPT_BACKWARD_EULER:                      return PASO_DEFAULT_REORDERING;
168           return PASO_BACKWARD_EULER;          case escript::SO_REORDERING_MINIMUM_FILL_IN:
169         default:              return PASO_MINIMUM_FILL_IN;
170             stringstream temp;          case escript::SO_REORDERING_NESTED_DISSECTION:
171             temp << "Error - Cannot map option value "<< option << " onto Paso";              return PASO_NESTED_DISSECTION;
172             throw PasoException(temp.str());          case escript::SO_REORDERING_NONE:
173                return PASO_NO_REORDERING;
174    
175            default:
176                stringstream temp;
177                temp << "Error - Cannot map option value "<< option << " onto Paso";
178                throw PasoException(temp.str());
179      }      }
180  }  }
181    
# Line 332  void SystemMatrixAdapter::escriptToPasoO Line 338  void SystemMatrixAdapter::escriptToPasoO
338      paso_options->adapt_inner_tolerance = sb.adaptInnerTolerance();      paso_options->adapt_inner_tolerance = sb.adaptInnerTolerance();
339      paso_options->reordering = mapOptionToPaso(sb.getReordering());      paso_options->reordering = mapOptionToPaso(sb.getReordering());
340      paso_options->preconditioner = mapOptionToPaso(sb.getPreconditioner());      paso_options->preconditioner = mapOptionToPaso(sb.getPreconditioner());
341        paso_options->ode_solver = mapOptionToPaso(sb.getODESolver());
342      paso_options->iter_max = sb.getIterMax();      paso_options->iter_max = sb.getIterMax();
343      paso_options->inner_iter_max = sb.getInnerIterMax();      paso_options->inner_iter_max = sb.getInnerIterMax();
344      paso_options->drop_tolerance = sb.getDropTolerance();      paso_options->drop_tolerance = sb.getDropTolerance();
# Line 355  void SystemMatrixAdapter::escriptToPasoO Line 362  void SystemMatrixAdapter::escriptToPasoO
362      paso_options->usePanel = sb.usePanel();      paso_options->usePanel = sb.usePanel();
363      paso_options->interpolation_method = sb.getAMGInterpolation();      paso_options->interpolation_method = sb.getAMGInterpolation();
364      paso_options->diagonal_dominance_threshold = sb.getDiagonalDominanceThreshold();      paso_options->diagonal_dominance_threshold = sb.getDiagonalDominanceThreshold();
     paso_options->ode_solver = sb.getODESolver();  
365  }  }
366    
367    

Legend:
Removed from v.5147  
changed lines
  Added in v.5148

  ViewVC Help
Powered by ViewVC 1.1.26