Lines Matching refs:dm
34 PetscErrorCode DMGlobalToLocalBeginDefaultShell(DM dm, Vec g, InsertMode mode, Vec l) in DMGlobalToLocalBeginDefaultShell() argument
36 DM_Shell *shell = (DM_Shell *)dm->data; in DMGlobalToLocalBeginDefaultShell()
39 …PetscCheck(shell->gtol, ((PetscObject)dm)->comm, PETSC_ERR_ARG_WRONGSTATE, "Cannot be used without… in DMGlobalToLocalBeginDefaultShell()
58 PetscErrorCode DMGlobalToLocalEndDefaultShell(DM dm, Vec g, InsertMode mode, Vec l) in DMGlobalToLocalEndDefaultShell() argument
60 DM_Shell *shell = (DM_Shell *)dm->data; in DMGlobalToLocalEndDefaultShell()
63 …PetscCheck(shell->gtol, ((PetscObject)dm)->comm, PETSC_ERR_ARG_WRONGSTATE, "Cannot be used without… in DMGlobalToLocalEndDefaultShell()
85 PetscErrorCode DMLocalToGlobalBeginDefaultShell(DM dm, Vec l, InsertMode mode, Vec g) in DMLocalToGlobalBeginDefaultShell() argument
87 DM_Shell *shell = (DM_Shell *)dm->data; in DMLocalToGlobalBeginDefaultShell()
90 …PetscCheck(shell->ltog, ((PetscObject)dm)->comm, PETSC_ERR_ARG_WRONGSTATE, "Cannot be used without… in DMLocalToGlobalBeginDefaultShell()
109 PetscErrorCode DMLocalToGlobalEndDefaultShell(DM dm, Vec l, InsertMode mode, Vec g) in DMLocalToGlobalEndDefaultShell() argument
111 DM_Shell *shell = (DM_Shell *)dm->data; in DMLocalToGlobalEndDefaultShell()
114 …PetscCheck(shell->ltog, ((PetscObject)dm)->comm, PETSC_ERR_ARG_WRONGSTATE, "Cannot be used without… in DMLocalToGlobalEndDefaultShell()
138 PetscErrorCode DMLocalToLocalBeginDefaultShell(DM dm, Vec g, InsertMode mode, Vec l) in DMLocalToLocalBeginDefaultShell() argument
140 DM_Shell *shell = (DM_Shell *)dm->data; in DMLocalToLocalBeginDefaultShell()
143 …PetscCheck(shell->ltol, ((PetscObject)dm)->comm, PETSC_ERR_ARG_WRONGSTATE, "Cannot be used without… in DMLocalToLocalBeginDefaultShell()
164 PetscErrorCode DMLocalToLocalEndDefaultShell(DM dm, Vec g, InsertMode mode, Vec l) in DMLocalToLocalEndDefaultShell() argument
166 DM_Shell *shell = (DM_Shell *)dm->data; in DMLocalToLocalEndDefaultShell()
169 …PetscCheck(shell->ltol, ((PetscObject)dm)->comm, PETSC_ERR_ARG_WRONGSTATE, "Cannot be used without… in DMLocalToLocalEndDefaultShell()
174 static PetscErrorCode DMCreateMatrix_Shell(DM dm, Mat *J) in DMCreateMatrix_Shell() argument
176 DM_Shell *shell = (DM_Shell *)dm->data; in DMCreateMatrix_Shell()
180 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCreateMatrix_Shell()
185 …PetscCheck(shell->Xglobal, PetscObjectComm((PetscObject)dm), PETSC_ERR_USER, "Must call DMShellSet… in DMCreateMatrix_Shell()
186 …PetscCall(PetscInfo(dm, "Naively creating matrix using global vector distribution without prealloc… in DMCreateMatrix_Shell()
189 PetscCall(MatCreate(PetscObjectComm((PetscObject)dm), &shell->A)); in DMCreateMatrix_Shell()
191 PetscCall(MatSetType(shell->A, dm->mattype)); in DMCreateMatrix_Shell()
196 PetscCall(MatSetDM(*J, dm)); in DMCreateMatrix_Shell()
200 static PetscErrorCode DMCreateGlobalVector_Shell(DM dm, Vec *gvec) in DMCreateGlobalVector_Shell() argument
202 DM_Shell *shell = (DM_Shell *)dm->data; in DMCreateGlobalVector_Shell()
206 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCreateGlobalVector_Shell()
210 …PetscCheck(X, PetscObjectComm((PetscObject)dm), PETSC_ERR_USER, "Must call DMShellSetGlobalVector(… in DMCreateGlobalVector_Shell()
214 PetscCall(VecSetDM(*gvec, dm)); in DMCreateGlobalVector_Shell()
218 static PetscErrorCode DMCreateLocalVector_Shell(DM dm, Vec *gvec) in DMCreateLocalVector_Shell() argument
220 DM_Shell *shell = (DM_Shell *)dm->data; in DMCreateLocalVector_Shell()
224 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMCreateLocalVector_Shell()
228 …PetscCheck(X, PetscObjectComm((PetscObject)dm), PETSC_ERR_USER, "Must call DMShellSetLocalVector()… in DMCreateLocalVector_Shell()
232 PetscCall(VecSetDM(*gvec, dm)); in DMCreateLocalVector_Shell()
249 PetscErrorCode DMShellSetDestroyContext(DM dm, PetscCtxDestroyFn *destroyctx) in DMShellSetDestroyContext() argument
251 DM_Shell *shell = (DM_Shell *)dm->data; in DMShellSetDestroyContext()
255 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellSetDestroyContext()
256 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMSHELL, &isshell)); in DMShellSetDestroyContext()
275 PetscErrorCode DMShellSetContext(DM dm, PetscCtx ctx) in DMShellSetContext() argument
277 DM_Shell *shell = (DM_Shell *)dm->data; in DMShellSetContext()
281 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellSetContext()
282 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMSHELL, &isshell)); in DMShellSetContext()
309 PetscErrorCode DMShellGetContext(DM dm, PetscCtxRt ctx) in DMShellGetContext() argument
311 DM_Shell *shell = (DM_Shell *)dm->data; in DMShellGetContext()
315 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellGetContext()
316 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMSHELL, &isshell)); in DMShellGetContext()
317 …PetscCheck(isshell, PetscObjectComm((PetscObject)dm), PETSC_ERR_SUP, "Can only use with DMSHELL ty… in DMShellGetContext()
338 PetscErrorCode DMShellSetMatrix(DM dm, Mat J) in DMShellSetMatrix() argument
340 DM_Shell *shell = (DM_Shell *)dm->data; in DMShellSetMatrix()
345 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellSetMatrix()
347 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMSHELL, &isshell)); in DMShellSetMatrix()
353 if (mdm == dm) { in DMShellSetMatrix()
373 PetscErrorCode DMShellSetCreateMatrix(DM dm, PetscErrorCode (*func)(DM, Mat *)) in DMShellSetCreateMatrix() argument
376 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellSetCreateMatrix()
377 dm->ops->creatematrix = func; in DMShellSetCreateMatrix()
394 PetscErrorCode DMShellSetGlobalVector(DM dm, Vec X) in DMShellSetGlobalVector() argument
396 DM_Shell *shell = (DM_Shell *)dm->data; in DMShellSetGlobalVector()
401 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellSetGlobalVector()
403 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMSHELL, &isshell)); in DMShellSetGlobalVector()
416 if (vdm == dm) PetscFunctionReturn(PETSC_SUCCESS); in DMShellSetGlobalVector()
420 PetscCall(DMClearGlobalVectors(dm)); in DMShellSetGlobalVector()
421 PetscCall(DMClearNamedGlobalVectors(dm)); in DMShellSetGlobalVector()
438 PetscErrorCode DMShellGetGlobalVector(DM dm, Vec *X) in DMShellGetGlobalVector() argument
440 DM_Shell *shell = (DM_Shell *)dm->data; in DMShellGetGlobalVector()
444 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellGetGlobalVector()
446 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMSHELL, &isshell)); in DMShellGetGlobalVector()
465 PetscErrorCode DMShellSetCreateGlobalVector(DM dm, PetscErrorCode (*func)(DM, Vec *)) in DMShellSetCreateGlobalVector() argument
468 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellSetCreateGlobalVector()
469 dm->ops->createglobalvector = func; in DMShellSetCreateGlobalVector()
486 PetscErrorCode DMShellSetLocalVector(DM dm, Vec X) in DMShellSetLocalVector() argument
488 DM_Shell *shell = (DM_Shell *)dm->data; in DMShellSetLocalVector()
493 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellSetLocalVector()
495 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMSHELL, &isshell)); in DMShellSetLocalVector()
508 if (vdm == dm) PetscFunctionReturn(PETSC_SUCCESS); in DMShellSetLocalVector()
512 PetscCall(DMClearLocalVectors(dm)); in DMShellSetLocalVector()
513 PetscCall(DMClearNamedLocalVectors(dm)); in DMShellSetLocalVector()
530 PetscErrorCode DMShellSetCreateLocalVector(DM dm, PetscErrorCode (*func)(DM, Vec *)) in DMShellSetCreateLocalVector() argument
533 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellSetCreateLocalVector()
534 dm->ops->createlocalvector = func; in DMShellSetCreateLocalVector()
556 PetscErrorCode DMShellSetGlobalToLocal(DM dm, PetscErrorCode (*begin)(DM, Vec, InsertMode, Vec), Pe… in DMShellSetGlobalToLocal() argument
559 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellSetGlobalToLocal()
560 dm->ops->globaltolocalbegin = begin; in DMShellSetGlobalToLocal()
561 dm->ops->globaltolocalend = end; in DMShellSetGlobalToLocal()
583 PetscErrorCode DMShellSetLocalToGlobal(DM dm, PetscErrorCode (*begin)(DM, Vec, InsertMode, Vec), Pe… in DMShellSetLocalToGlobal() argument
586 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellSetLocalToGlobal()
587 dm->ops->localtoglobalbegin = begin; in DMShellSetLocalToGlobal()
588 dm->ops->localtoglobalend = end; in DMShellSetLocalToGlobal()
610 PetscErrorCode DMShellSetLocalToLocal(DM dm, PetscErrorCode (*begin)(DM, Vec, InsertMode, Vec), Pet… in DMShellSetLocalToLocal() argument
613 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellSetLocalToLocal()
614 dm->ops->localtolocalbegin = begin; in DMShellSetLocalToLocal()
615 dm->ops->localtolocalend = end; in DMShellSetLocalToLocal()
632 PetscErrorCode DMShellSetGlobalToLocalVecScatter(DM dm, VecScatter gtol) in DMShellSetGlobalToLocalVecScatter() argument
634 DM_Shell *shell = (DM_Shell *)dm->data; in DMShellSetGlobalToLocalVecScatter()
637 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellSetGlobalToLocalVecScatter()
658 PetscErrorCode DMShellSetLocalToGlobalVecScatter(DM dm, VecScatter ltog) in DMShellSetLocalToGlobalVecScatter() argument
660 DM_Shell *shell = (DM_Shell *)dm->data; in DMShellSetLocalToGlobalVecScatter()
663 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellSetLocalToGlobalVecScatter()
684 PetscErrorCode DMShellSetLocalToLocalVecScatter(DM dm, VecScatter ltol) in DMShellSetLocalToLocalVecScatter() argument
686 DM_Shell *shell = (DM_Shell *)dm->data; in DMShellSetLocalToLocalVecScatter()
689 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellSetLocalToLocalVecScatter()
710 PetscErrorCode DMShellSetCoarsen(DM dm, PetscErrorCode (*coarsen)(DM, MPI_Comm, DM *)) in DMShellSetCoarsen() argument
715 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellSetCoarsen()
716 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMSHELL, &isshell)); in DMShellSetCoarsen()
718 dm->ops->coarsen = coarsen; in DMShellSetCoarsen()
737 PetscErrorCode DMShellGetCoarsen(DM dm, PetscErrorCode (**coarsen)(DM, MPI_Comm, DM *)) in DMShellGetCoarsen() argument
742 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellGetCoarsen()
743 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMSHELL, &isshell)); in DMShellGetCoarsen()
744 …PetscCheck(isshell, PetscObjectComm((PetscObject)dm), PETSC_ERR_SUP, "Can only use with DMSHELL ty… in DMShellGetCoarsen()
745 *coarsen = dm->ops->coarsen; in DMShellGetCoarsen()
762 PetscErrorCode DMShellSetRefine(DM dm, PetscErrorCode (*refine)(DM, MPI_Comm, DM *)) in DMShellSetRefine() argument
767 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellSetRefine()
768 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMSHELL, &isshell)); in DMShellSetRefine()
770 dm->ops->refine = refine; in DMShellSetRefine()
789 PetscErrorCode DMShellGetRefine(DM dm, PetscErrorCode (**refine)(DM, MPI_Comm, DM *)) in DMShellGetRefine() argument
794 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellGetRefine()
795 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMSHELL, &isshell)); in DMShellGetRefine()
796 …PetscCheck(isshell, PetscObjectComm((PetscObject)dm), PETSC_ERR_SUP, "Can only use with DMSHELL ty… in DMShellGetRefine()
797 *refine = dm->ops->refine; in DMShellGetRefine()
814 PetscErrorCode DMShellSetCreateInterpolation(DM dm, PetscErrorCode (*interp)(DM, DM, Mat *, Vec *)) in DMShellSetCreateInterpolation() argument
819 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellSetCreateInterpolation()
820 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMSHELL, &isshell)); in DMShellSetCreateInterpolation()
822 dm->ops->createinterpolation = interp; in DMShellSetCreateInterpolation()
841 PetscErrorCode DMShellGetCreateInterpolation(DM dm, PetscErrorCode (**interp)(DM, DM, Mat *, Vec *)) in DMShellGetCreateInterpolation() argument
846 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellGetCreateInterpolation()
847 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMSHELL, &isshell)); in DMShellGetCreateInterpolation()
848 …PetscCheck(isshell, PetscObjectComm((PetscObject)dm), PETSC_ERR_SUP, "Can only use with DMSHELL ty… in DMShellGetCreateInterpolation()
849 *interp = dm->ops->createinterpolation; in DMShellGetCreateInterpolation()
866 PetscErrorCode DMShellSetCreateRestriction(DM dm, PetscErrorCode (*restriction)(DM, DM, Mat *)) in DMShellSetCreateRestriction() argument
871 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellSetCreateRestriction()
872 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMSHELL, &isshell)); in DMShellSetCreateRestriction()
874 dm->ops->createrestriction = restriction; in DMShellSetCreateRestriction()
893 PetscErrorCode DMShellGetCreateRestriction(DM dm, PetscErrorCode (**restriction)(DM, DM, Mat *)) in DMShellGetCreateRestriction() argument
898 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellGetCreateRestriction()
899 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMSHELL, &isshell)); in DMShellGetCreateRestriction()
900 …PetscCheck(isshell, PetscObjectComm((PetscObject)dm), PETSC_ERR_SUP, "Can only use with DMSHELL ty… in DMShellGetCreateRestriction()
901 *restriction = dm->ops->createrestriction; in DMShellGetCreateRestriction()
918 PetscErrorCode DMShellSetCreateInjection(DM dm, PetscErrorCode (*inject)(DM, DM, Mat *)) in DMShellSetCreateInjection() argument
923 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellSetCreateInjection()
924 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMSHELL, &isshell)); in DMShellSetCreateInjection()
926 dm->ops->createinjection = inject; in DMShellSetCreateInjection()
945 PetscErrorCode DMShellGetCreateInjection(DM dm, PetscErrorCode (**inject)(DM, DM, Mat *)) in DMShellGetCreateInjection() argument
950 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellGetCreateInjection()
951 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMSHELL, &isshell)); in DMShellGetCreateInjection()
952 …PetscCheck(isshell, PetscObjectComm((PetscObject)dm), PETSC_ERR_SUP, "Can only use with DMSHELL ty… in DMShellGetCreateInjection()
953 *inject = dm->ops->createinjection; in DMShellGetCreateInjection()
970 PetscErrorCode DMShellSetCreateFieldDecomposition(DM dm, PetscErrorCode (*decomp)(DM, PetscInt *, c… in DMShellSetCreateFieldDecomposition() argument
975 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellSetCreateFieldDecomposition()
976 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMSHELL, &isshell)); in DMShellSetCreateFieldDecomposition()
978 dm->ops->createfielddecomposition = decomp; in DMShellSetCreateFieldDecomposition()
995 PetscErrorCode DMShellSetCreateDomainDecomposition(DM dm, PetscErrorCode (*decomp)(DM, PetscInt *, … in DMShellSetCreateDomainDecomposition() argument
1000 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellSetCreateDomainDecomposition()
1001 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMSHELL, &isshell)); in DMShellSetCreateDomainDecomposition()
1003 dm->ops->createdomaindecomposition = decomp; in DMShellSetCreateDomainDecomposition()
1020 PetscErrorCode DMShellSetCreateDomainDecompositionScatters(DM dm, PetscErrorCode (*scatter)(DM, Pet… in DMShellSetCreateDomainDecompositionScatters() argument
1025 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellSetCreateDomainDecompositionScatters()
1026 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMSHELL, &isshell)); in DMShellSetCreateDomainDecompositionScatters()
1028 dm->ops->createddscatters = scatter; in DMShellSetCreateDomainDecompositionScatters()
1045 PetscErrorCode DMShellSetCreateSubDM(DM dm, PetscErrorCode (*subdm)(DM, PetscInt, const PetscInt[],… in DMShellSetCreateSubDM() argument
1050 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellSetCreateSubDM()
1051 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMSHELL, &isshell)); in DMShellSetCreateSubDM()
1053 dm->ops->createsubdm = subdm; in DMShellSetCreateSubDM()
1072 PetscErrorCode DMShellGetCreateSubDM(DM dm, PetscErrorCode (**subdm)(DM, PetscInt, const PetscInt[]… in DMShellGetCreateSubDM() argument
1077 PetscValidHeaderSpecific(dm, DM_CLASSID, 1); in DMShellGetCreateSubDM()
1078 PetscCall(PetscObjectTypeCompare((PetscObject)dm, DMSHELL, &isshell)); in DMShellGetCreateSubDM()
1079 …PetscCheck(isshell, PetscObjectComm((PetscObject)dm), PETSC_ERR_SUP, "Can only use with DMSHELL ty… in DMShellGetCreateSubDM()
1080 *subdm = dm->ops->createsubdm; in DMShellGetCreateSubDM()
1084 static PetscErrorCode DMDestroy_Shell(DM dm) in DMDestroy_Shell() argument
1086 DM_Shell *shell = (DM_Shell *)dm->data; in DMDestroy_Shell()
1101 static PetscErrorCode DMView_Shell(DM dm, PetscViewer v) in DMView_Shell() argument
1103 DM_Shell *shell = (DM_Shell *)dm->data; in DMView_Shell()
1110 static PetscErrorCode DMLoad_Shell(DM dm, PetscViewer v) in DMLoad_Shell() argument
1112 DM_Shell *shell = (DM_Shell *)dm->data; in DMLoad_Shell()
1115 PetscCall(VecCreate(PetscObjectComm((PetscObject)dm), &shell->Xglobal)); in DMLoad_Shell()
1120 static PetscErrorCode DMCreateSubDM_Shell(DM dm, PetscInt numFields, const PetscInt fields[], IS *i… in DMCreateSubDM_Shell() argument
1123 if (subdm) PetscCall(DMShellCreate(PetscObjectComm((PetscObject)dm), subdm)); in DMCreateSubDM_Shell()
1124 PetscCall(DMCreateSectionSubDM(dm, numFields, fields, NULL, NULL, is, subdm)); in DMCreateSubDM_Shell()
1128 PETSC_EXTERN PetscErrorCode DMCreate_Shell(DM dm) in DMCreate_Shell() argument
1134 dm->data = shell; in DMCreate_Shell()
1136 dm->ops->destroy = DMDestroy_Shell; in DMCreate_Shell()
1137 dm->ops->createglobalvector = DMCreateGlobalVector_Shell; in DMCreate_Shell()
1138 dm->ops->createlocalvector = DMCreateLocalVector_Shell; in DMCreate_Shell()
1139 dm->ops->creatematrix = DMCreateMatrix_Shell; in DMCreate_Shell()
1140 dm->ops->view = DMView_Shell; in DMCreate_Shell()
1141 dm->ops->load = DMLoad_Shell; in DMCreate_Shell()
1142 dm->ops->globaltolocalbegin = DMGlobalToLocalBeginDefaultShell; in DMCreate_Shell()
1143 dm->ops->globaltolocalend = DMGlobalToLocalEndDefaultShell; in DMCreate_Shell()
1144 dm->ops->localtoglobalbegin = DMLocalToGlobalBeginDefaultShell; in DMCreate_Shell()
1145 dm->ops->localtoglobalend = DMLocalToGlobalEndDefaultShell; in DMCreate_Shell()
1146 dm->ops->localtolocalbegin = DMLocalToLocalBeginDefaultShell; in DMCreate_Shell()
1147 dm->ops->localtolocalend = DMLocalToLocalEndDefaultShell; in DMCreate_Shell()
1148 dm->ops->createsubdm = DMCreateSubDM_Shell; in DMCreate_Shell()
1149 PetscCall(DMSetMatType(dm, MATDENSE)); in DMCreate_Shell()
1168 PetscErrorCode DMShellCreate(MPI_Comm comm, DM *dm) in DMShellCreate() argument
1171 PetscAssertPointer(dm, 2); in DMShellCreate()
1172 PetscCall(DMCreate(comm, dm)); in DMShellCreate()
1173 PetscCall(DMSetType(*dm, DMSHELL)); in DMShellCreate()
1174 PetscCall(DMSetUp(*dm)); in DMShellCreate()