:orphan: # PetscViewerSAWsOpen Opens an SAWs `PetscViewer`. ## Synopsis ``` #include "petscsys.h" */ PetscErrorCode PetscViewerSAWsOpen(MPI_Comm comm, PetscViewer *lab) ``` Collective; No Fortran Support ## Input Parameter - ***comm -*** the MPI communicator ## Output Parameter - ***lab -*** the `PetscViewer` ## Options Database Keys - ***-saws_port -*** port number where you are running SAWs client - ***-xxx_view saws -*** publish the object xxx - ***-xxx_saws_block -*** blocks the program at the end of a critical point (for `KSP` and `SNES` it is the end of a solve) until the user unblocks the problem with an external tool that access the object with SAWS ## Notes Unlike other viewers that only access the object being viewed on the call to `XXXView`(object,viewer) the SAWs viewer allows one to view the object asynchronously as the program continues to run. One can remove SAWs access to the object with a call to `PetscObjectSAWsViewOff()`. Information about the SAWs is available via https://bitbucket.org/saws/saws ## See Also [](sec_viewers), `PetscViewerDestroy()`, `PetscViewerStringSPrintf()`, `PETSC_VIEWER_SAWS_()`, `PetscObjectSAWsBlock()`, `PetscObjectSAWsViewOff()`, `PetscObjectSAWsTakeAccess()`, `PetscObjectSAWsGrantAccess()` ## Level advanced ## Location src/sys/classes/viewer/impls/ams/amsopen.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/sys/classes/viewer/impls/ams/amsopen.c) [Index of all Viewer routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)