Home
last modified time | relevance | path

Searched refs:Gmat2 (Results 1 – 3 of 3) sorted by relevance

/petsc/src/ksp/pc/impls/gamg/
H A Dgeo.c448 Mat Gmat2; in getGIDsOnSquareGraph() local
459 PetscCall(PCGAMGSquareGraph_GAMG(pc, Gmat1, &Gmat2)); in getGIDsOnSquareGraph()
460 *a_Gmat_2 = Gmat2; /* output */ in getGIDsOnSquareGraph()
461 } else Gmat2 = Gmat1; /* use local to get crsGIDs at least */ in getGIDsOnSquareGraph()
463 mpimat2 = (Mat_MPIAIJ *)Gmat2->data; in getGIDsOnSquareGraph()
464 PetscCall(MatCreateVecs(Gmat2, &locState, NULL)); in getGIDsOnSquareGraph()
666 Mat Gmat2; in PCGAMGProlongator_GEO() local
671 …PetscCall(getGIDsOnSquareGraph(pc, nLocalSelected, clid_flid, Gmat, &selected_2, &Gmat2, &crsGID)); in PCGAMGProlongator_GEO()
675 PetscCall(PCGAMGGetDataWithGhosts(Gmat2, dim, pc_gamg->data, &data_stride, &coords)); in PCGAMGProlongator_GEO()
680 PetscCall(MatDestroy(&Gmat2)); in PCGAMGProlongator_GEO()
H A Dgamg.c500 PetscErrorCode PCGAMGSquareGraph_GAMG(PC a_pc, Mat Gmat1, Mat *Gmat2) in PCGAMGSquareGraph_GAMG() argument
510 PetscCall(MatProductCreate(Gmat1, Gmat1, NULL, Gmat2)); in PCGAMGSquareGraph_GAMG()
511 PetscCall(MatSetOptionsPrefix(*Gmat2, prefix)); in PCGAMGSquareGraph_GAMG()
513 PetscCall(MatAppendOptionsPrefix(*Gmat2, addp)); in PCGAMGSquareGraph_GAMG()
514 if ((*Gmat2)->structurally_symmetric == PETSC_BOOL3_TRUE) { in PCGAMGSquareGraph_GAMG()
515 PetscCall(MatProductSetType(*Gmat2, MATPRODUCT_AB)); in PCGAMGSquareGraph_GAMG()
518 PetscCall(MatProductSetType(*Gmat2, MATPRODUCT_AtB)); in PCGAMGSquareGraph_GAMG()
520 PetscCall(MatProductSetFromOptions(*Gmat2)); in PCGAMGSquareGraph_GAMG()
522 PetscCall(MatProductSymbolic(*Gmat2)); in PCGAMGSquareGraph_GAMG()
524 PetscCall(MatProductClear(*Gmat2)); in PCGAMGSquareGraph_GAMG()
[all …]
H A Dagg.c1180 Mat Gmat2, Gmat1 = *a_Gmat1; /* aggressive graph */ in PCGAMGCoarsen_AGG() local
1231 …& pc_gamg_agg->use_aggressive_square_graph) PetscCall(PCGAMGSquareGraph_GAMG(a_pc, Gmat1, &Gmat2)); in PCGAMGCoarsen_AGG()
1232 else Gmat2 = Gmat1; in PCGAMGCoarsen_AGG()
1244 PetscCall(MatCoarsenSetAdjacency(pc_gamg_agg->crs, Gmat2)); in PCGAMGCoarsen_AGG()
1254 if (Gmat2 != Gmat1) { // square graph, we need ghosts for selected in PCGAMGCoarsen_AGG()
1257 PetscCall(fixAggregatesWithSquare(a_pc, Gmat2, Gmat1, *agg_lists)); in PCGAMGCoarsen_AGG()
1259 *a_Gmat1 = Gmat2; /* output */ in PCGAMGCoarsen_AGG()