On Thu, Mar 29, 2012 at 9:09 PM, Andrew Spott <span dir="ltr">&lt;<a href="mailto:andrew.spott@gmail.com">andrew.spott@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thanks again for the quick reply!  Thankfully I don&#39;t have a mass matrix, I&#39;m just solving the schrodinger equation.<br></blockquote><div><br></div><div>Depending on how you discretize, you can have a mass matrix for Schrodinger.</div>
<div><br></div><div>   Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thanks again.<br>
<span class="HOEnZb"><font color="#888888"><br>
-Andrew<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Mar 29, 2012, at 8:07 PM, Barry Smith wrote:<br>
<br>
&gt;<br>
&gt; On Mar 29, 2012, at 8:58 PM, Andrew Spott wrote:<br>
&gt;<br>
&gt;&gt; This: <a href="http://www.mcs.anl.gov/petsc/petsc-3.2/src/ts/examples/tutorials/ex4.c.html" target="_blank">http://www.mcs.anl.gov/petsc/petsc-3.2/src/ts/examples/tutorials/ex4.c.html</a>  Looks like what I&#39;m interested in doing, though I would like to use the latest.<br>

&gt;<br>
&gt;   With this simple a situation using the current version or switching to dev is both fine. The changes you would have to make are small<br>
&gt;<br>
&gt;&gt; When is Petsc 3.3 (or 3.4, I&#39;m not sure how your versioning works) coming out?  Is the dev version stable enough (in API and in execution) to be used?<br>
&gt;<br>
&gt;    The dev version is always stable enough to use :-). At this point yes because we are in the testing phase for the next release.<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; Until then, does the 3.2 version of the TS interface work?  (the link above, and the corresponding one for petsc-dev don&#39;t appear to have much changed between them).<br>
&gt;<br>
&gt;   Yes.<br>
&gt;<br>
&gt;   Barry<br>
&gt;<br>
&gt; Note that in 3.2 if you have a mass matrix (for example    M U_t  = A U_xx)how to formulate the problem is different between 3.2 and dev so I would recommend working immediately with dev.  But for simple U_t  = something, 3.2 is fine and then you can change it slightly for the next release.<br>

&gt;<br>
&gt;&gt;<br>
&gt;&gt; Thanks for the prompt reply,<br>
&gt;&gt;<br>
&gt;&gt; -Andrew<br>
&gt;&gt;<br>
&gt;&gt; On Mar 29, 2012, at 7:37 PM, Barry Smith wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Andrew,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;   These are outdated manual pages; you&#39;ll want to avoid this.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;   Jed and Emil have done a major update of the TS interface and solvers, much more powerful and less confusing.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;    Likely you&#39;ll want to use TSSetIFunction() and TSSetIJacobian() <a href="http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/TS/index.html" target="_blank">http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/TS/index.html</a> and work with petsc-dev <a href="http://www.mcs.anl.gov/petsc/developers/index.html" target="_blank">http://www.mcs.anl.gov/petsc/developers/index.html</a><br>

&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;   Barry<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Mar 29, 2012, at 8:09 PM, Andrew Spott wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; In the Petsc manual, there is a TSSetMatrices function, however there is no further documentation for it.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; It is referenced in the manual as:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; TSSetMatrices(TS ts,<br>
&gt;&gt;&gt;&gt; Mat A,PetscErrorCode (*frhs)(TS,PetscReal,Mat*,Mat*,MatStructure*,void*), Mat B,PetscErrorCode (*flhs)(TS,PetscReal,Mat*,Mat*,MatStructure*,void*), MatStructure flag,void *ctx)<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; However, what is passed to the function pointers isn&#39;t mentioned anywhere, and it isn&#39;t in the online documentation.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Also, I assume that &quot;MatStructure flag&quot; tells if the structure of A and B are the same or different, if B is PETSC_NULL, is flag &quot;SAME_NONZERO_PATERN&quot; or is it different?  (B can be considered to not exist, or to exist as an identity matrix, hence the confusion).<br>

&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; How does the ctx work?  Is the same context passed to frhs each time?<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Thanks for the help.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; -Andrew<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>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<br>