| 3384 | } |
| 3385 | |
| 3386 | void HypreMultiABec::clearSolver() |
| 3387 | { |
| 3388 | BL_PROFILE("HypreMultiABec::clearSolver"); |
| 3389 | |
| 3390 | if (solver_flag == 100) { |
| 3391 | HYPRE_BoomerAMGDestroy(solver); |
| 3392 | } |
| 3393 | else if (solver_flag == 101) { |
| 3394 | HYPRE_SStructFACDestroy2(sstruct_solver); |
| 3395 | } |
| 3396 | else if (solver_flag == 102) { |
| 3397 | HYPRE_ParCSRGMRESDestroy(solver); |
| 3398 | } |
| 3399 | else if (solver_flag == 103) { |
| 3400 | HYPRE_SStructGMRESDestroy(sstruct_solver); |
| 3401 | } |
| 3402 | else if (solver_flag == 1002) { |
| 3403 | HYPRE_ParCSRPCGDestroy(solver); |
| 3404 | } |
| 3405 | else if (solver_flag == 1003) { |
| 3406 | HYPRE_SStructPCGDestroy(sstruct_solver); |
| 3407 | } |
| 3408 | else if (solver_flag == 104 || solver_flag == 105) { |
| 3409 | HYPRE_ParCSRGMRESDestroy(solver); |
| 3410 | HYPRE_BoomerAMGDestroy(precond); |
| 3411 | } |
| 3412 | else if (solver_flag == 106) { |
| 3413 | HYPRE_SStructSplitDestroy(sstruct_solver); |
| 3414 | } |
| 3415 | else if (solver_flag == 107) { |
| 3416 | HYPRE_SStructGMRESDestroy(sstruct_solver); |
| 3417 | HYPRE_SStructSplitDestroy(sstruct_precond); |
| 3418 | } |
| 3419 | else if (solver_flag == 108) { |
| 3420 | ParmParse pp("hmabec"); |
| 3421 | #if (AMREX_SPACEDIM == 1) |
| 3422 | int struct_flag = 0; |
| 3423 | #else |
| 3424 | int struct_flag = 1; |
| 3425 | #endif |
| 3426 | pp.query("struct_flag", struct_flag); |
| 3427 | if (struct_flag == 0) { |
| 3428 | HYPRE_StructSMGDestroy((HYPRE_StructSolver) solver); |
| 3429 | } |
| 3430 | else { |
| 3431 | HYPRE_StructPFMGDestroy((HYPRE_StructSolver) solver); |
| 3432 | } |
| 3433 | } |
| 3434 | else if (solver_flag == 109) { |
| 3435 | ParmParse pp("hmabec"); |
| 3436 | #if (AMREX_SPACEDIM == 1) |
| 3437 | int struct_flag = 0; |
| 3438 | #else |
| 3439 | int struct_flag = 1; |
| 3440 | #endif |
| 3441 | pp.query("struct_flag", struct_flag); |
| 3442 | HYPRE_StructGMRESDestroy((HYPRE_StructSolver) solver); |
| 3443 | if (struct_flag == 0) { |
nothing calls this directly
no outgoing calls
no test coverage detected