Lines Matching refs:iis
25 …IS *iis; /* index sets that define the inner (conceptually, nonoverlapping) subdo… member
47 …balNumbering(PetscObjectComm((PetscObject)pc), osm->n, (PetscObject *)osm->iis, NULL, *numbering)); in PCGASMComputeGlobalSubdomainNumbering_Private()
75 PetscCall(ISGetLocalSize(osm->iis[i], &nidx)); in PCGASMSubdomainView_Private()
78 PetscCall(ISGetIndices(osm->iis[i], &idx)); in PCGASMSubdomainView_Private()
80 PetscCall(ISRestoreIndices(osm->iis[i], &idx)); in PCGASMSubdomainView_Private()
245 PETSC_INTERN PetscErrorCode PCGASMCreateLocalSubdomains(Mat A, PetscInt nloc, IS *iis[]);
331 PetscCall(PCGASMCreateSubdomains(pc->pmat, osm->N, &osm->n, &osm->iis)); in PCSetUp_GASM()
349 PetscCall(PCGASMCreateLocalSubdomains(pc->pmat, osm->n, &osm->iis)); in PCSetUp_GASM()
352 if (!osm->iis) { in PCSetUp_GASM()
358 PetscCall(PCGASMCreateLocalSubdomains(pc->pmat, osm->n, &osm->iis)); in PCSetUp_GASM()
368 PetscCall(ISDuplicate(osm->iis[i], (osm->ois) + i)); in PCSetUp_GASM()
369 PetscCall(ISCopy(osm->iis[i], osm->ois[i])); in PCSetUp_GASM()
371 PetscCall(PetscObjectReference((PetscObject)osm->iis[i])); in PCSetUp_GASM()
372 osm->ois[i] = osm->iis[i]; in PCSetUp_GASM()
397 PetscCall(ISSort(osm->iis[i])); in PCSetUp_GASM()
425 PetscCall(ISGetLocalSize(osm->iis[i], &nInnerIndices)); in PCSetUp_GASM()
464 PetscCall(ISGetLocalSize(osm->iis[i], &ini)); in PCSetUp_GASM()
829 PetscCall(PCGASMDestroySubdomains(osm->n, &osm->ois, &osm->iis)); in PCReset_GASM()
850 PetscCall(PCGASMDestroySubdomains(osm->n, &osm->ois, &osm->iis)); in PCDestroy_GASM()
914 PetscCall(PCGASMDestroySubdomains(osm->n, &osm->iis, &osm->ois)); in PCGASMSetTotalSubdomains()
915 osm->ois = osm->iis = NULL; in PCGASMSetTotalSubdomains()
926 static PetscErrorCode PCGASMSetSubdomains_GASM(PC pc, PetscInt n, IS iis[], IS ois[]) in PCGASMSetSubdomains_GASM() argument
935 PetscCall(PCGASMDestroySubdomains(osm->n, &osm->iis, &osm->ois)); in PCGASMSetSubdomains_GASM()
936 osm->iis = osm->ois = NULL; in PCGASMSetSubdomains_GASM()
952 PetscCheck(iis, PETSC_COMM_SELF, PETSC_ERR_ARG_NULL, "inner indices have to be provided "); in PCGASMSetSubdomains_GASM()
954 if (iis) { in PCGASMSetSubdomains_GASM()
955 PetscCall(PetscMalloc1(n, &osm->iis)); in PCGASMSetSubdomains_GASM()
957 PetscCall(PetscObjectReference((PetscObject)iis[i])); in PCGASMSetSubdomains_GASM()
958 osm->iis[i] = iis[i]; in PCGASMSetSubdomains_GASM()
969 if (osm->iis) { in PCGASMSetSubdomains_GASM()
975 PetscCall(ISGetIndices(osm->iis[i], &indices)); in PCGASMSetSubdomains_GASM()
976 PetscCall(ISGetLocalSize(osm->iis[i], &lsize)); in PCGASMSetSubdomains_GASM()
982 PetscCall(ISRestoreIndices(osm->iis[i], &indices)); in PCGASMSetSubdomains_GASM()
989 if (iis) osm->user_subdomains = PETSC_TRUE; in PCGASMSetSubdomains_GASM()
1087 PetscErrorCode PCGASMSetSubdomains(PC pc, PetscInt n, IS iis[], IS ois[]) in PCGASMSetSubdomains() argument
1093 PetscTryMethod(pc, "PCGASMSetSubdomains_C", (PC, PetscInt, IS[], IS[]), (pc, n, iis, ois)); in PCGASMSetSubdomains()
1291 osm->iis = NULL; in PCCreate_GASM()
1319 PetscErrorCode PCGASMCreateLocalSubdomains(Mat A, PetscInt nloc, IS *iis[]) in PCGASMCreateLocalSubdomains() argument
1456 *iis = is; in PCGASMCreateLocalSubdomains()
1460 …C_INTERN PetscErrorCode PCGASMCreateStraddlingSubdomains(Mat A, PetscInt N, PetscInt *n, IS *iis[]) in PCGASMCreateStraddlingSubdomains() argument
1463 PetscCall(MatSubdomainsCreateCoalesce(A, N, n, iis)); in PCGASMCreateStraddlingSubdomains()
1494 PetscErrorCode PCGASMCreateSubdomains(Mat A, PetscInt N, PetscInt *n, IS *iis[]) in PCGASMCreateSubdomains() argument
1500 PetscAssertPointer(iis, 4); in PCGASMCreateSubdomains()
1506 PetscCall(PCGASMCreateLocalSubdomains(A, *n, iis)); in PCGASMCreateSubdomains()
1508 PetscCall(PCGASMCreateStraddlingSubdomains(A, N, n, iis)); in PCGASMCreateSubdomains()
1534 PetscErrorCode PCGASMDestroySubdomains(PetscInt n, IS *iis[], IS *ois[]) in PCGASMDestroySubdomains() argument
1548 if (iis) { in PCGASMDestroySubdomains()
1549 PetscAssertPointer(iis, 2); in PCGASMDestroySubdomains()
1550 if (*iis) { in PCGASMDestroySubdomains()
1551 PetscAssertPointer(*iis, 2); in PCGASMDestroySubdomains()
1552 for (i = 0; i < n; i++) PetscCall(ISDestroy(&(*iis)[i])); in PCGASMDestroySubdomains()
1553 PetscCall(PetscFree(*iis)); in PCGASMDestroySubdomains()
1615 … Mdomains, PetscInt Ndomains, PetscInt dof, PetscInt overlap, PetscInt *nsub, IS *iis[], IS *ois[]) in PCGASMCreateSubdomains2D() argument
1629 IS **xis = NULL, **is = ois, **is_local = iis; in PCGASMCreateSubdomains2D()
1792 PetscErrorCode PCGASMGetSubdomains(PC pc, PetscInt *n, IS *iis[], IS *ois[]) in PCGASMGetSubdomains() argument
1804 if (iis) PetscCall(PetscMalloc1(osm->n, iis)); in PCGASMGetSubdomains()
1806 if (iis || ois) { in PCGASMGetSubdomains()
1808 if (iis) (*iis)[i] = osm->iis[i]; in PCGASMGetSubdomains()