Skip to main content
`Ctrl`+`K`

# TSDiscGradGetFormulation

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

## Synopsis

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

Not Collective

## Input Parameter

- ts - timestepping context

## Output Parameters

- 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 - the user context

## 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, `TS`, `TSDISCGRAD`, `TSDiscGradSetFormulation()`

## Level

intermediate

## Location

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

## Implementations

TSDiscGradGetFormulation_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