TSSetPostStep#

Sets the general-purpose function called once at the end of each successful time step.

Synopsis#

#include "petscts.h"  
PetscErrorCode TSSetPostStep(TS ts, PetscErrorCode (*func)(TS ts))

Logically Collective

Input Parameters#

  • ts - The TS context obtained from TSCreate()

  • func - The function

Calling sequence of func#

  • ts - the TS context

Note#

The function set by TSSetPostStep() is called after each successful step. If the event handler locates an event at the given step, and postevent() modifies the solution vector, the solution vector obtained by TSGetSolution() inside func will contain the changes. To get the solution without these changes, use TSSetPostEvaluate() to set the appropriate callback. The scheme of the relevant function calls in TSSolve() is shown below

  ...
  Step()
  PostEvaluate()
  EventHandling()
  step_rollback ? PostEvaluate() : PostStep()
  ...

where EventHandling() may result in one of the following three outcomes

  (1) | successful step | solution intact
  (2) | successful step | solution modified by `postevent()`
  (3) | step_rollback   | solution rolled back

See Also#

TS: Scalable ODE and DAE Solvers, TS, TSSetPreStep(), TSSetPreStage(), TSSetPostEvaluate(), TSGetTimeStep(), TSGetStepNumber(), TSGetTime(), TSRestartStep()

Level#

intermediate

Location#

src/ts/interface/ts.c

Examples#

src/ts/tutorials/ex77.c


Index of all TS routines
Table of Contents for all manual pages
Index of all manual pages