petsc-3.9.3 2018-07-02
Report Typos and Errors

# TSTHETA

DAE solver using the implicit Theta method

### Options Database

 -ts_theta_theta - Location of stage (0 - Use the endpoint (like Crank-Nicholson) instead of midpoint form of the Theta method -ts_theta_initial_guess_extrapolate - 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)

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

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