Would setting it up as a DAE in petsc be algorithmically euivalent to a projected method (i.e., step of standard RK followed by nonlinear projection)?
-gideon > On Feb 3, 2017, at 11:47 PM, Matthew Knepley <[email protected]> wrote: > > That is one answer. Another one is that this particular system is a DAE and > we have methods for that. > > Matt > > On Fri, Feb 3, 2017 at 8:40 PM, Barry Smith <[email protected] > <mailto:[email protected]>> wrote: > > TSSetPostStep(); in your function use TSGetSolution() to get the current > solution. > > Please let us know how it works out > > Barry > > > > > On Feb 3, 2017, at 7:14 PM, Gideon Simpson <[email protected] > > <mailto:[email protected]>> wrote: > > > > I’m interested in implementing a projection method for an ODE of the form: > > > > y’ = f(y), > > > > such that g(y) = 0 for all time (i.e., g is conserved). Note that in a > > projection method, a standard time step is made to produce y* from y_{n}, > > and then this is corrected to obtain y_{n+1} satisfying g(y) = 0. > > > > There were two ways I was thinking of doing this, and I was hoping to get > > some input: > > > > Idea 1: Manually loop through using taking a time step and then > > implementing the projection routine. I see that there is a TSStep command, > > but this doesn’t seem to be much documentation on how to use it in this > > scenario. Does anyone have any guidance? > > > > Idea 2: Is there some analog to TSMonitor that allows me to modify the > > solution after each time step, instead of just allowing for some > > computation of a statistic? > > > > > > > > > -- > What most experimenters take for granted before they begin their experiments > is infinitely more interesting than any results to which their experiments > lead. > -- Norbert Wiener
