Lines Matching refs:pc_gamg_agg
57 PC_GAMG_AGG *pc_gamg_agg = (PC_GAMG_AGG *)pc_gamg->subctx; in PCGAMGSetNSmooths_AGG() local
60 pc_gamg_agg->nsmooths = n; in PCGAMGSetNSmooths_AGG()
229 PC_GAMG_AGG *pc_gamg_agg = (PC_GAMG_AGG *)pc_gamg->subctx; in PCGAMGSetAggressiveLevels_AGG() local
232 pc_gamg_agg->aggressive_coarsening_levels = n; in PCGAMGSetAggressiveLevels_AGG()
240 PC_GAMG_AGG *pc_gamg_agg = (PC_GAMG_AGG *)pc_gamg->subctx; in PCGAMGMISkSetAggressive_AGG() local
243 pc_gamg_agg->aggressive_mis_k = n; in PCGAMGMISkSetAggressive_AGG()
251 PC_GAMG_AGG *pc_gamg_agg = (PC_GAMG_AGG *)pc_gamg->subctx; in PCGAMGSetAggressiveSquareGraph_AGG() local
254 pc_gamg_agg->use_aggressive_square_graph = b; in PCGAMGSetAggressiveSquareGraph_AGG()
262 PC_GAMG_AGG *pc_gamg_agg = (PC_GAMG_AGG *)pc_gamg->subctx; in PCGAMGSetLowMemoryFilter_AGG() local
265 pc_gamg_agg->use_low_mem_filter = b; in PCGAMGSetLowMemoryFilter_AGG()
273 PC_GAMG_AGG *pc_gamg_agg = (PC_GAMG_AGG *)pc_gamg->subctx; in PCGAMGSetGraphSymmetrize_AGG() local
276 pc_gamg_agg->graph_symmetrize = b; in PCGAMGSetGraphSymmetrize_AGG()
284 PC_GAMG_AGG *pc_gamg_agg = (PC_GAMG_AGG *)pc_gamg->subctx; in PCGAMGMISkSetMinDegreeOrdering_AGG() local
287 pc_gamg_agg->use_minimum_degree_ordering = b; in PCGAMGMISkSetMinDegreeOrdering_AGG()
295 PC_GAMG_AGG *pc_gamg_agg = (PC_GAMG_AGG *)pc_gamg->subctx; in PCSetFromOptions_GAMG_AGG() local
296 …provided = PETSC_FALSE, new_sq_provided = PETSC_FALSE, new_sqr_graph = pc_gamg_agg->use_aggressive… in PCSetFromOptions_GAMG_AGG()
301 …o construct prolongation, usually 1", "PCGAMGSetNSmooths", pc_gamg_agg->nsmooths, &pc_gamg_agg->ns… in PCSetFromOptions_GAMG_AGG()
303 …evels from finest", "PCGAMGSetAggressiveLevels", pc_gamg_agg->aggressive_coarsening_levels, &pc_ga… in PCSetFromOptions_GAMG_AGG()
306 …ISkSetAggressive()", "PCGAMGSetAggressiveSquareGraph", new_sqr_graph, &pc_gamg_agg->use_aggressive… in PCSetFromOptions_GAMG_AGG()
308 pc_gamg_agg->aggressive_coarsening_levels = nsq_graph_old; // could be zero in PCSetFromOptions_GAMG_AGG()
309 pc_gamg_agg->use_aggressive_square_graph = PETSC_TRUE; in PCSetFromOptions_GAMG_AGG()
312 …ph is deprecated, Number of aggressive levels is %" PetscInt_FMT "\n", pc_gamg_agg->aggressive_coa… in PCSetFromOptions_GAMG_AGG()
313 …r greedy MIS", "PCGAMGMISkSetMinDegreeOrdering", pc_gamg_agg->use_minimum_degree_ordering, &pc_gam… in PCSetFromOptions_GAMG_AGG()
314 …ory graph/matrix filter", "PCGAMGSetLowMemoryFilter", pc_gamg_agg->use_low_mem_filter, &pc_gamg_ag… in PCSetFromOptions_GAMG_AGG()
315 …vels of multigrid to use.", "PCGAMGMISkSetAggressive", pc_gamg_agg->aggressive_mis_k, &pc_gamg_agg… in PCSetFromOptions_GAMG_AGG()
316 …ize graph for coarsening", "PCGAMGSetGraphSymmetrize", pc_gamg_agg->graph_symmetrize, &pc_gamg_agg… in PCSetFromOptions_GAMG_AGG()
325 PC_GAMG_AGG *pc_gamg_agg = (PC_GAMG_AGG *)pc_gamg->subctx; in PCDestroy_GAMG_AGG() local
328 PetscCall(MatCoarsenDestroy(&pc_gamg_agg->crs)); in PCDestroy_GAMG_AGG()
650 PC_GAMG_AGG *pc_gamg_agg = (PC_GAMG_AGG *)pc_gamg->subctx; in PCView_GAMG_AGG() local
654 … Number of levels of aggressive coarsening %" PetscInt_FMT "\n", pc_gamg_agg->aggressive_coa… in PCView_GAMG_AGG()
655 if (pc_gamg_agg->aggressive_coarsening_levels > 0) { in PCView_GAMG_AGG()
656 …PetscCall(PetscViewerASCIIPrintf(viewer, " %s aggressive coarsening\n", !pc_gamg_agg->use_a… in PCView_GAMG_AGG()
657 …pc_gamg_agg->use_aggressive_square_graph) PetscCall(PetscViewerASCIIPrintf(viewer, " MIS-%"… in PCView_GAMG_AGG()
663 if (pc_gamg_agg->crs) PetscCall(MatCoarsenView(pc_gamg_agg->crs, viewer)); in PCView_GAMG_AGG()
669 … Number smoothing steps to construct prolongation %" PetscInt_FMT "\n", pc_gamg_agg->nsmooths)); in PCView_GAMG_AGG()
677 PC_GAMG_AGG *pc_gamg_agg = (PC_GAMG_AGG *)pc_gamg->subctx; in PCGAMGCreateGraph_AGG() local
688 PetscCall(MatCoarsenDestroy(&pc_gamg_agg->crs)); in PCGAMGCreateGraph_AGG()
689 PetscCall(MatCoarsenCreate(PetscObjectComm((PetscObject)pc), &pc_gamg_agg->crs)); in PCGAMGCreateGraph_AGG()
691 PetscCall(PetscObjectSetOptionsPrefix((PetscObject)pc_gamg_agg->crs, prefix)); in PCGAMGCreateGraph_AGG()
692 PetscCall(PetscObjectAppendOptionsPrefix((PetscObject)pc_gamg_agg->crs, "pc_gamg_")); in PCGAMGCreateGraph_AGG()
693 PetscCall(MatCoarsenSetFromOptions(pc_gamg_agg->crs)); in PCGAMGCreateGraph_AGG()
696 for (int ii = 0; ii < pc_gamg_agg->crs->strength_index_size; ii++) { in PCGAMGCreateGraph_AGG()
697 …PetscCheck(pc_gamg_agg->crs->strength_index[ii] >= 0 && pc_gamg_agg->crs->strength_index[ii] < bs,… in PCGAMGCreateGraph_AGG()
698 pc_gamg_agg->crs->strength_index[ii], bs); in PCGAMGCreateGraph_AGG()
700 PetscCall(PetscObjectTypeCompare((PetscObject)pc_gamg_agg->crs, MATCOARSENHEM, &ishem)); in PCGAMGCreateGraph_AGG()
702 …pc_gamg_agg->aggressive_coarsening_levels) PetscCall(PetscInfo(pc, "HEM and aggressive coarsening … in PCGAMGCreateGraph_AGG()
703 …pc_gamg_agg->aggressive_coarsening_levels = 0; // aggressi… in PCGAMGCreateGraph_AGG()
704 …PetscCall(MatCoarsenSetMaximumIterations(pc_gamg_agg->crs, pc_gamg_agg->crs->max_it)); // for code… in PCGAMGCreateGraph_AGG()
705 …PetscCall(MatCoarsenSetThreshold(pc_gamg_agg->crs, vfilter)); // for code… in PCGAMGCreateGraph_AGG()
707 PetscCall(PetscObjectTypeCompare((PetscObject)pc_gamg_agg->crs, MATCOARSENMIS, &ismis)); in PCGAMGCreateGraph_AGG()
708 …if (ismis && pc_gamg_agg->aggressive_coarsening_levels && !pc_gamg_agg->use_aggressive_square_grap… in PCGAMGCreateGraph_AGG()
710 pc_gamg_agg->use_aggressive_square_graph = PETSC_TRUE; in PCGAMGCreateGraph_AGG()
717 if (ishem || pc_gamg_agg->use_low_mem_filter) { in PCGAMGCreateGraph_AGG()
718 …mat, pc_gamg_agg->graph_symmetrize, (vfilter >= 0 || ishem) ? PETSC_TRUE : PETSC_FALSE, vfilter, p… in PCGAMGCreateGraph_AGG()
721 …scCall(MatCreateGraph(Amat, pc_gamg_agg->graph_symmetrize, PETSC_TRUE, -1, pc_gamg_agg->crs->stren… in PCGAMGCreateGraph_AGG()
1179 PC_GAMG_AGG *pc_gamg_agg = (PC_GAMG_AGG *)pc_gamg->subctx; in PCGAMGCoarsen_AGG() local
1225 …if (pc_gamg_agg->use_minimum_degree_ordering) PetscCall(PetscSortIntWithArray(nloc, degree, permut… in PCGAMGCoarsen_AGG()
1231 …if (pc_gamg->current_level < pc_gamg_agg->aggressive_coarsening_levels && pc_gamg_agg->use_aggress… in PCGAMGCoarsen_AGG()
1234 if (pc_gamg->current_level < pc_gamg_agg->aggressive_coarsening_levels) { in PCGAMGCoarsen_AGG()
1235 …if (!pc_gamg_agg->use_aggressive_square_graph) PetscCall(MatCoarsenMISKSetDistance(pc_gamg_agg->cr… in PCGAMGCoarsen_AGG()
1236 …else PetscCall(MatCoarsenSetType(pc_gamg_agg->crs, MATCOARSENMIS)); … in PCGAMGCoarsen_AGG()
1237 …} else if (pc_gamg_agg->use_aggressive_square_graph && pc_gamg_agg->aggressive_coarsening_levels >… in PCGAMGCoarsen_AGG()
1241 PetscCall(PetscObjectSetOptionsPrefix((PetscObject)pc_gamg_agg->crs, prefix)); in PCGAMGCoarsen_AGG()
1242 …PetscCall(MatCoarsenSetFromOptions(pc_gamg_agg->crs)); // get the default back on non-aggressive l… in PCGAMGCoarsen_AGG()
1244 PetscCall(MatCoarsenSetAdjacency(pc_gamg_agg->crs, Gmat2)); in PCGAMGCoarsen_AGG()
1245 PetscCall(MatCoarsenSetStrictAggs(pc_gamg_agg->crs, PETSC_TRUE)); in PCGAMGCoarsen_AGG()
1246 PetscCall(MatCoarsenSetGreedyOrdering(pc_gamg_agg->crs, perm)); in PCGAMGCoarsen_AGG()
1247 PetscCall(MatCoarsenApply(pc_gamg_agg->crs)); in PCGAMGCoarsen_AGG()
1248 PetscCall(MatCoarsenGetData(pc_gamg_agg->crs, agg_lists)); /* output */ in PCGAMGCoarsen_AGG()
1427 PC_GAMG_AGG *pc_gamg_agg = (PC_GAMG_AGG *)pc_gamg->subctx; in PCGAMGOptimizeProlongator_AGG() local
1441 if (0 < pc_gamg_agg->nsmooths) { in PCGAMGOptimizeProlongator_AGG()
1500 if (pc_gamg_agg->nsmooths > 0) { in PCGAMGOptimizeProlongator_AGG()
1510 for (jj = 0; jj < pc_gamg_agg->nsmooths; jj++) { in PCGAMGOptimizeProlongator_AGG()
1570 PC_GAMG_AGG *pc_gamg_agg; in PCCreateGAMG_AGG() local
1574 PetscCall(PetscNew(&pc_gamg_agg)); in PCCreateGAMG_AGG()
1575 pc_gamg->subctx = pc_gamg_agg; in PCCreateGAMG_AGG()
1589 pc_gamg_agg->nsmooths = 1; in PCCreateGAMG_AGG()
1590 pc_gamg_agg->aggressive_coarsening_levels = 1; in PCCreateGAMG_AGG()
1591 pc_gamg_agg->use_aggressive_square_graph = PETSC_TRUE; in PCCreateGAMG_AGG()
1592 pc_gamg_agg->use_minimum_degree_ordering = PETSC_FALSE; in PCCreateGAMG_AGG()
1593 pc_gamg_agg->use_low_mem_filter = PETSC_FALSE; in PCCreateGAMG_AGG()
1594 pc_gamg_agg->aggressive_mis_k = 2; in PCCreateGAMG_AGG()
1595 pc_gamg_agg->graph_symmetrize = PETSC_TRUE; in PCCreateGAMG_AGG()