<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Jun 9, 2014 at 1:37 PM, Shriram Srinivasan <span dir="ltr"><<a href="mailto:shriram@ualberta.ca" target="_blank">shriram@ualberta.ca</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">It isnt an ODE actually. Its the unsteady diffusion equation u_t + div(k grad(u)) = f. The matrices A and B represent discretisations of the fluxes.  I am using operator splitting to advance the solution in two stages in every time step:<br>

First compute u*, then use it to compute u.<br></blockquote><div><br></div><div>For a purely explicit method, this would map to </div><div><br></div><div>  u_t = G(u, t)</div><div><br></div><div>where</div><div><br></div>
<div>  G(u, t) = f - div(k grad u)</div><div><br></div><div>which you could set using </div><div><br></div><div>  <a href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/TS/TSSetRHSFunction.html">http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/TS/TSSetRHSFunction.html</a></div>
<div><br></div><div>If you want to use implicit methods, then you can set</div><div><br></div><div>  F(u_t, u, t) = u_t + div(k grad u) - f</div><div><br></div><div>using</div><div><br></div><div>  <a href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/TS/TSSetIFunction.html">http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/TS/TSSetIFunction.html</a></div>
<div><br></div><div>TS ex25 is a reaction-diffusion example, and is gone over in these slides</div><div><br></div><div>  <a href="http://www.mcs.anl.gov/petsc/documentation/tutorials/BuffaloTutorial.pdf">http://www.mcs.anl.gov/petsc/documentation/tutorials/BuffaloTutorial.pdf</a></div>
<div><br></div><div>starting at slide 169</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-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

Shriram<br>
<br>
<br>
<br>
On 14-06-09 12:28 PM, Barry Smith wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
   What is the ODE you are solving?<br>
<br>
    Barr<br>
<br>
On Jun 9, 2014, at 11:51 AM, Shriram Srinivasan <<a href="mailto:shriram@ualberta.ca" target="_blank">shriram@ualberta.ca</a>> wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Hi,<br>
I am working with the (discretised) PDE:<br>
(u* - u_prev) + (tau )A u* = f1<br>
(u - u*) + (tau)B u = f2<br>
Here A and B are constant matrices which have been assembled, u_prev is solution at previous time level, tau is the time step and u is the solution at current time level.<br>
<br>
It appears to me I cannot rewrite this in a form required by the TS module. So my question(s) are:<br>
<br>
1) Am I missing something here, or is there a way to cast this into the framework of TS<br>
2) If there isn’t a way, am I better off doing the time stepping myself ?<br>
<br>
Thanks,<br>
Shriram<br>
</blockquote></blockquote>
<br>
</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
</div></div>