[petsc-users] PCs and MATIS

Stefano Zampini stefano.zampini at gmail.com
Tue Dec 14 21:49:16 CST 2021


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 <Eric.Chamberland at giref.ulaval.ca> 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 <Eric.Chamberland at giref.ulaval.ca> 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20211215/f1deb1cd/attachment.html>


More information about the petsc-users mailing list