DAAppSetElementObjectiveAndGradientRoutine

Set routine that evaluates the local part of a function on a 2-dimensional DA with 1 degree of freedom.

Synopsis

int DAAppSetElementObjectiveAndGradientRoutine(TAO_APPLICATION daapplication, int (*funcgrad)(int[2],PetscScalar[4],double*,PetscScalar[4],void*),
                                           int flops, void *ctx)
Collective on TAO_APPLICATION

Input Parameters

daapp - the TAO_APPLICATION solver context
funcgrad - local function gradient routine
flops - the number of flops done performed in the funcgrad routine
fgctx - [optional] user-defined context for private data for the evaluation.

Calling sequence of funcgrad

    int funcgrad(int coordinates[2], PetscScalar x[4], double *f, PetscScalar g[4], void* ctx)

coord - the global coordinates [i j] in each direction of the DA
x - the variables on the DA ( da[j][i], da[j][j+1], da[j+1][i], da[j+1][i+1] ) (bottom left, bottom right, top left, top right)
f - the local function value
g - the gradient of this local function for with respect to each variable
ctx - user defined context

Fortran Note

If your Fortran compiler does not recognize symbols over 31 characters in length, then use the identical routine with the shortened name DAAppSetElementObjectiveAndGrad()

Keywords

DA, Object Function, Gradient

See Also

DAAppSetObjectiveAndGradientRoutine();

Level:intermediate
Location:src/petsctao/gridapplication/element/daelement.c
TAO DA Application Index
Table of Contents

Examples

src/petsctao/gridapplication/examples/eptorsion3.c.html

Examples

src/petsctao/gridapplication/examples/jbearing3.c.html

Examples

src/petsctao/gridapplication/examples/minsurf3.c.html

Examples

src/petsctao/gridapplication/examples/combustion3.c.html