[petsc-dev] MatNest and inner KSP

Pierre Jolivet pierre.jolivet at enseeiht.fr
Wed Dec 19 15:18:50 CST 2018



> On 19 Dec 2018, at 9:46 AM, Stefano Zampini <stefano.zampini at gmail.com> wrote:
> 
> Pierre, 
> 
> The details of the  inner solvers for PCFIELDSPLIT are not known if you don’t call PCSetUp, so the cascade approach should be preferred.

OK, great! It was actually not that big of a deal to implement.

Thanks,
Pierre

> After PCSetUp, you can access the inner solves, see e.g.  https://bitbucket.org/petsc/petsc/src/4ddd364d454d7bce974e92e0b5bd4f4516dbff02/src/ksp/pc/impls/bddc/bddc.c#lines-2715
>> On Dec 19, 2018, at 9:01 AM, Pierre Jolivet via petsc-dev <petsc-dev at mcs.anl.gov> wrote:
>> 
>> Hello,
>> I have a PCFIELDSPLIT where the fields are defined by a MATNEST “decomposition”.
>> Right now, I am first defining the KSP of the diagonal blocks of the MATNEST, which are themselves PCFIELDSPLIT, then creating the Mat itself, and eventually I’d like to solve systems with the complete MATNEST.
>> However, the KSP and PC options of the “first level" inner solvers are not propagated to the global outer solver.
>> Can this be achieved somehow, or do I always need to set the options in the opposite direction (first outer solver, then inner solvers, e.g., through a cascade of PCFieldSplitGetSubKSP)?
>> 
>> Thanks in advance,
>> Pierre
> 



More information about the petsc-dev mailing list