Skip to main content
`Ctrl`+`K`

# TSSetFromOptions

Sets various `TS` parameters from the options database

## Synopsis

    #include "petscts.h"
    PetscErrorCode TSSetFromOptions(TS ts)

Collective

## Input Parameter

- ts - the `TS` context obtained from `TSCreate()`

## Options Database Keys

- -ts_type type - EULER, BEULER, SUNDIALS, PSEUDO, CN, RK, THETA, ALPHA, GLLE, SSP, GLEE, BSYMP, IRK, see `TSType`

- -ts_save_trajectory - checkpoint the solution at each time-step

- -ts_max_time time - maximum time to compute to

- -ts_time_span t0,…,tf - sets the time span, solutions are computed and stored for each indicated time, init_time and max_time are set

- -ts_eval_times t0,…,tn - time points where solutions are computed and stored for each indicated time

- -ts_max_steps steps - maximum time-step number to execute until (possibly with nonzero starting value)

- -ts_run_steps steps - maximum number of time steps for `TSSolve()` to take on each call

- -ts_init_time time - initial time to start computation

- -ts_final_time time - final time to compute to (deprecated: use `-ts_max_time`)

- -ts_time_step dt - initial time step (only a suggestion, the actual initial time step used differ)

- -ts_exact_final_time (stepover,interpolate,matchstep) - whether to stop at the exact given final time and how to compute the solution at that time

- -ts_max_snes_failures maxfailures - Maximum number of nonlinear solve failures allowed

- -ts_max_step_rejections maxrejects - Maximum number of step rejections before step fails

- -ts_error_if_step_fails (true|false) - Error if no step succeeds

- -ts_rtol rtol - relative tolerance for local truncation error

- -ts_atol atol - Absolute tolerance for local truncation error

- -ts_rhs_jacobian_test_mult - mat_shell_test_mult_view - test the Jacobian at each iteration against finite difference with RHS function

- -ts_rhs_jacobian_test_mult_transpose - test the Jacobian at each iteration against finite difference with RHS function

- -ts_adjoint_solve (true|false) - After solving the ODE/DAE solve the adjoint problem (requires `-ts_save_trajectory`)

- -ts_fd_color - Use finite differences with coloring to compute IJacobian

- -ts_monitor - print information at each timestep

- -ts_monitor_cancel - Cancel all monitors

- -ts_monitor_wall_clock_time - Monitor wall-clock time, KSP iterations, and SNES iterations per step

- -ts_monitor_lg_solution - Monitor solution graphically

- -ts_monitor_lg_error - Monitor error graphically

- -ts_monitor_error - Monitors norm of error

- -ts_monitor_lg_timestep - Monitor timestep size graphically

- -ts_monitor_lg_timestep_log - Monitor log timestep size graphically

- -ts_monitor_lg_snes_iterations - Monitor number nonlinear iterations for each timestep graphically

- -ts_monitor_lg_ksp_iterations - Monitor number nonlinear iterations for each timestep graphically

- -ts_monitor_sp_eig - Monitor eigenvalues of linearized operator graphically

- -ts_monitor_draw_solution - Monitor solution graphically

- -ts_monitor_draw_solution_phase xleft,yleft,xright,yright - Monitor solution graphically with phase diagram, requires problem with exactly 2 degrees of freedom

- -ts_monitor_draw_error - Monitor error graphically, requires use to have provided TSSetSolutionFunction()

- -ts_monitor_solution [ascii binary draw][:filename][:viewerformat] - monitors the solution at each timestep

- -ts_monitor_solution_interval interval - output once every interval (default=1) time steps. Use -1 to only output at the end of the simulation

- -ts_monitor_solution_skip_initial - skip writing of initial condition

- -ts_monitor_solution_vtk filename.vts,filename.vtu - Save each time step to a binary file, use filename-%%03” PetscInt_FMT “.vts (filename-%%03” PetscInt_FMT “.vtu)

- -ts_monitor_solution_vtk_interval interval - output once every interval (default=1) time steps. Use -1 to only output at the end of the simulation

- -ts_monitor_envelope - determine maximum and minimum value of each component of the solution over the solution time

## Notes

See `SNESSetFromOptions()` and `KSPSetFromOptions()` for how to control the nonlinear and linear solves used by the time-stepper.

Certain `SNES` options get reset for each new nonlinear solver, for example `-snes_lag_jacobian its` and `-snes_lag_preconditioner its`, in order to retain them over the multiple nonlinear solves that `TS` uses you must also provide `-snes_lag_jacobian_persists true` and `-snes_lag_preconditioner_persists true`

## Developer Notes

We should unify all the -ts_monitor options in the way that -xxx_view has been unified

## See Also

TS: Scalable ODE and DAE Solvers, `TS`, `TSGetType()`

## Level

beginner

## Location

src/ts/interface/ts.c

## Examples

src/tao/unconstrained/tutorials/burgers_spectral.c
src/ts/tutorials/ex51.c
src/ts/tutorials/ex26.c
src/ts/tutorials/ex10.c
src/ts/tutorials/ex27.c
src/ts/tutorials/ex28.c
src/tao/unconstrained/tutorials/spectraladjointassimilation.c
src/ts/tutorials/ex9.c
src/ts/tutorials/ex11.c
src/ts/tutorials/ex1.c

## Implementations

TSSetFromOptions_ARKIMEX() in src/ts/impls/arkimex/arkimex.c
TSSetFromOptions_BDF() in src/ts/impls/bdf/bdf.c
TSSetFromOptions_EIMEX() in src/ts/impls/eimex/eimex.c
TSSetFromOptions_Euler() in src/ts/impls/explicit/euler/euler.c
TSSetFromOptions_RK() in src/ts/impls/explicit/rk/rk.c
TSSetFromOptions_SSP() in src/ts/impls/explicit/ssp/ssp.c
TSSetFromOptions_GLEE() in src/ts/impls/glee/glee.c
TSSetFromOptions_Alpha() in src/ts/impls/implicit/alpha/alpha1.c
TSSetFromOptions_Alpha() in src/ts/impls/implicit/alpha/alpha2.c
TSSetFromOptions_DiscGrad() in src/ts/impls/implicit/discgrad/tsdiscgrad.c
TSSetFromOptions_GLLE() in src/ts/impls/implicit/glle/glle.c
TSSetFromOptions_IRK() in src/ts/impls/implicit/irk/irk.c
TSSetFromOptions_Sundials() in src/ts/impls/implicit/sundials/sundials.c
TSSetFromOptions_Theta() in src/ts/impls/implicit/theta/theta.c
TSSetFromOptions_Mimex() in src/ts/impls/mimex/mimex.c
TSSetFromOptions_MPRK() in src/ts/impls/multirate/mprk.c
TSSetFromOptions_Pseudo() in src/ts/impls/pseudo/posindep.c
TSSetFromOptions_RosW() in src/ts/impls/rosw/rosw.c
TSSetFromOptions_BasicSymplectic() in src/ts/impls/symplectic/basicsymplectic/basicsymplectic.c

Index of all TS routines
Table of Contents for all manual pages
Index of all manual pages