On Tue, Dec 21, 2010 at 18:48, Michael E Henderson <mhender at us.ibm.com>wrote:
> Who can I talk to about the implementation of the TSTheta Implicit time > stepper? > > The implementation computes ts->vec_sol which solves the implicit system. > But the monitor returns ts->vec_sol+dt*th->Xdot, which does not necessarily > satisfy the equations. At least that's how I read the code. I think that the > call to VecAXPY which changes ts->vec_sol needs to be moved to after the > call to TSMonitor in src/ts/impls/implicit/theta/theta.c Purely a matter of > what is passed to the monitor routine. The state propagated by the method is the one that the monitor sees. Calling the monitor at the quadrature point would be inconsistent, in my opinion. The Theta method is not L-stable, it is not a robust method for stiff systems (but it is efficient and happens to work fairly frequently). The standard alternative is BDF-2 which we don't currently have an implementation of, but would be fairly easy to add. The downside of BDF-2 is that it's less efficient and less accurate. Note that theta=1 is implicit Euler which has every stability property you could want, but is only first order accurate. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20101221/63b6b702/attachment.html>
