8.1. Basic Usage

Up: Contents Next: Solving Time-dependent Problems Previous: TS: Scalable ODE Solvers

The user first creates a TS object with the command

   ierr = int TSCreate(MPI_Comm comm,TSProblemType problemtype,TS *ts); 
The TSProblemType is one of TS_LINEAR or TS_NONLINEAR, to indicate whether F(u,t) is given by a matrix A, or A(t), or a function F(u,t).

One can set the solution method with the routine

  ierr = TSSetType(TS ts,TSType type); 
Currently supported types are TS_EULER, TS_BEULER, and TS_PSEUDO or the command line option -ts_type euler, beuler, pseudo.

Set the initial time and timestep with the command

  ierr = TSSetInitialTimeStep(TS ts,double time,double dt); 
One can change the timestep with the command
  ierr = TSSetTimeStep(TS ts,double dt); 
One can determine the current timestep with the routine
  ierr = TSGetTimeStep(TS ts,double* dt); 
Here, ``current'' refers to the timestep being used to attempt to promote the solution form un to un+1.

One sets the total number of timesteps to run or the total time to run (whatever is first) with the command

  ierr = TSSetDuration(TS ts,int maxsteps,double maxtime); 
One sets up the timestep context with
  ierr = TSSetUp(TS ts); 
destroys it with
  ierr = TSDestroy(TS ts); 
and views it with
  ierr = TSView(TS ts,Viewer viewer); 


Up: Contents Next: Solving Time-dependent Problems Previous: TS: Scalable ODE Solvers