CharacteristicSetVelocityInterpolationLocal#

Sets the routine used to interpolate the velocity field along a characteristic using a locally-accessible array

Synopsis#

#include "petsccharacteristic.h" 
PetscErrorCode CharacteristicSetVelocityInterpolationLocal(Characteristic c, DM da, Vec v, Vec vOld, PetscInt numComponents, PetscInt components[], PetscErrorCode (*interp)(void *array, PetscReal interpIndices[], PetscInt numComponents, PetscInt components[], PetscScalar values[], PetscCtx ctx), PetscCtx ctx)

Not Collective

Input Parameters#

  • c - the Characteristic context

  • da - the DM describing the layout of the velocity vectors

  • v - the current velocity vector

  • vOld - the previous-time-step velocity vector

  • numComponents - the number of velocity components to interpolate

  • components - the indices of the velocity components in v and vOld

  • interp - the interpolation routine, called with a local array pointer rather than a Vec

  • ctx - context passed to the interpolation routine

Calling sequence of interp#

  • array - the locally-accessible array of the velocity vector obtained from the DM

  • interpIndices - the coordinates at which to interpolate

  • numComponents - the number of components to interpolate

  • components - the indices of the components in the array

  • values - the interpolated values, one per component per point

  • ctx - the application context

See Also#

TS: Scalable ODE and DAE Solvers, Characteristic, CharacteristicSetVelocityInterpolation(), CharacteristicSetFieldInterpolationLocal()

Level#

developer

Location#

src/ts/characteristic/interface/characteristic.c


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