Skip to main content
`Ctrl`+`K`

# PetscViewerGLVisSetFields

Sets the required information to visualize different fields from a vector.

## Synopsis

    #include "petscviewer.h"
    #include "petscsys.h"
    PetscErrorCode PetscViewerGLVisSetFields(PetscViewer viewer, PetscInt nf, const char *fec_type[], PetscInt dim[], PetscErrorCode (*g2l)(PetscObject, PetscInt, PetscObject[], PetscCtx), PetscObject Vfield[], PetscCtx ctx, PetscCtxDestroyFn *destroyctx)

Logically Collective

## Input Parameters

- viewer - the `PetscViewer` of type `PETSCVIEWERGLVIS`

- nf - number of fields to be visualized

- fec_type - the type of finite element to be used to visualize the data (see FiniteElementCollection::Name() in MFEM)

- dim - array of space dimension for field vectors (used to initialize the scene)

- g2l - User routine to compute the local field vectors to be visualized; PetscObject is used in place of Vec on the prototype

- Vfield - array of work vectors, one for each field

- ctx - User context to store the relevant data to apply g2lfields

- destroyctx - Destroy function for ctx

## Notes

`g2lfields` is called on the vector V to be visualized in order to extract the relevant dofs to be put in `Vfield`, as

      g2lfields((PetscObject)V,nfields,(PetscObject*)Vfield[],ctx).

For vector spaces, the block size of `Vfield`[i] represents the vector dimension. The names of the `Vfield` vectors will be displayed in the window title.

## See Also

Viewers: Looking at PETSc Objects, `PETSCVIEWERGLVIS`, `PetscViewerGLVisOpen()`, `PetscViewerCreate()`, `PetscViewerSetType()`, `PetscObjectSetName()`

## Level

intermediate

## Location

src/sys/classes/viewer/impls/glvis/glvis.c

## Examples

src/ksp/ksp/tutorials/ex43.c

## Implementations

PetscViewerGLVisSetFields_GLVis(PetscViewer viewer, PetscInt nfields, const char *fec_type[], PetscInt dim[], PetscErrorCode (*g2l)() in src/sys/classes/viewer/impls/glvis/glvis.c

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