132 |
case PASO_PCG: |
case PASO_PCG: |
133 |
printf("Iterative method is PCG.\n"); |
printf("Iterative method is PCG.\n"); |
134 |
break; |
break; |
135 |
|
case PASO_TFQMR: |
136 |
|
printf("Iterative method is TFQMR.\n"); |
137 |
|
break; |
138 |
case PASO_PRES20: |
case PASO_PRES20: |
139 |
printf("Iterative method is PRES20.\n"); |
printf("Iterative method is PRES20.\n"); |
140 |
break; |
break; |
153 |
Paso_Solver_setPreconditioner(A,options); |
Paso_Solver_setPreconditioner(A,options); |
154 |
Performance_stopMonitor(pp,PERFORMANCE_PRECONDITIONER_INIT); |
Performance_stopMonitor(pp,PERFORMANCE_PRECONDITIONER_INIT); |
155 |
if (! Paso_noError()) return; |
if (! Paso_noError()) return; |
|
|
|
156 |
time_iter=Paso_timer(); |
time_iter=Paso_timer(); |
157 |
/* get an initial guess by evaluating the preconditioner */ |
/* get an initial guess by evaluating the preconditioner */ |
158 |
Paso_Solver_solvePreconditioner(A,x,b); |
Paso_Solver_solvePreconditioner(A,x,b); |
217 |
case PASO_PCG: |
case PASO_PCG: |
218 |
errorCode = Paso_Solver_PCG(A, r, x, &cntIter, &tol, pp); |
errorCode = Paso_Solver_PCG(A, r, x, &cntIter, &tol, pp); |
219 |
break; |
break; |
220 |
|
case PASO_TFQMR: |
221 |
|
errorCode = Paso_Solver_TFQMR(A, r, x, &cntIter, &tol, pp); |
222 |
|
break; |
223 |
case PASO_PRES20: |
case PASO_PRES20: |
224 |
errorCode = Paso_Solver_GMRES(A, r, x, &cntIter, &tol,5,20, pp); |
errorCode = Paso_Solver_GMRES(A, r, x, &cntIter, &tol,5,20, pp); |
225 |
break; |
break; |