Skip to main content
`Ctrl`+`K`

# TSSetTolerances

Set tolerances for local truncation error when using an adaptive controller

## Synopsis

    #include "petscts.h"
    PetscErrorCode TSSetTolerances(TS ts, PetscReal atol, Vec vatol, PetscReal rtol, Vec vrtol)

Logically Collective

## Input Parameters

- ts - time integration context

- atol - scalar absolute tolerances

- vatol - vector of absolute tolerances or `NULL`, used in preference to `atol` if present

- rtol - scalar relative tolerances

- vrtol - vector of relative tolerances or `NULL`, used in preference to `rtol` if present

## Options Database Keys

- -ts_rtol rtol - relative tolerance for local truncation error

- -ts_atol atol - Absolute tolerance for local truncation error

## Notes

`PETSC_CURRENT` or `PETSC_DETERMINE` may be used for `atol` or `rtol` to indicate the current value or the default value from when the object’s type was set.

With PETSc’s implicit schemes for DAE problems, the calculation of the local truncation error (LTE) includes both the differential and the algebraic variables. If one wants the LTE to be computed only for the differential or the algebraic part then this can be done using the vector of tolerances vatol. For example, by setting the tolerance vector with the desired tolerance for the differential part and infinity for the algebraic part, the LTE calculation will include only the differential variables.

## Fortran Note

Use `PETSC_CURRENT_INTEGER` or `PETSC_DETERMINE_INTEGER`.

## See Also

TS: Scalable ODE and DAE Solvers, `TS`, `TSAdapt`, `TSErrorWeightedNorm()`, `TSGetTolerances()`

## Level

beginner

## Location

src/ts/interface/ts.c

## Examples

src/ts/tutorials/ex50.c
src/tao/unconstrained/tutorials/burgers_spectral.c
src/tao/unconstrained/tutorials/spectraladjointassimilation.c
src/ts/tutorials/ex30.c
src/ts/tutorials/ex49.c

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