**petsc-master 2015-10-08**

# TSTHETA

DAE solver using the implicit Theta method

### Options Database

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

### 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

Index of all TS routines

Table of Contents for all manual pages

Index of all manual pages

### Examples

src/ts/examples/tutorials/ex10.c.html

src/ts/examples/tutorials/ex14.c.html

src/ts/examples/tutorials/ex17.c.html