<div dir="ltr">Hi all,<div><br></div><div>I'm currently trying to set up a nonlinear solver that uses NGMRES with NEWTONLS as a right preconditioner. The NEWTONLS has a custom linear preconditioner. Everything is accessed through petsc4py.</div><div><br></div><div>*Is there a way I can configure a NPC NEWTONLS KSP CompositePC without first calling solve on my outer snes?*</div><div><br></div><div>My NEWTONLS has the following KSP setup:</div><div>FGMRES</div><div>| PCCOMPOSITE</div><div>|| PYTHON</div><div>|| ILU</div><div><br></div><div>The way I understand things, the NPC is not created/set up until SNESSolve_NGMRES() is called. Therefore, I cannot call snes.getNPC().ksp.pc.getCompositePC(0).setPythonContext(ctx) before I have called snes.solve().</div><div><br></div><div>What I currently do is a try/except on snes.solve to create/set up the pccomposite. Then I can set my pythoncontext and it runs fine. This is quite ugly though, so I was hoping anyone would have a better approach.</div><div><br></div><div><br></div><div>Ozzy</div></div>