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) 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