Lines Matching refs:part
28 PetscErrorCode PetscPartitionerSetType(PetscPartitioner part, PetscPartitionerType name) in PetscPartitionerSetType() argument
34 PetscValidHeaderSpecific(part, PETSCPARTITIONER_CLASSID, 1); in PetscPartitionerSetType()
35 PetscCall(PetscObjectTypeCompare((PetscObject)part, name, &match)); in PetscPartitionerSetType()
40 …PetscCheck(r, PetscObjectComm((PetscObject)part), PETSC_ERR_ARG_UNKNOWN_TYPE, "Unknown PetscPartit… in PetscPartitionerSetType()
42 PetscTryTypeMethod(part, destroy); in PetscPartitionerSetType()
43 part->noGraph = PETSC_FALSE; in PetscPartitionerSetType()
44 PetscCall(PetscMemzero(part->ops, sizeof(*part->ops))); in PetscPartitionerSetType()
45 PetscCall(PetscObjectChangeTypeName((PetscObject)part, name)); in PetscPartitionerSetType()
46 PetscCall((*r)(part)); in PetscPartitionerSetType()
65 PetscErrorCode PetscPartitionerGetType(PetscPartitioner part, PetscPartitionerType *name) in PetscPartitionerGetType() argument
68 PetscValidHeaderSpecific(part, PETSCPARTITIONER_CLASSID, 1); in PetscPartitionerGetType()
70 *name = ((PetscObject)part)->type_name; in PetscPartitionerGetType()
112 PetscErrorCode PetscPartitionerView(PetscPartitioner part, PetscViewer v) in PetscPartitionerView() argument
118 PetscValidHeaderSpecific(part, PETSCPARTITIONER_CLASSID, 1); in PetscPartitionerView()
119 if (!v) PetscCall(PetscViewerASCIIGetStdout(PetscObjectComm((PetscObject)part), &v)); in PetscPartitionerView()
121 if (isascii && part->printHeader) { in PetscPartitionerView()
122 PetscCallMPI(MPI_Comm_size(PetscObjectComm((PetscObject)part), &size)); in PetscPartitionerView()
124 PetscCall(PetscViewerASCIIPrintf(v, " type: %s\n", ((PetscObject)part)->type_name)); in PetscPartitionerView()
125 PetscCall(PetscViewerASCIIPrintf(v, " edge cut: %" PetscInt_FMT "\n", part->edgeCut)); in PetscPartitionerView()
126 PetscCall(PetscViewerASCIIPrintf(v, " balance: %.2g\n", (double)part->balance)); in PetscPartitionerView()
127 PetscCall(PetscViewerASCIIPrintf(v, " use vertex weights: %d\n", part->usevwgt)); in PetscPartitionerView()
128 PetscCall(PetscViewerASCIIPrintf(v, " use edge weights: %d\n", part->useewgt)); in PetscPartitionerView()
130 PetscTryTypeMethod(part, view, v); in PetscPartitionerView()
173 PetscErrorCode PetscPartitionerSetFromOptions(PetscPartitioner part) in PetscPartitionerSetFromOptions() argument
180 PetscValidHeaderSpecific(part, PETSCPARTITIONER_CLASSID, 1); in PetscPartitionerSetFromOptions()
181 PetscObjectOptionsBegin((PetscObject)part); in PetscPartitionerSetFromOptions()
182 PetscCall(PetscPartitionerGetType(part, ¤tType)); in PetscPartitionerSetFromOptions()
184 if (flg) PetscCall(PetscPartitionerSetType(part, name)); in PetscPartitionerSetFromOptions()
185 …"-petscpartitioner_use_vertex_weights", "Use vertex weights", "", part->usevwgt, &part->usevwgt, N… in PetscPartitionerSetFromOptions()
186 …ool("-petscpartitioner_use_edge_weights", "Use edge weights", "", part->useewgt, &part->useewgt, N… in PetscPartitionerSetFromOptions()
187 PetscTryTypeMethod(part, setfromoptions, PetscOptionsObject); in PetscPartitionerSetFromOptions()
188 PetscCall(PetscViewerDestroy(&part->viewer)); in PetscPartitionerSetFromOptions()
189 PetscCall(PetscViewerDestroy(&part->viewerGraph)); in PetscPartitionerSetFromOptions()
190 …er(((PetscObject)part)->comm, ((PetscObject)part)->options, ((PetscObject)part)->prefix, "-petscpa… in PetscPartitionerSetFromOptions()
191 …eViewer(((PetscObject)part)->comm, ((PetscObject)part)->options, ((PetscObject)part)->prefix, "-pe… in PetscPartitionerSetFromOptions()
193 PetscCall(PetscObjectProcessOptionsHandlers((PetscObject)part, PetscOptionsObject)); in PetscPartitionerSetFromOptions()
210 PetscErrorCode PetscPartitionerSetUp(PetscPartitioner part) in PetscPartitionerSetUp() argument
213 PetscValidHeaderSpecific(part, PETSCPARTITIONER_CLASSID, 1); in PetscPartitionerSetUp()
214 PetscTryTypeMethod(part, setup); in PetscPartitionerSetUp()
230 PetscErrorCode PetscPartitionerReset(PetscPartitioner part) in PetscPartitionerReset() argument
233 PetscValidHeaderSpecific(part, PETSCPARTITIONER_CLASSID, 1); in PetscPartitionerReset()
234 PetscTryTypeMethod(part, reset); in PetscPartitionerReset()
250 PetscErrorCode PetscPartitionerDestroy(PetscPartitioner *part) in PetscPartitionerDestroy() argument
253 if (!*part) PetscFunctionReturn(PETSC_SUCCESS); in PetscPartitionerDestroy()
254 PetscValidHeaderSpecific(*part, PETSCPARTITIONER_CLASSID, 1); in PetscPartitionerDestroy()
256 if (--((PetscObject)*part)->refct > 0) { in PetscPartitionerDestroy()
257 *part = NULL; in PetscPartitionerDestroy()
260 ((PetscObject)*part)->refct = 0; in PetscPartitionerDestroy()
262 PetscCall(PetscPartitionerReset(*part)); in PetscPartitionerDestroy()
264 PetscCall(PetscViewerDestroy(&(*part)->viewer)); in PetscPartitionerDestroy()
265 PetscCall(PetscViewerDestroy(&(*part)->viewerGraph)); in PetscPartitionerDestroy()
266 PetscTryTypeMethod(*part, destroy); in PetscPartitionerDestroy()
267 PetscCall(PetscHeaderDestroy(part)); in PetscPartitionerDestroy()
302 PetscErrorCode PetscPartitionerPartition(PetscPartitioner part, PetscInt nparts, PetscInt numVertic… in PetscPartitionerPartition() argument
305 PetscValidHeaderSpecific(part, PETSCPARTITIONER_CLASSID, 1); in PetscPartitionerPartition()
306 PetscValidLogicalCollectiveInt(part, nparts, 2); in PetscPartitionerPartition()
307 …PetscCheck(nparts > 0, PetscObjectComm((PetscObject)part), PETSC_ERR_ARG_OUTOFRANGE, "Number of pa… in PetscPartitionerPartition()
309 if (numVertices && !part->noGraph) { in PetscPartitionerPartition()
342 PetscCall(ISCreateStride(PetscObjectComm((PetscObject)part), numVertices, 0, 1, partition)); in PetscPartitionerPartition()
343 …} else PetscUseTypeMethod(part, partition, nparts, numVertices, start, adjacency, vertexSection, e… in PetscPartitionerPartition()
345 if (part->viewerGraph) { in PetscPartitionerPartition()
346 PetscViewer viewer = part->viewerGraph; in PetscPartitionerPartition()
368 if (part->viewer) { in PetscPartitionerPartition()
369 PetscCall(PetscViewerPushFormat(part->viewer, part->viewerFmt)); in PetscPartitionerPartition()
370 PetscCall(PetscPartitionerView(part, part->viewer)); in PetscPartitionerPartition()
371 PetscCall(PetscViewerPopFormat(part->viewer)); in PetscPartitionerPartition()
391 PetscErrorCode PetscPartitionerCreate(MPI_Comm comm, PetscPartitioner *part) in PetscPartitionerCreate() argument
397 PetscAssertPointer(part, 2); in PetscPartitionerCreate()
398 *part = NULL; in PetscPartitionerCreate()
408 *part = p; in PetscPartitionerCreate()