petsc-3.7.7 2017-09-25
Report Typos and Errors

TSSetCostIntegrand

Sets the routine for evaluating the integral term in one or more cost functions

Synopsis

#include "petscts.h"  
PetscErrorCode  TSSetCostIntegrand(TS ts,PetscInt numcost,PetscErrorCode (*rf)(TS,PetscReal,Vec,Vec,void*),
                                                          PetscErrorCode (*drdyf)(TS,PetscReal,Vec,Vec*,void*),
                                                          PetscErrorCode (*drdpf)(TS,PetscReal,Vec,Vec*,void*),
                                                          PetscBool fwd,void *ctx)
Logically Collective on TS

Input Parameters

Calling sequence of rf

    rf(TS ts,PetscReal t,Vec y,Vec f[],void *ctx);

ts - the TS context obtained from TSCreate()
numcost - number of gradients to be computed, this is the number of cost functions
rf - routine for evaluating the integrand function
drdyf - function that computes the gradients of the r's with respect to y,NULL if not a function y
drdpf - function that computes the gradients of the r's with respect to p, NULL if not a function of p
fwd - flag indicating whether to evaluate cost integral in the forward run or the adjoint run- - ctx - [optional] user-defined context for private data for the function evaluation routine (may be NULL)
t - current timestep
y - input vector
f - function result; one vector entry for each cost function
ctx - [optional] user-defined function context

Calling sequence of drdyf

   PetscErroCode drdyf(TS ts,PetscReal t,Vec y,Vec *drdy,void *ctx);

Calling sequence of drdpf

   PetscErroCode drdpf(TS ts,PetscReal t,Vec y,Vec *drdp,void *ctx);

Notes: For optimization there is generally a single cost function, numcost = 1. For sensitivities there may be multiple cost functions

Keywords

TS, sensitivity analysis, timestep, set, quadrature, function

See Also

TSAdjointSetRHSJacobian(),TSGetCostGradients(), TSSetCostGradients()

Level:intermediate
Location:
src/ts/interface/ts.c
Index of all TS routines
Table of Contents for all manual pages
Index of all manual pages