DMTSSetTransientVariable#
sets function to transform from state to transient variables into a DMTS
Synopsis#
#include "petscts.h"
PetscErrorCode DMTSSetTransientVariable(DM dm, TSTransientVariableFn *tvar, void *ctx)
Logically Collective
Input Parameters#
tvar - a function that transforms to transient variables, see
TSTransientVariableFn
for the calling sequencectx - a context for tvar
Notes#
Normally TSSetTransientVariable()
is used
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
well-conditioned formulations even in limiting cases such as low-Mach 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
See Also#
TS: Scalable ODE and DAE Solvers, DMTS
, TS
, TSBDF
, TSSetTransientVariable()
, DMTSGetTransientVariable()
, DMTSSetIFunction()
, DMTSSetIJacobian()
, TSTransientVariableFn
Level#
developer
Location#
Index of all TS routines
Table of Contents for all manual pages
Index of all manual pages