Hi Qi - I just opened a PR to make DMStagStencilToIndexLocal() public https://gitlab.com/petsc/petsc/-/merge_requests/4180
(Sorry for my inattention - I think I may have missed some communications in processing the flood of PETSc emails too quickly - I still plan to get some more automatic DMStag fieldsplit capabilities into main, if it's not too late). > Am 20.07.2021 um 02:47 schrieb Tang, Qi <[email protected]>: > > Hi, > As a part of implementing this process by ourself, we would like to eliminate > boundary dofs. By reading DMStag code, we guess we can use > DMStagStencilToIndexLocal > MatZeroRowsLocal > > We note that DMStagStencilToIndexLocal is not explicitly defined in the > header file. Is this function ready to use? And will we be able to eliminate > the dofs using the above functions? > > Thanks, > Qi > > > >> On Jul 16, 2021, at 8:17 PM, Barry Smith <[email protected] >> <mailto:[email protected]>> wrote: >> >> >> Zakariae, >> >> MatGetSubMatrix() was removed a long time ago, the routine is now >> MatCreateSubMatrix() but it does not work in way you had hoped. There is >> currently no mechanism to move values you put into the sub matrix back into >> the original larger matrix (though perhaps there should be?). >> >> Please look at MatCreateSubMatrixVirtual() and also MatCreateNest() to >> see if either of those approaches satisfy your needs. >> >> Please let us know if there are extensions that would be useful for you >> to accomplish what you need. >> >> Barry >> >> >>> On Jul 16, 2021, at 7:45 PM, Jorti, Zakariae via petsc-users >>> <[email protected] <mailto:[email protected]>> wrote: >>> >>> Hello, >>> >>> I have a matrix A = [A00 , A01 ; A10, A11]. >>> I extract the submatrix A11 with MatGetSubMatrix. >>> I only know the global IS is1 and is2, so to get A11 I call: >>> MatGetSubMatrix(A,is2,is2,MAT_INITIAL_MATRIX,&A11); >>> I want to modify A11 and update the changes on the global matrix A but I >>> could not find any MatRestoreSubMatrix routine. >>> Is there something similar to VecGetSubVector and VecRestoreSubVector for >>> matrices that uses only global indices? >>> Many thanks. >>> Best regards, >>> >>> Zakariae >> >
