Lines Matching refs:part
9 static PetscErrorCode PetscPartitionerReset_Shell(PetscPartitioner part) in PetscPartitionerReset_Shell() argument
11 PetscPartitioner_Shell *p = (PetscPartitioner_Shell *)part->data; in PetscPartitionerReset_Shell()
19 static PetscErrorCode PetscPartitionerDestroy_Shell(PetscPartitioner part) in PetscPartitionerDestroy_Shell() argument
22 PetscCall(PetscPartitionerReset_Shell(part)); in PetscPartitionerDestroy_Shell()
23 PetscCall(PetscFree(part->data)); in PetscPartitionerDestroy_Shell()
27 static PetscErrorCode PetscPartitionerView_Shell_ASCII(PetscPartitioner part, PetscViewer viewer) in PetscPartitionerView_Shell_ASCII() argument
29 PetscPartitioner_Shell *p = (PetscPartitioner_Shell *)part->data; in PetscPartitionerView_Shell_ASCII()
40 static PetscErrorCode PetscPartitionerView_Shell(PetscPartitioner part, PetscViewer viewer) in PetscPartitionerView_Shell() argument
45 PetscValidHeaderSpecific(part, PETSCPARTITIONER_CLASSID, 1); in PetscPartitionerView_Shell()
48 if (isascii) PetscCall(PetscPartitionerView_Shell_ASCII(part, viewer)); in PetscPartitionerView_Shell()
52 static PetscErrorCode PetscPartitionerSetFromOptions_Shell(PetscPartitioner part, PetscOptionItems … in PetscPartitionerSetFromOptions_Shell() argument
60 PetscCallMPI(MPI_Comm_rank(PetscObjectComm((PetscObject)part), &rank)); in PetscPartitionerSetFromOptions_Shell()
62 PetscCall(PetscPartitionerShellGetRandom(part, &random)); in PetscPartitionerSetFromOptions_Shell()
64 if (set) PetscCall(PetscPartitionerShellSetRandom(part, random)); in PetscPartitionerSetFromOptions_Shell()
67 …PetscCheck(!(flgSizes ^ flgPoints), PetscObjectComm((PetscObject)part), PETSC_ERR_ARG_WRONG, "Must… in PetscPartitionerSetFromOptions_Shell()
72 …PetscCheck(Np == Npoints, PetscObjectComm((PetscObject)part), PETSC_ERR_ARG_WRONG, "Number of inpu… in PetscPartitionerSetFromOptions_Shell()
73 if (!rank) PetscCall(PetscPartitionerShellSetPartition(part, Npart, sizes, points)); in PetscPartitionerSetFromOptions_Shell()
76 PetscCall(PetscPartitionerShellSetPartition(part, Npart, sizes, points)); in PetscPartitionerSetFromOptions_Shell()
83 static PetscErrorCode PetscPartitionerPartition_Shell(PetscPartitioner part, PetscInt nparts, Petsc… in PetscPartitionerPartition_Shell() argument
85 PetscPartitioner_Shell *p = (PetscPartitioner_Shell *)part->data; in PetscPartitionerPartition_Shell()
94 PetscCallMPI(MPI_Comm_rank(PetscObjectComm((PetscObject)part), &rank)); in PetscPartitionerPartition_Shell()
113 PetscCall(PetscPartitionerShellSetPartition(part, nparts, sizes, points)); in PetscPartitionerPartition_Shell()
116 …PetscCheck(p->section, PetscObjectComm((PetscObject)part), PETSC_ERR_ARG_WRONG, "Shell partitioner… in PetscPartitionerPartition_Shell()
127 static PetscErrorCode PetscPartitionerInitialize_Shell(PetscPartitioner part) in PetscPartitionerInitialize_Shell() argument
130 …part->noGraph = PETSC_TRUE; /* PetscPartitionerShell cannot overload the partition cal… in PetscPartitionerInitialize_Shell()
131 part->ops->view = PetscPartitionerView_Shell; in PetscPartitionerInitialize_Shell()
132 part->ops->setfromoptions = PetscPartitionerSetFromOptions_Shell; in PetscPartitionerInitialize_Shell()
133 part->ops->reset = PetscPartitionerReset_Shell; in PetscPartitionerInitialize_Shell()
134 part->ops->destroy = PetscPartitionerDestroy_Shell; in PetscPartitionerInitialize_Shell()
135 part->ops->partition = PetscPartitionerPartition_Shell; in PetscPartitionerInitialize_Shell()
150 PETSC_EXTERN PetscErrorCode PetscPartitionerCreate_Shell(PetscPartitioner part) in PetscPartitionerCreate_Shell() argument
155 PetscValidHeaderSpecific(part, PETSCPARTITIONER_CLASSID, 1); in PetscPartitionerCreate_Shell()
157 part->data = p; in PetscPartitionerCreate_Shell()
159 PetscCall(PetscPartitionerInitialize_Shell(part)); in PetscPartitionerCreate_Shell()
182 PetscErrorCode PetscPartitionerShellSetPartition(PetscPartitioner part, PetscInt size, const PetscI… in PetscPartitionerShellSetPartition() argument
184 PetscPartitioner_Shell *p = (PetscPartitioner_Shell *)part->data; in PetscPartitionerShellSetPartition()
188 PetscValidHeaderSpecificType(part, PETSCPARTITIONER_CLASSID, 1, PETSCPARTITIONERSHELL); in PetscPartitionerShellSetPartition()
193 PetscCall(PetscSectionCreate(PetscObjectComm((PetscObject)part), &p->section)); in PetscPartitionerShellSetPartition()
200 …PetscCall(ISCreateGeneral(PetscObjectComm((PetscObject)part), numPoints, points, PETSC_COPY_VALUES… in PetscPartitionerShellSetPartition()
217 PetscErrorCode PetscPartitionerShellSetRandom(PetscPartitioner part, PetscBool random) in PetscPartitionerShellSetRandom() argument
219 PetscPartitioner_Shell *p = (PetscPartitioner_Shell *)part->data; in PetscPartitionerShellSetRandom()
222 PetscValidHeaderSpecificType(part, PETSCPARTITIONER_CLASSID, 1, PETSCPARTITIONERSHELL); in PetscPartitionerShellSetRandom()
242 PetscErrorCode PetscPartitionerShellGetRandom(PetscPartitioner part, PetscBool *random) in PetscPartitionerShellGetRandom() argument
244 PetscPartitioner_Shell *p = (PetscPartitioner_Shell *)part->data; in PetscPartitionerShellGetRandom()
247 PetscValidHeaderSpecificType(part, PETSCPARTITIONER_CLASSID, 1, PETSCPARTITIONERSHELL); in PetscPartitionerShellGetRandom()