petsc-3.7.3 2016-08-01
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_adapt <flg> - Use time-step adaptivity with 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
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
src/ts/examples/tutorials/ex31.c.html