Allow integrating hypre AMS/ADS in FSPs#4412
Conversation
|
Is this going to rely on the libMesh DM? |
|
I was using In the discussion I linked above we agreed that the proper way to do this was probably to provide a callback that PETSc would call just-in-time whenever it needs info to build the preconditioner with sufficient information passed to the client application (i.e. libMesh) so it can disambiguate what variable/split needs preconditioning. That would then lift the requirement for only a single-level of field-split with one-to-one variables and splits (like I have here at present). |
|
I probably don't fully understand the situation here but in MOOSE we have examples of
I'll note that it's been a long-standing goal of mine to unify the libMesh and MOOSE DMs. I think each has features that the other does not. The MOOSE DM, for instance, doesn't have geometric multigrid support |
|
I know we do, and I know as it stands this implementation is limiting (thus the condition to return early if the assumption doesn't hold).
I think the problem is I don't fully understand the situation. That's (partially) why this is on hold. I don't really know how PETSc DM works.
Yes(!), I never understood why some of the functionality was reimplemented, and to be frank I always had doubts as to whether they're actually playing perfectly nice with each other. I remember lamenting the situation with @roystgnr, but I just can't find that conversation anywhere, might've dreamt it. |
See also https://gitlab.com/petsc/petsc/-/merge_requests/9077.