petscmain 20210304
TSSetTransientVariable
sets function to transform from state to transient variables
Synopsis
#include "petscts.h"
PetscErrorCode TSSetTransientVariable(TS ts,TSTransientVariable tvar,void *ctx)
Logically Collective
Input Arguments
 ts   time stepping context on which to change the transient variable

 tvar   a function that transforms to transient variables

 ctx   a context for tvar

Calling sequence of tvar
PetscErrorCode tvar(TS ts,Vec p,Vec c,void *ctx);
 ts   timestep context

 p   input vector (primative form)

 c   output vector, transient variables (conservative form)

 ctx   [optional] userdefined function context

Notes
This is typically used to transform from primitive to conservative variables so that a time integrator (e.g., TSBDF)
can be conservative. In this context, primitive variables P are used to model the state (e.g., because they lead to
wellconditioned formulations even in limiting cases such as lowMach or zero porosity). The transient variable is
C(P), specified by calling this function. An IFunction thus receives arguments (P, Cdot) and the IJacobian must be
evaluated via the chain rule, as in
dF/dP + shift * dF/dCdot dC/dP.
See Also
DMTSSetTransientVariable(), DMTSGetTransientVariable(), TSSetIFunction(), TSSetIJacobian()
Level
advanced
Location
src/ts/interface/ts.c
Index of all TS routines
Table of Contents for all manual pages
Index of all manual pages