> On 18 Sep 2019, at 4:04 PM, Matthew Knepley <knep...@gmail.com> wrote: > > On Wed, Sep 18, 2019 at 10:01 AM Pierre Jolivet <pierre.joli...@enseeiht.fr > <mailto:pierre.joli...@enseeiht.fr>> wrote: > > >> On 18 Sep 2019, at 3:48 PM, Matthew Knepley <knep...@gmail.com >> <mailto:knep...@gmail.com>> wrote: >> >> On Wed, Sep 18, 2019 at 2:49 AM Pierre Jolivet via petsc-dev >> <petsc-dev@mcs.anl.gov <mailto:petsc-dev@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? > > Yes. > > I’m not sure of what is your point, sorry. > > I think they might not actually have identical nonzero structure.
OK, that was easier than expected. Thanks! Pierre > Thanks, > > Matt > > 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/> > > > -- > 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/>