Lines Matching refs:p
155 PetscPartitioner_PTScotch *p = (PetscPartitioner_PTScotch *)part->data;
158 PetscCallMPI(MPI_Comm_free(&p->pcomm));
165 PetscPartitioner_PTScotch *p = (PetscPartitioner_PTScotch *)part->data;
169 PetscCall(PetscViewerASCIIPrintf(viewer, "using partitioning strategy %s\n", PTScotchStrategyList[p->strategy]));
170 PetscCall(PetscViewerASCIIPrintf(viewer, "using load imbalance ratio %g\n", (double)p->imbalance));
189 PetscPartitioner_PTScotch *p = (PetscPartitioner_PTScotch *)part->data;
196 PetscCall(PetscOptionsEList("-petscpartitioner_ptscotch_strategy", "Partitioning strategy", "", slist, nlist, slist[p->strategy], &p->strategy, &flag));
197 PetscCall(PetscOptionsReal("-petscpartitioner_ptscotch_imbalance", "Load imbalance ratio", "", p->imbalance, &p->imbalance, &flag));
213 PetscMPIInt size, rank, p;
225 for (p = 2; p <= size; ++p) {
226 hasempty = (PetscBool)(hasempty || !vtxdist[p - 1] || !vtxdist[p]);
227 vtxdist[p] += vtxdist[p - 1];
252 for (p = 0, sumw = 0; p < nparts; ++p) {
253 PetscCall(PetscSectionGetDof(targetSection, p, &tpwgts[p]));
254 sumw += tpwgts[p];
264 for (p = 0; !vtxdist[p + 1] && p < size; ++p);
265 if (vtxdist[p + 1] == vtxdist[size]) {
266 if (rank == p) PetscCall(PTScotch_PartGraph_Seq(strat, imbal, nvtxs, xadj, adjncy, vwgt, adjwgt, nparts, tpwgts, assignment));
274 for (p = 0, cnt = 0; p < size; p++) {
275 if (vtxdist[p + 1] != vtxdist[p]) {
276 vtxdist[cnt + 1] = vtxdist[p + 1];
292 for (p = 0, i = 0; p < nparts; ++p) {
294 if (assignment[v] == p) points[i++] = v;
334 PetscPartitioner_PTScotch *p;
338 PetscCall(PetscNew(&p));
339 part->data = p;
341 PetscCallMPI(MPI_Comm_dup(PetscObjectComm((PetscObject)part), &p->pcomm));
342 p->strategy = 0;
343 p->imbalance = 0.01;