<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:verdana,helvetica,sans-serif;font-size:12pt">Hi there,<br><br>I am trying to solve a mass matrix linear system by KSPSolve. Right now, I am passing the mass matrix itself (let's call it M) to KSPSetOperators() as the <b>Pmat </b>argument. In order to speed up the convergence, I have constructed the lumped mass matrix (named lumpedM). For a linear finite element, this is simply a diagonal matrix with entries equal to the sum of the row on M. It is a common practice to replace M with lumpedM to have faster convergence without losing the order of accuracy.<br><br>What I want to do is to still solve the M matrix but use lumpedM to precondition it. This way hopefully the number of iterations would be greatly reduced. In Petsc code, I tried<br><br><div>&nbsp;ierr = KSPSetOperators( solMP, M, lumpedM, SAME_PRECONDITIONER);<br><br>However, instead of giving
 faster convergence, it actually takes more iterations to convergence than the regular one. Therefore, I wonder if setting lumpedM as Pmat is the correct way to do it. Could you please advice? I think right now lumpedM is taken as the input to compute the preconditioning matrix, using whatever method is specified by -pc_type . What I really want to do is to simply set lumpedM as the precondition matrix, without spending time to compute anything.<br>Thank you very much.<br><br>Shi<br><br><br><br><br><br></div>--<br>Shi Jin, PhD<div><br></div></div><br>
      <hr size=1>Like movies? Here's a limited-time offer: <a href="http://us.rd.yahoo.com/evt=47522/*http://tc.deals.yahoo.com/tc/blockbuster/text4.com
">Blockbuster Total Access</a> for one month at no cost.</body></html>