petsc-3.12.1 2019-10-22
Report Typos and Errors

# TSTHETA

DAE solver using the implicit Theta method

### Options Database

| -ts_theta_theta <Theta> | - Location of stage (0<Theta<=1)
| -ts_theta_endpoint <flag> | - Use the endpoint (like Crank-Nicholson) instead of midpoint form of the Theta method
| -ts_theta_initial_guess_extrapolate <flg> | - Extrapolate stage initial guess from previous solution (sometimes unstable)

### Notes

     -ts_type theta -ts_theta_theta 1.0 corresponds to backward Euler (TSBEULER)

     -ts_type theta -ts_theta_theta 0.5 corresponds to the implicit midpoint rule

     -ts_type theta -ts_theta_theta 0.5 -ts_theta_endpoint corresponds to Crank-Nicholson (TSCN)

This method can be applied to DAE.

This method is cast as a 1-stage implicit Runge-Kutta method.

      Theta | Theta
      -------------
            |  1

For the default Theta=0.5, this is also known as the implicit midpoint rule.

### When the endpoint variant is chosen, the method becomes a 2-stage method with first stage explicit

      0 | 0         0
      1 | 1-Theta   Theta
      -------------------
        | 1-Theta   Theta

For the default Theta=0.5, this is the trapezoid rule (also known as Crank-Nicolson, see TSCN).

To apply a diagonally implicit RK method to DAE, the stage formula

     Y_i = X + h sum_j a_ij Y'_j

is interpreted as a formula for Y'_i in terms of Y_i and known values (Y'_j, j<i)

### See Also

TSCreate(), TS, TSSetType(), TSCN, TSBEULER, TSThetaSetTheta(), TSThetaSetEndpoint()

### Level

beginner

### Location

src/ts/impls/implicit/theta/theta.c

### Examples

src/ts/examples/tutorials/ex10.c.html
src/ts/examples/tutorials/ex14.c.html
src/ts/examples/tutorials/ex17.c.html
src/ts/examples/tutorials/ex31.c.html
Index of all TS routines
Table of Contents for all manual pages
Index of all manual pages