MCPcopy Create free account
hub / github.com/AMReX-Astro/Castro / clearSolver

Method clearSolver

Source/radiation/HypreMultiABec.cpp:3386–3466  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3384}
3385
3386void 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) {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected