Skip to main content
`Ctrl`+`K`

# PetscPointFn

A prototype of a pointwise function that can be passed to, for example, `PetscDSSetObjective()`

## Synopsis

    PETSC_EXTERN_TYPEDEF typedef void PetscPointFn(PetscInt dim, PetscInt Nf, PetscInt NfAux, const PetscInt uOff[], const PetscInt uOff_x[], const PetscScalar u[], const PetscScalar u_t[], const PetscScalar u_x[], const PetscInt aOff[], const PetscInt aOff_x[], const PetscScalar a[], const PetscScalar a_t[], const PetscScalar a_x[], PetscReal t, const PetscReal X[], PetscInt numConstants, const PetscScalar constants[], PetscScalar result[]);

## Calling Sequence

- dim - the coordinate dimension

- Nf - the number of fields

- NfAux - the number of auxiliary fields

- uOff - the offset into `u`[] and `u_t`[] for each field

- uOff_x - the offset into `u_x`[] for each field

- u - each field evaluated at the current point

- u_t - the time derivative of each field evaluated at the current point

- u_x - the gradient of each field evaluated at the current point

- aOff - the offset into `a`[] and `a_t`[] for each auxiliary field

- aOff_x - the offset into `a_x`[] for each auxiliary field

- a - each auxiliary field evaluated at the current point

- a_t - the time derivative of each auxiliary field evaluated at the current point

- a_x - the gradient of auxiliary each field evaluated at the current point

- t - current time

- x - coordinates of the current point

- numConstants - number of constant parameters

- constants - constant parameters

- obj - output values at the current point

## See Also

`PetscPointFn`, `PetscDSSetObjective()`, `PetscDSGetObjective()`, `PetscDSGetResidual()`, `PetscDSSetResidual()`, `PetscDSGetRHSResidual()`, `PetscDSSetUpdate()`, `PetscDSGetUpdate()`, `DMPlexSetCoordinateMap()`

## Level

beginner

## Location

include/petscdstypes.h

## Examples

src/snes/tutorials/ex13.c
src/ts/tutorials/ex76.c

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