[petsc-dev] fieldsplit + composite + ksp

Pierre Jolivet pierre.jolivet at enseeiht.fr
Wed Sep 18 08:55:38 CDT 2019



> On 18 Sep 2019, at 3:48 PM, Matthew Knepley <knepley at gmail.com> wrote:
> 
> On Wed, Sep 18, 2019 at 2:49 AM Pierre Jolivet via petsc-dev <petsc-dev at mcs.anl.gov <mailto:petsc-dev at mcs.anl.gov>> wrote:
> Hello,
> I’m solving the following dummy system http://jolivet.perso.enseeiht.fr/composite_ksp.tar.gz <http://jolivet.perso.enseeiht.fr/composite_ksp.tar.gz>
> [A, B];[C, D], with a PCFIELDSPLIT. For the PC of D, I’m using a PCCOMPOSITE with two sub PCs. One of which is a PCKSP.
> Could you please help me figure out what is wrong in the following piece of code, that may be launched with the following arguments:
> $ mpirun -n 1 ./a.out -ksp_type preonly -pc_type fieldsplit -fieldsplit_1_pc_type composite -fieldsplit_1_sub_1_pc_type ksp -fieldsplit_1_sub_1_ksp_ksp_type gmres -fieldsplit_1_sub_1_ksp_pc_type gamg -fieldsplit_1_sub_1_ksp_ksp_converged_reason -fieldsplit_1_sub_1_ksp_pc_gamg_sym_graph 1 -fieldsplit_1_sub_1_ksp_pc_gamg_square_graph 10 -fieldsplit_1_sub_1_ksp_ksp_rtol 1e-8
> 
> It solves the dummy system twice, with a varying block D.
> 
> Its not the PC, its the matrix. Everything in the PC gets resetup just like you want.
> 
> I did MatEqual(S2_1, S2_001, &equal) and equal was false.

They are not supposed to be equal, so that’s a good thing.
Or are you doing the comparison _after_ the MatCopy?
I’m not sure of what is your point, sorry.

Thanks,
Pierre

>   Thanks,
> 
>      Matt
>  
> It should give you:
>       Linear fieldsplit_1_sub_1_ksp_ solve converged due to CONVERGED_RTOL iterations 8
> solve #0: 16098.3
>       Linear fieldsplit_1_sub_1_ksp_ solve did not converge due to DIVERGED_PC_FAILED iterations 0
>                      PC_FAILED due to SUBPC_ERROR
> solve #1: inf
> 
> If I switch line 70 to #if 0, I get the expected output:
>       Linear fieldsplit_1_sub_1_ksp_ solve converged due to CONVERGED_RTOL iterations 8
> solve #0: 16098.3
>       Linear fieldsplit_1_sub_1_ksp_ solve converged due to CONVERGED_RTOL iterations 8
> solve #1: 325.448
> 
> I’m realizing that this has probably nothing to do with the outer PCFIELDSPLIT, but this comes from a rather large FSI solver, so reproducing this behavior in “only” 97 SLOC is good enough for your I hope.
> 
> Thanks in advance,
> Pierre
> 
> 
> -- 
> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
> -- Norbert Wiener
> 
> https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20190918/992cf663/attachment.html>


More information about the petsc-dev mailing list