TSTHETA#
DAE solver using the implicit Theta method
Options Database Keys#
-ts_theta_theta
- Location of stage (0<Theta<=1)-ts_theta_endpoint
- 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#
The endpoint variant of the Theta method and backward Euler can be applied to DAE. The midpoint variant is not suitable for DAEs because it is not stiffly accurate.
The midpoint variant 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#
TS: Scalable ODE and DAE Solvers, TSCreate()
, TS
, TSSetType()
, TSCN
, TSBEULER
, TSThetaSetTheta()
, TSThetaSetEndpoint()
Level#
beginner
Location#
Examples#
src/ts/tutorials/ex10.c
src/ts/tutorials/ex14.c
src/ts/tutorials/ex17.c
src/ts/tutorials/ex31.c
Index of all TS routines
Table of Contents for all manual pages
Index of all manual pages