<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body>
<span id="mailbox-conversation"><div>Looking at the code for TSInterpolate_Theta  (X is the output vector):<br>
</div>
<div><br></div>
<div>
<div>1    ierr = VecCopy(ts->vec_sol,th->X);CHKERRQ(ierr);</div>
<div>2    if (th->endpoint) alpha *= th->Theta;</div>
<div id="mb-reply">3    ierr = VecWAXPY(X,alpha,th->Xdot,th->X);CHKERRQ(ierr);</div>
<div id="mb-reply"><br></div>
<div id="mb-reply">I can’t figure out why line 1 exists.  And, since this appears to just be using a simple taylor series:  U(t + dt) ~= U(t) + Udot(t) * dt, I’m not sure why th->endpoint has any effect on this.  Is th->Xdot scaled by th->Theta at some point?</div>
<div id="mb-reply"><br></div>
<div id="mb-reply">Attempting to see if something I didn’t understand was going on, I also took a look at TSInterpolate_Euler (X is still the output vector).</div>
<div id="mb-reply"><br></div>
<div id="mb-reply"><div>PetscReal alpha = (ts->ptime - t)/ts->time_step;</div></div>
<div id="mb-reply"><div>ierr = VecAXPBY(ts->vec_sol,1.0-alpha,alpha,X);CHKERRQ(ierr);</div></div>
<div id="mb-reply"><br></div>
<div id="mb-reply">Which doesn’t even modify X (and does modify the solution…).  I assume that this is an attempt to find U(t-δt) ~= U(t) (1-δt/Δt) + U(t-Δt)(δt/Δt).  However, I’m not sure where U(t-Δt) is supposed to come from…</div>
<div id="mb-reply"><br></div>
<div id="mb-reply">TSInterpolate_Theta is easy enough to fix, but TSInterpolate_Euler seems to need a retained solution, which isn’t supplied.  If a retained solution WERE supplied, then the TSInterpolate_Euler version could work for every time step method, and should be a default.</div>
<div id="mb-reply"><br></div>
<div id="mb-reply">I’ll fix these if I’m right, but since I’m still learning the internals of Petsc, I wanted to check and make sure these are problems first.</div>
<div id="mb-reply"><br></div>
<div id="mb-reply">-Andrew</div>
</div></span><div class="mailbox_signature"><br></div>
</body></html>