Skip to main content
`Ctrl`+`K`

# PetscOptionsCreateViewers

Create multiple viewers from a comma-separated list in the options database

## Synopsis

    #include "petscviewer.h"
    PetscErrorCode PetscOptionsCreateViewers(MPI_Comm comm, PetscOptions options, const char pre[], const char name[], PetscInt *n_max, PetscViewer viewers[], PetscViewerFormat formats[], PetscBool *set)

Collective

## Input Parameters

- comm - the communicator to own the viewers

- options - options database, use `NULL` for default global database

- pre - the string to prepend to the name or `NULL`

- name - the options database name that will be checked for

- n_max - on input: the maximum number of viewers; on output: the number of viewers in the comma-separated list

## Output Parameters

- viewers - an array to hold at least `n_max` `PetscViewer`s, or `NULL` if not needed; on output: if not `NULL`, the first `n_max` entries are initialized `PetscViewer`s

- formats - an array to hold at least `n_max` `PetscViewerFormat`s, or `NULL` if not needed; on output: if not `NULL`, the first `n_max` entries are valid `PetscViewewFormat`s

- set - `PETSC_TRUE` if found, else `PETSC_FALSE`

## Note

See `PetscOptionsCreateViewer()` for how the format strings for the viewers are interpreted.

Use `PetscViewerDestroy()` on each viewer, otherwise a memory leak will occur.

If PETSc is configured with `--with-viewfromoptions=0` this function always returns with `n_max` of 0 and `set` of `PETSC_FALSE`

## See Also

Viewers: Looking at PETSc Objects, `PetscOptionsCreateViewer()`

## Level

intermediate

## Location

src/sys/classes/viewer/interface/viewreg.c

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