petsc-3.14.6 2021-03-30
Report Typos and Errors

PetscViewerSocketOpen

Opens a connection to a MATLAB or other socket based server.

Synopsis

PetscErrorCode  PetscViewerSocketOpen(MPI_Comm comm,const char machine[],int port,PetscViewer *lab)
Collective

Input Parameters

comm - the MPI communicator
machine - the machine the server is running on,, use NULL for the local machine, use "server" to passively wait for a connection from elsewhere
port - the port to connect to, use PETSC_DEFAULT for the default

Output Parameter

lab - a context to use when communicating with the server

Notes

Most users should employ the following commands to access the MATLAB PetscViewers

   PetscViewerSocketOpen(MPI_Comm comm, char *machine,int port,PetscViewer &viewer)
   MatView(Mat matrix,PetscViewer viewer)

               or

   PetscViewerSocketOpen(MPI_Comm comm,char *machine,int port,PetscViewer &viewer)
   VecView(Vec vector,PetscViewer viewer)

Options Database Keys

For use with PETSC_VIEWER_SOCKET_WORLD, PETSC_VIEWER_SOCKET_SELF, PETSC_VIEWER_SOCKET_() or if NULL is passed for machine or PETSC_DEFAULT is passed for port
   -viewer_socket_machine <machine>
   -viewer_socket_port <port>

Environmental variables

PETSC_VIEWER_SOCKET_PORT - portnumber
PETSC_VIEWER_SOCKET_MACHINE - machine name

Currently the only socket client available is MATLAB. See src/dm/tests/ex12.c and ex12.m for an example of usage.

Notes

The socket viewer is in some sense a subclass of the binary viewer, to read and write to the socket use PetscViewerBinaryRead(), PetscViewerBinaryWrite(), PetscViewerBinarWriteStringArray(), PetscViewerBinaryGetDescriptor().

Use this for communicating with an interactive MATLAB session, see PETSC_VIEWER_MATLAB_() for writing output to a .mat file. Use PetscMatlabEngineCreate() or PETSC_MATLAB_ENGINE_(), PETSC_MATLAB_ENGINE_SELF, or PETSC_MATLAB_ENGINE_WORLD for communicating with a MATLAB Engine

See Also

MatView(), VecView(), PetscViewerDestroy(), PetscViewerCreate(), PetscViewerSetType(),
PetscViewerSocketSetConnection(), PETSC_VIEWER_SOCKET_, PETSC_VIEWER_SOCKET_WORLD, PETSC_VIEWER_SOCKET_SELF, PetscViewerBinaryWrite(), PetscViewerBinaryRead(), PetscViewerBinaryWriteStringArray(), PetscBinaryViewerGetDescriptor(), PetscMatlabEngineCreate()

Level

intermediate

Location

src/sys/classes/viewer/impls/socket/send.c

Examples

src/vec/vec/tutorials/ex42a.c.html

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