TSDiscGradSetFormulation#

Set the construction method for S, F, and grad F from the formulation \(u_t = S(u) \nabla F(u)\) for TSDISCGRAD

Synopsis#

#include "petscts.h"   
PetscErrorCode TSDiscGradSetFormulation(TS ts, PetscErrorCode (*Sfunc)(TS ts, PetscReal time, Vec u, Mat S, void *ctx), PetscErrorCode (*Ffunc)(TS ts, PetscReal time, Vec u, PetscScalar *F, void *ctx), PetscErrorCode (*Gfunc)(TS ts, PetscReal time, Vec u, Vec G, void *ctx), void *ctx)

Not Collective

Input Parameters#

  • ts - timestepping context

  • Sfunc - constructor for the S matrix from the formulation

  • Ffunc - functional F from the formulation

  • Gfunc - constructor for the gradient of F from the formulation

  • ctx - optional context for the functions

Calling sequence of Sfunc#

  • ts - the integrator

  • time - the current time

  • u - the solution

  • S - the S-matrix from the formulation

  • ctx - the user context

Calling sequence of Ffunc#

  • ts - the integrator

  • time - the current time

  • u - the solution

  • F - the computed function from the formulation

  • ctx - the user context

Calling sequence of Gfunc#

  • ts - the integrator

  • time - the current time

  • u - the solution

  • G - the gradient of the computed function from the formulation

  • ctx - the user context

See Also#

TS: Scalable ODE and DAE Solvers, TSDISCGRAD, TSDiscGradGetFormulation()

Level#

intermediate

Location#

src/ts/impls/implicit/discgrad/tsdiscgrad.c

Implementations#

TSDiscGradSetFormulation_DiscGrad(TS ts, PetscErrorCode (*Sfunc)(TS, PetscReal, Vec, Mat, void *), PetscErrorCode (*Ffunc)(TS, PetscReal, Vec, PetscScalar *, void *), PetscErrorCode (*Gfunc)() in src/ts/impls/implicit/discgrad/tsdiscgrad.c


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