<div dir="ltr"><div><span style="color:rgb(0,0,0)">Hello petsc-users,<br><br></span></div><span style="color:rgb(0,0,0)">I've been running some CFD simulations, and I ran into one case where the system (which is a coupled system for pressure and body forces) did not converge and the reason was <span style="font-family:monospace">KSP_DIVERGED_INDEFINITE_PC</span>. </span><span style="color:rgb(0,0,0)">The options I'm using are <span style="font-family:monospace">-pc_gamg_agg_nsmooths 1 -pc_type gamg -pc_gamg_type agg</span> with a conjugate gradient solver.<br><br>I saw in example ksp/pc/examples/tutorials/ex2.c that I should use the flag <span style="font-family:monospace">-pc_factor_shift_positive_definite</span> to avoid this. I have a few questions regarding this:<br></span><ol><li>What does it mean that the preconditioner is indefinite? What can cause this to happen? And what does the above flag do?<br></li><li>The error occurs midway through the simulation. Is there any reason why this might be the <span style="color:rgb(0,0,0)">case? The left-hand side matrix does not change during the simulation.<br></span></li><li><span style="color:rgb(0,0,0)">Do both <span style="font-family:monospace">-pc_factor_shift_positive_definite</span> and <span style="font-family:monospace">-pc_factor_shift_type POSITIVE_DEFINITE</span> do the same thing?</span></li></ol><p><span style="color:rgb(0,0,0)">Thank you,</span></p><p><span style="color:rgb(0,0,0)">Anush</span><br></p></div>