Lines Matching refs:dm

42 PetscErrorCode DMCompositeSetCoupling(DM dm, PetscErrorCode (*FormCoupleLocations)(DM, Mat, PetscIn…  in DMCompositeSetCoupling()  argument
44 DM_Composite *com = (DM_Composite *)dm->data; in DMCompositeSetCoupling()
48 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMCOMPOSITE, &flg)); in DMCompositeSetCoupling()
49 …PetscCheck(flg, PetscObjectComm((PetscObject)dm), PETSC_ERR_USER, "Not for type %s", ((PetscObject… in DMCompositeSetCoupling()
54 static PetscErrorCode DMDestroy_Composite(DM dm) in DMDestroy_Composite() argument
57 DM_Composite *com = (DM_Composite *)dm->data; in DMDestroy_Composite()
64 PetscCall(DMDestroy(&prev->dm)); in DMDestroy_Composite()
68 PetscCall(PetscObjectComposeFunction((PetscObject)dm, "DMSetUpGLVisViewer_C", NULL)); in DMDestroy_Composite()
74 static PetscErrorCode DMView_Composite(DM dm, PetscViewer v) in DMView_Composite() argument
77 DM_Composite *com = (DM_Composite *)dm->data; in DMView_Composite()
85 …PetscCall(PetscViewerASCIIPrintf(v, "DM (%s)\n", ((PetscObject)dm)->prefix ? ((PetscObject)dm)->pr… in DMView_Composite()
89 …erASCIIPrintf(v, "Link %" PetscInt_FMT ": DM of type %s\n", i, ((PetscObject)lnk->dm)->type_name)); in DMView_Composite()
91 PetscCall(DMView(lnk->dm, v)); in DMView_Composite()
99 static PetscErrorCode DMSetUp_Composite(DM dm) in DMSetUp_Composite() argument
103 DM_Composite *com = (DM_Composite *)dm->data; in DMSetUp_Composite()
108 …PetscCheck(!com->setup, PetscObjectComm((PetscObject)dm), PETSC_ERR_ARG_WRONGSTATE, "Packer has al… in DMSetUp_Composite()
109 PetscCall(PetscLayoutCreate(PetscObjectComm((PetscObject)dm), &map)); in DMSetUp_Composite()
119 PetscCallMPI(MPI_Comm_rank(PetscObjectComm((PetscObject)dm), &rank)); in DMSetUp_Composite()
120 PetscCallMPI(MPI_Comm_size(PetscObjectComm((PetscObject)dm), &size)); in DMSetUp_Composite()
126 …ather(&next->grstart, 1, MPIU_INT, next->grstarts, 1, MPIU_INT, PetscObjectComm((PetscObject)dm))); in DMSetUp_Composite()
149 PetscErrorCode DMCompositeGetNumberDM(DM dm, PetscInt *nDM) in DMCompositeGetNumberDM() argument
151 DM_Composite *com = (DM_Composite *)dm->data; in DMCompositeGetNumberDM()
155 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCompositeGetNumberDM()
156 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMCOMPOSITE, &flg)); in DMCompositeGetNumberDM()
157 …PetscCheck(flg, PetscObjectComm((PetscObject)dm), PETSC_ERR_USER, "Not for type %s", ((PetscObject… in DMCompositeGetNumberDM()
182 PetscErrorCode DMCompositeGetAccess(DM dm, Vec gvec, ...) in DMCompositeGetAccess() argument
186 DM_Composite *com = (DM_Composite *)dm->data; in DMCompositeGetAccess()
191 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCompositeGetAccess()
193 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMCOMPOSITE, &flg)); in DMCompositeGetAccess()
194 …PetscCheck(flg, PetscObjectComm((PetscObject)dm), PETSC_ERR_USER, "Not for type %s", ((PetscObject… in DMCompositeGetAccess()
196 if (!com->setup) PetscCall(DMSetUp(dm)); in DMCompositeGetAccess()
205 PetscCall(DMGetGlobalVector(next->dm, vec)); in DMCompositeGetAccess()
247 PetscErrorCode DMCompositeGetAccessArray(DM dm, Vec pvec, PetscInt nwanted, const PetscInt wanted[]… in DMCompositeGetAccessArray() argument
251 DM_Composite *com = (DM_Composite *)dm->data; in DMCompositeGetAccessArray()
256 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCompositeGetAccessArray()
258 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMCOMPOSITE, &flg)); in DMCompositeGetAccessArray()
259 …PetscCheck(flg, PetscObjectComm((PetscObject)dm), PETSC_ERR_USER, "Not for type %s", ((PetscObject… in DMCompositeGetAccessArray()
260 if (!com->setup) PetscCall(DMSetUp(dm)); in DMCompositeGetAccessArray()
266 PetscCall(DMGetGlobalVector(link->dm, &v)); in DMCompositeGetAccessArray()
309 PetscErrorCode DMCompositeGetLocalAccessArray(DM dm, Vec pvec, PetscInt nwanted, const PetscInt wan… in DMCompositeGetLocalAccessArray() argument
313 DM_Composite *com = (DM_Composite *)dm->data; in DMCompositeGetLocalAccessArray()
319 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCompositeGetLocalAccessArray()
321 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMCOMPOSITE, &flg)); in DMCompositeGetLocalAccessArray()
322 …PetscCheck(flg, PetscObjectComm((PetscObject)dm), PETSC_ERR_USER, "Not for type %s", ((PetscObject… in DMCompositeGetLocalAccessArray()
323 if (!com->setup) PetscCall(DMSetUp(dm)); in DMCompositeGetLocalAccessArray()
329 PetscCall(DMGetLocalVector(link->dm, &v)); in DMCompositeGetLocalAccessArray()
368 PetscErrorCode DMCompositeRestoreAccess(DM dm, Vec gvec, ...) in DMCompositeRestoreAccess() argument
372 DM_Composite *com = (DM_Composite *)dm->data; in DMCompositeRestoreAccess()
377 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCompositeRestoreAccess()
379 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMCOMPOSITE, &flg)); in DMCompositeRestoreAccess()
380 …PetscCheck(flg, PetscObjectComm((PetscObject)dm), PETSC_ERR_USER, "Not for type %s", ((PetscObject… in DMCompositeRestoreAccess()
382 if (!com->setup) PetscCall(DMSetUp(dm)); in DMCompositeRestoreAccess()
393 PetscCall(DMRestoreGlobalVector(next->dm, vec)); in DMCompositeRestoreAccess()
417 PetscErrorCode DMCompositeRestoreAccessArray(DM dm, Vec pvec, PetscInt nwanted, const PetscInt want… in DMCompositeRestoreAccessArray() argument
421 DM_Composite *com = (DM_Composite *)dm->data; in DMCompositeRestoreAccessArray()
426 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCompositeRestoreAccessArray()
428 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMCOMPOSITE, &flg)); in DMCompositeRestoreAccessArray()
429 …PetscCheck(flg, PetscObjectComm((PetscObject)dm), PETSC_ERR_USER, "Not for type %s", ((PetscObject… in DMCompositeRestoreAccessArray()
430 if (!com->setup) PetscCall(DMSetUp(dm)); in DMCompositeRestoreAccessArray()
437 PetscCall(DMRestoreGlobalVector(link->dm, &vecs[wnum])); in DMCompositeRestoreAccessArray()
466 PetscErrorCode DMCompositeRestoreLocalAccessArray(DM dm, Vec pvec, PetscInt nwanted, const PetscInt… in DMCompositeRestoreLocalAccessArray() argument
470 DM_Composite *com = (DM_Composite *)dm->data; in DMCompositeRestoreLocalAccessArray()
475 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCompositeRestoreLocalAccessArray()
477 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMCOMPOSITE, &flg)); in DMCompositeRestoreLocalAccessArray()
478 …PetscCheck(flg, PetscObjectComm((PetscObject)dm), PETSC_ERR_USER, "Not for type %s", ((PetscObject… in DMCompositeRestoreLocalAccessArray()
479 if (!com->setup) PetscCall(DMSetUp(dm)); in DMCompositeRestoreLocalAccessArray()
486 PetscCall(DMRestoreLocalVector(link->dm, &vecs[wnum])); in DMCompositeRestoreLocalAccessArray()
514 PetscErrorCode DMCompositeScatter(DM dm, Vec gvec, ...) in DMCompositeScatter() argument
519 DM_Composite *com = (DM_Composite *)dm->data; in DMCompositeScatter()
523 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCompositeScatter()
525 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMCOMPOSITE, &flg)); in DMCompositeScatter()
526 …PetscCheck(flg, PetscObjectComm((PetscObject)dm), PETSC_ERR_USER, "Not for type %s", ((PetscObject… in DMCompositeScatter()
527 if (!com->setup) PetscCall(DMSetUp(dm)); in DMCompositeScatter()
538 PetscCall(DMGetGlobalVector(next->dm, &global)); in DMCompositeScatter()
541 PetscCall(DMGlobalToLocalBegin(next->dm, global, INSERT_VALUES, local)); in DMCompositeScatter()
542 PetscCall(DMGlobalToLocalEnd(next->dm, global, INSERT_VALUES, local)); in DMCompositeScatter()
545 PetscCall(DMRestoreGlobalVector(next->dm, &global)); in DMCompositeScatter()
571 PetscErrorCode DMCompositeScatterArray(DM dm, Vec gvec, Vec *lvecs) in DMCompositeScatterArray() argument
575 DM_Composite *com = (DM_Composite *)dm->data; in DMCompositeScatterArray()
579 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCompositeScatterArray()
581 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMCOMPOSITE, &flg)); in DMCompositeScatterArray()
582 …PetscCheck(flg, PetscObjectComm((PetscObject)dm), PETSC_ERR_USER, "Not for type %s", ((PetscObject… in DMCompositeScatterArray()
583 if (!com->setup) PetscCall(DMSetUp(dm)); in DMCompositeScatterArray()
591 PetscCall(DMGetGlobalVector(next->dm, &global)); in DMCompositeScatterArray()
594 PetscCall(DMGlobalToLocalBegin(next->dm, global, INSERT_VALUES, lvecs[i])); in DMCompositeScatterArray()
595 PetscCall(DMGlobalToLocalEnd(next->dm, global, INSERT_VALUES, lvecs[i])); in DMCompositeScatterArray()
598 PetscCall(DMRestoreGlobalVector(next->dm, &global)); in DMCompositeScatterArray()
624 PetscErrorCode DMCompositeGather(DM dm, InsertMode imode, Vec gvec, ...) in DMCompositeGather() argument
628 DM_Composite *com = (DM_Composite *)dm->data; in DMCompositeGather()
633 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCompositeGather()
635 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMCOMPOSITE, &flg)); in DMCompositeGather()
636 …PetscCheck(flg, PetscObjectComm((PetscObject)dm), PETSC_ERR_USER, "Not for type %s", ((PetscObject… in DMCompositeGather()
637 if (!com->setup) PetscCall(DMSetUp(dm)); in DMCompositeGather()
648 PetscCall(DMGetGlobalVector(next->dm, &global)); in DMCompositeGather()
651 PetscCall(DMLocalToGlobalBegin(next->dm, local, imode, global)); in DMCompositeGather()
652 PetscCall(DMLocalToGlobalEnd(next->dm, local, imode, global)); in DMCompositeGather()
655 PetscCall(DMRestoreGlobalVector(next->dm, &global)); in DMCompositeGather()
682 PetscErrorCode DMCompositeGatherArray(DM dm, InsertMode imode, Vec gvec, Vec *lvecs) in DMCompositeGatherArray() argument
685 DM_Composite *com = (DM_Composite *)dm->data; in DMCompositeGatherArray()
690 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCompositeGatherArray()
692 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMCOMPOSITE, &flg)); in DMCompositeGatherArray()
693 …PetscCheck(flg, PetscObjectComm((PetscObject)dm), PETSC_ERR_USER, "Not for type %s", ((PetscObject… in DMCompositeGatherArray()
694 if (!com->setup) PetscCall(DMSetUp(dm)); in DMCompositeGatherArray()
702 PetscCall(DMGetGlobalVector(next->dm, &global)); in DMCompositeGatherArray()
705 PetscCall(DMLocalToGlobalBegin(next->dm, lvecs[i], imode, global)); in DMCompositeGatherArray()
706 PetscCall(DMLocalToGlobalEnd(next->dm, lvecs[i], imode, global)); in DMCompositeGatherArray()
709 PetscCall(DMRestoreGlobalVector(next->dm, &global)); in DMCompositeGatherArray()
730 PetscErrorCode DMCompositeAddDM(DM dmc, DM dm) in DMCompositeAddDM() argument
740 PetscValidHeaderSpecific(dm, DM_CLASSID, 2); in DMCompositeAddDM()
742 …PetscCheck(flg, PetscObjectComm((PetscObject)dm), PETSC_ERR_USER, "Not for type %s", ((PetscObject… in DMCompositeAddDM()
748 PetscCall(PetscObjectReference((PetscObject)dm)); in DMCompositeAddDM()
749 …PetscCall(DMCreateGlobalVector(dm, &global)); // Not using DMGetGlobalVector() since it will stash… in DMCompositeAddDM()
752 …PetscCall(DMCreateLocalVector(dm, &local)); // Not using DMGetLocalVector(), same reason as abov… in DMCompositeAddDM()
758 mine->dm = dm; in DMCompositeAddDM()
779 DM dm; in VecView_DMComposite() local
785 PetscCall(VecGetDM(gvec, &dm)); in VecView_DMComposite()
786 …PetscCheck(dm, PetscObjectComm((PetscObject)gvec), PETSC_ERR_ARG_WRONG, "Vector not generated from… in VecView_DMComposite()
787 com = (DM_Composite *)dm->data; in VecView_DMComposite()
804 PetscCall(DMGetGlobalVector(next->dm, &vec)); in VecView_DMComposite()
811 PetscCall(DMRestoreGlobalVector(next->dm, &vec)); in VecView_DMComposite()
821 static PetscErrorCode DMCreateGlobalVector_Composite(DM dm, Vec *gvec) in DMCreateGlobalVector_Composite() argument
823 DM_Composite *com = (DM_Composite *)dm->data; in DMCreateGlobalVector_Composite()
826 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCreateGlobalVector_Composite()
827 PetscCall(DMSetFromOptions(dm)); in DMCreateGlobalVector_Composite()
828 PetscCall(DMSetUp(dm)); in DMCreateGlobalVector_Composite()
829 PetscCall(VecCreate(PetscObjectComm((PetscObject)dm), gvec)); in DMCreateGlobalVector_Composite()
830 PetscCall(VecSetType(*gvec, dm->vectype)); in DMCreateGlobalVector_Composite()
832 PetscCall(VecSetDM(*gvec, dm)); in DMCreateGlobalVector_Composite()
837 static PetscErrorCode DMCreateLocalVector_Composite(DM dm, Vec *lvec) in DMCreateLocalVector_Composite() argument
839 DM_Composite *com = (DM_Composite *)dm->data; in DMCreateLocalVector_Composite()
842 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCreateLocalVector_Composite()
844 PetscCall(DMSetFromOptions(dm)); in DMCreateLocalVector_Composite()
845 PetscCall(DMSetUp(dm)); in DMCreateLocalVector_Composite()
848 PetscCall(VecSetType(*lvec, dm->vectype)); in DMCreateLocalVector_Composite()
850 PetscCall(VecSetDM(*lvec, dm)); in DMCreateLocalVector_Composite()
875 PetscErrorCode DMCompositeGetISLocalToGlobalMappings(DM dm, ISLocalToGlobalMapping *ltogs[]) in DMCompositeGetISLocalToGlobalMappings() argument
880 DM_Composite *com = (DM_Composite *)dm->data; in DMCompositeGetISLocalToGlobalMappings()
884 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCompositeGetISLocalToGlobalMappings()
885 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMCOMPOSITE, &flg)); in DMCompositeGetISLocalToGlobalMappings()
886 …PetscCheck(flg, PetscObjectComm((PetscObject)dm), PETSC_ERR_USER, "Not for type %s", ((PetscObject… in DMCompositeGetISLocalToGlobalMappings()
887 PetscCall(DMSetUp(dm)); in DMCompositeGetISLocalToGlobalMappings()
890 PetscCallMPI(MPI_Comm_rank(PetscObjectComm((PetscObject)dm), &rank)); in DMCompositeGetISLocalToGlobalMappings()
901 PetscCall(DMGetLocalToGlobalMapping(next->dm, &ltog)); in DMCompositeGetISLocalToGlobalMappings()
907 PetscCall(DMGetGlobalVector(next->dm, &global)); in DMCompositeGetISLocalToGlobalMappings()
929 …PetscCall(ISLocalToGlobalMappingCreate(PetscObjectComm((PetscObject)dm), 1, n, idx, PETSC_OWN_POIN… in DMCompositeGetISLocalToGlobalMappings()
930 PetscCall(DMRestoreGlobalVector(next->dm, &global)); in DMCompositeGetISLocalToGlobalMappings()
967 PetscErrorCode DMCompositeGetLocalISs(DM dm, IS *is[]) in DMCompositeGetLocalISs() argument
969 DM_Composite *com = (DM_Composite *)dm->data; in DMCompositeGetLocalISs()
975 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCompositeGetLocalISs()
977 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMCOMPOSITE, &flg)); in DMCompositeGetLocalISs()
978 …PetscCheck(flg, PetscObjectComm((PetscObject)dm), PETSC_ERR_USER, "Not for type %s", ((PetscObject… in DMCompositeGetLocalISs()
983 PetscCall(DMGetBlockSize(link->dm, &bs)); in DMCompositeGetLocalISs()
1018 PetscErrorCode DMCompositeGetGlobalISs(DM dm, IS *is[]) in DMCompositeGetGlobalISs() argument
1023 DM_Composite *com = (DM_Composite *)dm->data; in DMCompositeGetGlobalISs()
1027 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCompositeGetGlobalISs()
1028 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMCOMPOSITE, &flg)); in DMCompositeGetGlobalISs()
1029 …PetscCheck(flg, PetscObjectComm((PetscObject)dm), PETSC_ERR_USER, "Not for type %s", ((PetscObject… in DMCompositeGetGlobalISs()
1030 …PetscCheck(dm->setupcalled, PetscObjectComm((PetscObject)dm), PETSC_ERR_ARG_WRONGSTATE, "Must call… in DMCompositeGetGlobalISs()
1033 PetscCallMPI(MPI_Comm_rank(PetscObjectComm((PetscObject)dm), &rank)); in DMCompositeGetGlobalISs()
1039 …PetscCall(ISCreateStride(PetscObjectComm((PetscObject)dm), next->n, next->grstart, 1, &(*is)[cnt])… in DMCompositeGetGlobalISs()
1040 PetscCall(DMGetDS(dm, &prob)); in DMCompositeGetGlobalISs()
1064 static PetscErrorCode DMCreateFieldIS_Composite(DM dm, PetscInt *numFields, char ***fieldNames, IS … in DMCreateFieldIS_Composite() argument
1071 PetscCall(DMCompositeGetNumberDM(dm, &nDM)); in DMCreateFieldIS_Composite()
1073 PetscCall(DMCompositeGetGlobalISs(dm, fields)); in DMCreateFieldIS_Composite()
1077 PetscCall(DMCompositeGetEntriesArray(dm, dms)); in DMCreateFieldIS_Composite()
1083 splitname = ((PetscObject)dm)->name; in DMCreateFieldIS_Composite()
1111 static PetscErrorCode DMCreateFieldDecomposition_Composite(DM dm, PetscInt *len, char ***namelist, … in DMCreateFieldDecomposition_Composite() argument
1117 PetscCall(DMCreateFieldIS_Composite(dm, len, namelist, islist)); in DMCreateFieldDecomposition_Composite()
1119 PetscCall(DMCompositeGetNumberDM(dm, &nDM)); in DMCreateFieldDecomposition_Composite()
1121 PetscCall(DMCompositeGetEntriesArray(dm, *dmlist)); in DMCreateFieldDecomposition_Composite()
1145 PetscErrorCode DMCompositeGetLocalVectors(DM dm, ...) in DMCompositeGetLocalVectors() argument
1149 DM_Composite *com = (DM_Composite *)dm->data; in DMCompositeGetLocalVectors()
1153 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCompositeGetLocalVectors()
1154 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMCOMPOSITE, &flg)); in DMCompositeGetLocalVectors()
1155 …PetscCheck(flg, PetscObjectComm((PetscObject)dm), PETSC_ERR_USER, "Not for type %s", ((PetscObject… in DMCompositeGetLocalVectors()
1158 va_start(Argp, dm); in DMCompositeGetLocalVectors()
1162 if (vec) PetscCall(DMGetLocalVector(next->dm, vec)); in DMCompositeGetLocalVectors()
1186 PetscErrorCode DMCompositeRestoreLocalVectors(DM dm, ...) in DMCompositeRestoreLocalVectors() argument
1190 DM_Composite *com = (DM_Composite *)dm->data; in DMCompositeRestoreLocalVectors()
1194 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCompositeRestoreLocalVectors()
1195 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMCOMPOSITE, &flg)); in DMCompositeRestoreLocalVectors()
1196 …PetscCheck(flg, PetscObjectComm((PetscObject)dm), PETSC_ERR_USER, "Not for type %s", ((PetscObject… in DMCompositeRestoreLocalVectors()
1199 va_start(Argp, dm); in DMCompositeRestoreLocalVectors()
1203 if (vec) PetscCall(DMRestoreLocalVector(next->dm, vec)); in DMCompositeRestoreLocalVectors()
1230 PetscErrorCode DMCompositeGetEntries(DM dm, ...) in DMCompositeGetEntries() argument
1234 DM_Composite *com = (DM_Composite *)dm->data; in DMCompositeGetEntries()
1238 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCompositeGetEntries()
1239 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMCOMPOSITE, &flg)); in DMCompositeGetEntries()
1240 …PetscCheck(flg, PetscObjectComm((PetscObject)dm), PETSC_ERR_USER, "Not for type %s", ((PetscObject… in DMCompositeGetEntries()
1243 va_start(Argp, dm); in DMCompositeGetEntries()
1247 if (dmn) *dmn = next->dm; in DMCompositeGetEntries()
1271 PetscErrorCode DMCompositeGetEntriesArray(DM dm, DM dms[]) in DMCompositeGetEntriesArray() argument
1274 DM_Composite *com = (DM_Composite *)dm->data; in DMCompositeGetEntriesArray()
1279 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCompositeGetEntriesArray()
1280 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMCOMPOSITE, &flg)); in DMCompositeGetEntriesArray()
1281 …PetscCheck(flg, PetscObjectComm((PetscObject)dm), PETSC_ERR_USER, "Not for type %s", ((PetscObject… in DMCompositeGetEntriesArray()
1283 for (next = com->next, i = 0; next; next = next->next, i++) dms[i] = next->dm; in DMCompositeGetEntriesArray()
1288 DM dm; member
1299 PetscCall(DMCompositeGetNumberDM(ctx->dm, &n)); in DestroyGLVisViewerCtx_Private()
1302 PetscCall(DMDestroy(&ctx->dm)); in DestroyGLVisViewerCtx_Private()
1314 PetscCall(DMCompositeGetNumberDM(ctx->dm, &n)); in DMCompositeSampleGLVisFields_Private()
1315 PetscCall(DMCompositeGetAccessArray(ctx->dm, X, n, NULL, ctx->vecs)); in DMCompositeSampleGLVisFields_Private()
1327 PetscCall(DMCompositeRestoreAccessArray(ctx->dm, X, n, NULL, ctx->vecs)); in DMCompositeSampleGLVisFields_Private()
1333 DM dm = (DM)odm, *dms; in DMSetUpGLVisViewer_Composite() local
1341 PetscCall(PetscObjectReference((PetscObject)dm)); in DMSetUpGLVisViewer_Composite()
1342 ctx->dm = dm; in DMSetUpGLVisViewer_Composite()
1343 PetscCall(DMCompositeGetNumberDM(dm, &n)); in DMSetUpGLVisViewer_Composite()
1345 PetscCall(DMCompositeGetEntriesArray(dm, dms)); in DMSetUpGLVisViewer_Composite()
1381 DM dm; in DMRefine_Composite() local
1392 PetscCall(DMRefine(next->dm, comm, &dm)); in DMRefine_Composite()
1393 PetscCall(DMCompositeAddDM(*fine, dm)); in DMRefine_Composite()
1394 PetscCall(PetscObjectDereference((PetscObject)dm)); in DMRefine_Composite()
1404 DM dm; in DMCoarsen_Composite() local
1415 PetscCall(DMCoarsen(next->dm, comm, &dm)); in DMCoarsen_Composite()
1416 PetscCall(DMCompositeAddDM(*fine, dm)); in DMCoarsen_Composite()
1417 PetscCall(PetscObjectDereference((PetscObject)dm)); in DMCoarsen_Composite()
1455 if (!v) PetscCall(DMCreateInterpolation(nextc->dm, nextf->dm, &mats[i * nDM + i], NULL)); in DMCreateInterpolation_Composite()
1456 else PetscCall(DMCreateInterpolation(nextc->dm, nextf->dm, &mats[i * nDM + i], &vecs[i])); in DMCreateInterpolation_Composite()
1469 static PetscErrorCode DMGetLocalToGlobalMapping_Composite(DM dm) in DMGetLocalToGlobalMapping_Composite() argument
1471 DM_Composite *com = (DM_Composite *)dm->data; in DMGetLocalToGlobalMapping_Composite()
1477 PetscCall(DMCompositeGetISLocalToGlobalMappings(dm, &ltogs)); in DMGetLocalToGlobalMapping_Composite()
1478 …(ISLocalToGlobalMappingConcatenate(PetscObjectComm((PetscObject)dm), com->nDM, ltogs, &dm->ltogmap… in DMGetLocalToGlobalMapping_Composite()
1484 static PetscErrorCode DMCreateColoring_Composite(DM dm, ISColoringType ctype, ISColoring *coloring) in DMCreateColoring_Composite() argument
1490 DM_Composite *com = (DM_Composite *)dm->data; in DMCreateColoring_Composite()
1493 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCreateColoring_Composite()
1494 …PetscCheck(ctype != IS_COLORING_LOCAL, PetscObjectComm((PetscObject)dm), PETSC_ERR_SUP, "Only glob… in DMCreateColoring_Composite()
1495 …PetscCheck(ctype == IS_COLORING_GLOBAL, PetscObjectComm((PetscObject)dm), PETSC_ERR_ARG_OUTOFRANGE… in DMCreateColoring_Composite()
1499 …PetscCall(PetscOptionsGetBool(((PetscObject)dm)->options, ((PetscObject)dm)->prefix, "-dmcomposite… in DMCreateColoring_Composite()
1507 PetscCallMPI(MPI_Comm_rank(PetscObjectComm((PetscObject)dm), &rank)); in DMCreateColoring_Composite()
1512 PetscCall(DMCreateColoring(next->dm, IS_COLORING_GLOBAL, &lcoloring)); in DMCreateColoring_Composite()
1519 …PetscCall(ISColoringCreate(PetscObjectComm((PetscObject)dm), maxcol, n, colors, PETSC_OWN_POINTER,… in DMCreateColoring_Composite()
1523 static PetscErrorCode DMGlobalToLocalBegin_Composite(DM dm, Vec gvec, InsertMode mode, Vec lvec) in DMGlobalToLocalBegin_Composite() argument
1528 DM_Composite *com = (DM_Composite *)dm->data; in DMGlobalToLocalBegin_Composite()
1531 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMGlobalToLocalBegin_Composite()
1534 if (!com->setup) PetscCall(DMSetUp(dm)); in DMGlobalToLocalBegin_Composite()
1547 PetscCall(DMGetGlobalVector(next->dm, &global)); in DMGlobalToLocalBegin_Composite()
1550 PetscCall(DMGetLocalVector(next->dm, &local)); in DMGlobalToLocalBegin_Composite()
1552 PetscCall(DMGlobalToLocalBegin(next->dm, global, mode, local)); in DMGlobalToLocalBegin_Composite()
1553 PetscCall(DMGlobalToLocalEnd(next->dm, global, mode, local)); in DMGlobalToLocalBegin_Composite()
1556 PetscCall(DMRestoreGlobalVector(next->dm, &global)); in DMGlobalToLocalBegin_Composite()
1557 PetscCall(DMRestoreLocalVector(next->dm, &local)); in DMGlobalToLocalBegin_Composite()
1568 static PetscErrorCode DMGlobalToLocalEnd_Composite(DM dm, Vec gvec, InsertMode mode, Vec lvec) in DMGlobalToLocalEnd_Composite() argument
1571 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMGlobalToLocalEnd_Composite()
1577 static PetscErrorCode DMLocalToGlobalBegin_Composite(DM dm, Vec lvec, InsertMode mode, Vec gvec) in DMLocalToGlobalBegin_Composite() argument
1582 DM_Composite *com = (DM_Composite *)dm->data; in DMLocalToGlobalBegin_Composite()
1585 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMLocalToGlobalBegin_Composite()
1589 if (!com->setup) PetscCall(DMSetUp(dm)); in DMLocalToGlobalBegin_Composite()
1601 PetscCall(DMGetLocalVector(next->dm, &local)); in DMLocalToGlobalBegin_Composite()
1603 PetscCall(DMGetGlobalVector(next->dm, &global)); in DMLocalToGlobalBegin_Composite()
1605 PetscCall(DMLocalToGlobalBegin(next->dm, local, mode, global)); in DMLocalToGlobalBegin_Composite()
1606 PetscCall(DMLocalToGlobalEnd(next->dm, local, mode, global)); in DMLocalToGlobalBegin_Composite()
1609 PetscCall(DMRestoreGlobalVector(next->dm, &global)); in DMLocalToGlobalBegin_Composite()
1610 PetscCall(DMRestoreLocalVector(next->dm, &local)); in DMLocalToGlobalBegin_Composite()
1622 static PetscErrorCode DMLocalToGlobalEnd_Composite(DM dm, Vec lvec, InsertMode mode, Vec gvec) in DMLocalToGlobalEnd_Composite() argument
1625 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMLocalToGlobalEnd_Composite()
1631 static PetscErrorCode DMLocalToLocalBegin_Composite(DM dm, Vec vec1, InsertMode mode, Vec vec2) in DMLocalToLocalBegin_Composite() argument
1636 DM_Composite *com = (DM_Composite *)dm->data; in DMLocalToLocalBegin_Composite()
1639 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMLocalToLocalBegin_Composite()
1643 if (!com->setup) PetscCall(DMSetUp(dm)); in DMLocalToLocalBegin_Composite()
1655 PetscCall(DMGetLocalVector(next->dm, &local1)); in DMLocalToLocalBegin_Composite()
1657 PetscCall(DMGetLocalVector(next->dm, &local2)); in DMLocalToLocalBegin_Composite()
1659 PetscCall(DMLocalToLocalBegin(next->dm, local1, mode, local2)); in DMLocalToLocalBegin_Composite()
1660 PetscCall(DMLocalToLocalEnd(next->dm, local1, mode, local2)); in DMLocalToLocalBegin_Composite()
1662 PetscCall(DMRestoreLocalVector(next->dm, &local2)); in DMLocalToLocalBegin_Composite()
1664 PetscCall(DMRestoreLocalVector(next->dm, &local1)); in DMLocalToLocalBegin_Composite()
1676 static PetscErrorCode DMLocalToLocalEnd_Composite(DM dm, Vec lvec, InsertMode mode, Vec gvec) in DMLocalToLocalEnd_Composite() argument
1679 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMLocalToLocalEnd_Composite()