Eric What Pierre and Barry suggested is OK. If you want to take a look at how to use MATIS with overlapped meshes, see https://gitlab.com/petsc/petsc/-/blob/main/src/dm/impls/plex/plexhpddm.c <https://gitlab.com/petsc/petsc/-/blob/main/src/dm/impls/plex/plexhpddm.c> This code assembles the local Neumann problem in the overlapped mesh as needed by there GenEO preconditioner.
> On Dec 15, 2021, at 6:42 AM, Eric Chamberland > <[email protected]> wrote: > > Hi Barry, > > yes the overlapping meshes match. They will be generated by PETSc > DMPlexDistributeOverlap but transposed in our in-house code and we are using > Matthew's branch (https://gitlab.com/petsc/petsc/-/merge_requests/4547 > <https://gitlab.com/petsc/petsc/-/merge_requests/4547>) to have it work all > right. > > > On 2021-12-14 4:00 p.m., Barry Smith wrote: >> Do the "overlapping meshes" "match" in the overlap regions or are you >> connecting completely different meshes discretizations by boundary >> conditions along the edges of all the sub meshes? In other words, will your >> global linear system be defined by your overlapping meshes? >> >> If they match but you want to use more general boundary conditions for >> the subproblems than PCASM supports by default you might be able to use >> PCSetModifySubMatrices() to allow you to modify the sub matrices before they >> are used in the preconditioned; you can for example modify the entries along >> the boundary of the domain to represent Robin's conditions. Or you can put >> whatever you want into the entire submatrix if modifying them is too tedious. > > Ok, that is exactly what we spoted! > > But since we will need the unassembled (MATIS) matrices, we have hit the same > problem Pierre got: the call to MatCreateSubMatrices is not directly > avoidable, so we will have to use the same trick you gave him some time > ago... ;) > > >> >> But if the meshes don't match then you don't really need a new PC you >> need to even define what your nonlinear system is and you have a very big >> project to write a PDE solver for non-matching overlapping grids using PETSc. > > ok, no, that was not our goal right now... > > Thanks again Pierre and Barry for your fast answers! :) > > Eric > >> Barry >> >> >>> On Dec 14, 2021, at 3:37 PM, Eric Chamberland >>> <[email protected]> wrote: >>> >>> Hi, >>> >>> We want to use an Additive Schwarz preconditioner (like PCASM) combined >>> with overlapping meshes *and* specific boundary conditions to local (MATIS) >>> matrices. >>> >>> At first sight, MATIS is only supported for BDDC and FETI-DP and is not >>> working with PCASM. >>> >>> Do we have to write a new PC from scratch to combine the use of mesh >>> overlap, MATIS and customized local matrices? >>> >>> ...or is there any working example we should look at to start from? :) >>> >>> Thanks a lot! >>> >>> Eric >>> >>> -- >>> Eric Chamberland, ing., M. Ing >>> Professionnel de recherche >>> GIREF/Université Laval >>> (418) 656-2131 poste 41 22 42 >>> > -- > Eric Chamberland, ing., M. Ing > Professionnel de recherche > GIREF/Université Laval > (418) 656-2131 poste 41 22 42
