# PetscViewerGetSingleton

Creates a new PetscViewer (same type as the old) that lives on a single processor (with MPI_comm PETSC_COMM_SELF)

### Synopsis

    #include "petscviewer.h"
    PetscErrorCode PETSC_DLLEXPORT PetscViewerGetSingleton(PetscViewer viewer,PetscViewer *outviewer)

Collective on PetscViewer

### Input Parameter

viewer -the PetscViewer to be duplicated

### Output Parameter

outviewer -new PetscViewer

Notes: Call PetscViewerRestoreSingleton() to return this PetscViewer, NOT PetscViewerDestroy()

This is most commonly used to view a sequential object that is part of a parallel object. For example block Jacobi PC view could use this to obtain a PetscViewer that is used with the sequential KSP on one block of the preconditioner.

### See Also

PetscViewerSocketOpen(), PetscViewerASCIIOpen(), PetscViewerDrawOpen(), PetscViewerRestoreSingleton()

Level:advanced
Location:src/sys/src/viewer/interface/dupl.c
Index of all Viewer routines
Table of Contents for all manual pages
Index of all manual pages