Skip to main content
`Ctrl`+`K`

# TSSetDM

Sets the `DM` that may be used by some nonlinear solvers or preconditioners under the `TS`

## Synopsis

    #include "petscts.h"
    PetscErrorCode TSSetDM(TS ts, DM dm)

Logically Collective

## Input Parameters

- ts - the `TS` integrator object

- dm - the dm, cannot be `NULL`

## Notes

A `DM` can only be used for solving one problem at a time because information about the problem is stored on the `DM`, even when not using interfaces like `DMTSSetIFunction()`. Use `DMClone()` to get a distinct `DM` when solving different problems using the same function space.

## See Also

TS: Scalable ODE and DAE Solvers, `TS`, `DM`, `TSGetDM()`, `SNESSetDM()`, `SNESGetDM()`

## Level

intermediate

## Location

src/ts/interface/ts.c

## Examples

src/tao/unconstrained/tutorials/burgers_spectral.c
src/ts/tutorials/ex15.c
src/tao/unconstrained/tutorials/spectraladjointassimilation.c
src/ts/tutorials/ex27.c
src/ts/tutorials/ex17.c
src/ts/tutorials/ex12.c
src/ts/tutorials/ex13.c
src/ts/tutorials/ex11_sa.c
src/ts/tutorials/ex25.c
src/ts/tutorials/ex22.c

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