<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Jun 5, 2018 at 6:46 PM, Adrián Amor <span dir="ltr"><<a href="mailto:aamor@pa.uc3m.es" target="_blank">aamor@pa.uc3m.es</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi all,<div><br></div><div>I think this is a basic question that I am pretty sure that it can be done in PETSC but I don't know the way, so sorry for wasting your time if it's too basic!</div><div><br></div><div>I have a big system of equations (say 1M of unknowns) which I divide into 25 blocks and I use a block-Jacobi preconditioner to get the solution from KSPBICG. However, I know that I can build a reduced matrix with the nonzeros of the big preconditioned matrix, solve this reduced problem, and then recover the solution for the original big system with the factorized matrices from block Jacobi. How can I do this with PETSC? Since using KSPComputeExplicitOperator and then copy blocks of this matrix to build the reduced surface problem in PETSC is definitely not an option.</div></div></blockquote><div><br></div><div>Its a little hard to understand what algorithm you are describing. Do you mean something like</div><div><br></div><div>  <a href="https://en.wikipedia.org/wiki/SPIKE_algorithm">https://en.wikipedia.org/wiki/SPIKE_algorithm</a></div><div><br></div><div>We do not have that. We can do additive/multiplicative iterations on these blocks using PCFIELDSPLIT (however the block operations would be serialized).</div><div>If you want something direct like this, have you tried just applying SuperLU_dist or MUMPS?</div><div><br></div><div>  Thanks,</div><div><br></div><div>    Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>I was doing this by hand using MUMPS to build the reduced system of equations, then using PETSC without preconditioner and then, recover the full solution. However, the burden in time and memory is not negligible so I wanted to explore a different way with PETSC (using maybe some ILU). I think that the performance in memory is going to be similar but I expect a better performance in time.</div><div><br></div><div>Thanks a lot!</div><div><br></div><div>Adrian.</div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.caam.rice.edu/~mk51/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div>
</div></div>