Lines Matching refs:is_local
116 if (osm->is_local) { in PCASMPrintSubdomains()
123 PetscCall(ISGetLocalSize(osm->is_local[i], &nidx)); in PCASMPrintSubdomains()
124 PetscCall(ISGetIndices(osm->is_local[i], &idx)); in PCASMPrintSubdomains()
126 PetscCall(ISRestoreIndices(osm->is_local[i], &idx)); in PCASMPrintSubdomains()
141 if (osm->is_local) { in PCASMPrintSubdomains()
220 if (osm->n_local_true > 1 && !osm->is_local) { in PCSetUp_ASM()
221 PetscCall(PetscMalloc1(osm->n_local_true, &osm->is_local)); in PCSetUp_ASM()
224 PetscCall(ISDuplicate(osm->is[i], &osm->is_local[i])); in PCSetUp_ASM()
225 PetscCall(ISCopy(osm->is[i], osm->is_local[i])); in PCSetUp_ASM()
228 osm->is_local[i] = osm->is[i]; in PCSetUp_ASM()
240 if (osm->is_local) PetscCall(ISSort(osm->is_local[i])); in PCSetUp_ASM()
314 …PetscCheck(!osm->is_local || osm->n_local_true == 1 || (osm->type != PC_ASM_INTERPOLATE && osm->ty… in PCSetUp_ASM()
315 …if (osm->is_local && osm->type != PC_ASM_BASIC && osm->loctype == PC_COMPOSITE_ADDITIVE) PetscCall… in PCSetUp_ASM()
360 PetscCall(ISGetLocalSize(osm->is_local[i], &m_local)); in PCSetUp_ASM()
361 PetscCall(ISGetIndices(osm->is_local[i], &idx_local)); in PCSetUp_ASM()
377 PetscCall(ISRestoreIndices(osm->is_local[i], &idx_local)); in PCSetUp_ASM()
673 PetscCall(PCASMDestroySubdomains(osm->n_local_true, &osm->is, &osm->is_local)); in PCReset_ASM()
682 osm->is_local = NULL; in PCReset_ASM()
752 static PetscErrorCode PCASMSetLocalSubdomains_ASM(PC pc, PetscInt n, IS is[], IS is_local[]) in PCASMSetLocalSubdomains_ASM() argument
765 if (is_local) { in PCASMSetLocalSubdomains_ASM()
766 for (i = 0; i < n; i++) PetscCall(PetscObjectReference((PetscObject)is_local[i])); in PCASMSetLocalSubdomains_ASM()
768 PetscCall(PCASMDestroySubdomains(osm->n_local_true, &osm->is, &osm->is_local)); in PCASMSetLocalSubdomains_ASM()
777 osm->is_local = NULL; in PCASMSetLocalSubdomains_ASM()
784 if (is_local) { in PCASMSetLocalSubdomains_ASM()
785 PetscCall(PetscMalloc1(n, &osm->is_local)); in PCASMSetLocalSubdomains_ASM()
786 for (i = 0; i < n; i++) osm->is_local[i] = is_local[i]; in PCASMSetLocalSubdomains_ASM()
791 PetscCall(ISDuplicate(osm->is_local[i], &osm->is[i])); in PCASMSetLocalSubdomains_ASM()
792 PetscCall(ISCopy(osm->is_local[i], osm->is[i])); in PCASMSetLocalSubdomains_ASM()
794 PetscCall(PetscObjectReference((PetscObject)osm->is_local[i])); in PCASMSetLocalSubdomains_ASM()
795 osm->is[i] = osm->is_local[i]; in PCASMSetLocalSubdomains_ASM()
804 static PetscErrorCode PCASMSetTotalSubdomains_ASM(PC pc, PetscInt N, IS *is, IS *is_local) in PCASMSetTotalSubdomains_ASM() argument
812 …PetscCheck(!is && !is_local, PetscObjectComm((PetscObject)pc), PETSC_ERR_SUP, "Use PCASMSetLocalSu… in PCASMSetTotalSubdomains_ASM()
823 PetscCall(PCASMDestroySubdomains(osm->n_local_true, &osm->is, &osm->is_local)); in PCASMSetTotalSubdomains_ASM()
827 osm->is_local = NULL; in PCASMSetTotalSubdomains_ASM()
963 PetscErrorCode PCASMSetLocalSubdomains(PC pc, PetscInt n, IS is[], IS is_local[]) in PCASMSetLocalSubdomains() argument
967 …PetscTryMethod(pc, "PCASMSetLocalSubdomains_C", (PC, PetscInt, IS[], IS[]), (pc, n, is, is_local)); in PCASMSetLocalSubdomains()
1005 PetscErrorCode PCASMSetTotalSubdomains(PC pc, PetscInt N, IS is[], IS is_local[]) in PCASMSetTotalSubdomains() argument
1009 …PetscTryMethod(pc, "PCASMSetTotalSubdomains_C", (PC, PetscInt, IS[], IS[]), (pc, N, is, is_local)); in PCASMSetTotalSubdomains()
1302 osm->is_local = NULL; in PCCreate_ASM()
1524 PetscErrorCode PCASMDestroySubdomains(PetscInt n, IS *is[], IS *is_local[]) in PCASMDestroySubdomains() argument
1535 if (is_local && *is_local) { in PCASMDestroySubdomains()
1536 PetscAssertPointer(*is_local, 3); in PCASMDestroySubdomains()
1537 for (i = 0; i < n; i++) PetscCall(ISDestroy(&(*is_local)[i])); in PCASMDestroySubdomains()
1538 PetscCall(PetscFree(*is_local)); in PCASMDestroySubdomains()
1572 …, PetscInt M, PetscInt N, PetscInt dof, PetscInt overlap, PetscInt *Nsub, IS *is[], IS *is_local[]) in PCASMCreateSubdomains2D() argument
1582 PetscCall(PetscMalloc1(*Nsub, is_local)); in PCASMCreateSubdomains2D()
1611 (*is_local)[loc_outer] = (*is)[loc_outer]; in PCASMCreateSubdomains2D()
1616 … PetscCall(ISCreateGeneral(PETSC_COMM_SELF, loc, idx, PETSC_COPY_VALUES, *is_local + loc_outer)); in PCASMCreateSubdomains2D()
1650 PetscErrorCode PCASMGetLocalSubdomains(PC pc, PetscInt *n, IS *is[], IS *is_local[]) in PCASMGetLocalSubdomains() argument
1659 if (is_local) PetscAssertPointer(is_local, 4); in PCASMGetLocalSubdomains()
1664 if (is_local) *is_local = osm->is_local; in PCASMGetLocalSubdomains()