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

Reply via email to