Searched refs:Gmat2 (Results 1 – 3 of 3) sorted by relevance
| /petsc/src/ksp/pc/impls/gamg/ |
| H A D | geo.c | 448 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 D | gamg.c | 500 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 D | agg.c | 1180 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()
|