<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><br></div>&nbsp;&nbsp; The error messages says it all. You must have calls to VecSetValues() before the VecSet() but not have a&nbsp;VecAssemblyBegin/End(). After your VecSetValues() you always need to have&nbsp;VecAssemblyBegin/End()<div><br></div><div>&nbsp;&nbsp; &nbsp;Barry</div><div><br><div><div>On Sep 7, 2010, at 5:56 PM, NAN ZHAO wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Dear all,<div><br></div><div>I got a strange petsc error when I am running my code with petsc as a linear sover:</div><div><div>[0]PETSC ERROR: --------------------- Error Message ------------------------------------</div>
<div>[0]PETSC ERROR: Object is in wrong state!</div><div>[0]PETSC ERROR: You cannot call this after you have called VecSetValues() but</div><div>&nbsp;before you have called VecAssemblyBegin/End()!</div><div>[0]PETSC ERROR: ------------------------------------------------------------------------</div>
<div>[0]PETSC ERROR: Petsc Release Version 2.3.3, Patch 15, Tue Sep 23 10:02:49 CDT 2008 HG revision: 31306062cd1a6f6a2496fccb4878f485c9b91760</div><div>[0]PETSC ERROR: See docs/changes/index.html for recent updates.</div>
<div>[0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.</div><div>[0]PETSC ERROR: See docs/index.html for manual pages.</div></div><div>I<b> think this error is happening when I want to reset the vector and matrix to zero before solving the Ax=b,</b></div>
<div><b>this is my code:</b></div><div><div><b>PetscScalar zero = 0.;</b></div><div><b><br></b></div><div><b>&nbsp;&nbsp;// Reset J, R and Y</b></div><div><b>&nbsp;&nbsp;cout&lt;&lt;"reset jacobian to zero"&lt;&lt;endl;</b></div><div>
<b>&nbsp;&nbsp;MatZeroEntries(J_);</b></div><div><b>&nbsp;&nbsp;cout&lt;&lt;"reset R to zero"&lt;&lt;endl;</b></div><div><b>&nbsp;&nbsp;VecSet(R_, zero);</b></div><div><b>&nbsp;&nbsp;cout&lt;&lt;"reset Y to zero"&lt;&lt;endl;</b></div><div><b>&nbsp;&nbsp;VecSet(Y_, zero);</b></div>
</div><div><b><br></b></div><div><b>Is anyone have some clue to solve this problem.</b></div><div><b><br></b></div><div><b>Thanks,</b></div><div><b><br></b></div><div><b>Nan</b></div>
</blockquote></div><br></div></body></html>