1*2f8f6c92SMatthew G. Knepley #include "petscviewer.h" 222d6dc08SStefano Zampini #include <petsc/private/viewerimpl.h> /*I "petscsys.h" I*/ 322d6dc08SStefano Zampini 422d6dc08SStefano Zampini /*@C 522d6dc08SStefano Zampini PETSC_VIEWER_PYVISTA_ - Creates a PyVista `PetscViewer` shared by all MPI processes in a communicator. 622d6dc08SStefano Zampini 722d6dc08SStefano Zampini Collective 822d6dc08SStefano Zampini 922d6dc08SStefano Zampini Input Parameter: 1022d6dc08SStefano Zampini . comm - the MPI communicator to share the `PetscViewer` 1122d6dc08SStefano Zampini 1222d6dc08SStefano Zampini Level: developer 1322d6dc08SStefano Zampini 1422d6dc08SStefano Zampini Note: 1522d6dc08SStefano Zampini Unlike almost all other PETSc routines, `PETSC_VIEWER_PYVISTA_()` does not return 1622d6dc08SStefano Zampini an error code. It is usually used in the form 1722d6dc08SStefano Zampini .vb 1822d6dc08SStefano Zampini XXXView(XXX object, PETSC_VIEWER_PYVISTA_(comm)); 1922d6dc08SStefano Zampini .ve 2022d6dc08SStefano Zampini 2122d6dc08SStefano Zampini .seealso: [](sec_viewers), `PetscViewer` 2222d6dc08SStefano Zampini @*/ 2322d6dc08SStefano Zampini PetscViewer PETSC_VIEWER_PYVISTA_(MPI_Comm comm) 2422d6dc08SStefano Zampini { 2522d6dc08SStefano Zampini PetscViewer viewer; 2622d6dc08SStefano Zampini 2722d6dc08SStefano Zampini PetscFunctionBegin; 2822d6dc08SStefano Zampini PetscCallNull(PetscViewerCreate(comm, &viewer)); 2922d6dc08SStefano Zampini PetscCallNull(PetscViewerSetType(viewer, PETSCVIEWERPYVISTA)); 30*2f8f6c92SMatthew G. Knepley PetscCallNull(PetscViewerSetFromOptions(viewer)); 3122d6dc08SStefano Zampini PetscCallNull(PetscObjectRegisterDestroy((PetscObject)viewer)); 3222d6dc08SStefano Zampini PetscFunctionReturn(viewer); 3322d6dc08SStefano Zampini } 3422d6dc08SStefano Zampini 3522d6dc08SStefano Zampini /*MC 3622d6dc08SStefano Zampini PETSCVIEWERPYVISTA - A PyVista viewer implemented using Python code 3722d6dc08SStefano Zampini 3822d6dc08SStefano Zampini Level: beginner 3922d6dc08SStefano Zampini 4022d6dc08SStefano Zampini Notes: 4122d6dc08SStefano Zampini Currently the `DM` viewer only supports `DMPLEX` meshes. 4222d6dc08SStefano Zampini 4322d6dc08SStefano Zampini .seealso: [](sec_viewers), `PetscViewer`, `PetscViewerCreate()`, `VecView()`, `DMView()`, `DMPLEX` 4422d6dc08SStefano Zampini M*/ 4522d6dc08SStefano Zampini PETSC_EXTERN PetscErrorCode PetscViewerCreate_PyVista(PetscViewer viewer) 4622d6dc08SStefano Zampini { 4722d6dc08SStefano Zampini PetscFunctionBegin; 4822d6dc08SStefano Zampini PetscCall(PetscPythonInitialize(NULL, NULL)); 4922d6dc08SStefano Zampini PetscCall(PetscViewerSetType(viewer, PETSCVIEWERPYTHON)); 5022d6dc08SStefano Zampini PetscCall(PetscObjectChangeTypeName((PetscObject)viewer, PETSCVIEWERPYVISTA)); 5122d6dc08SStefano Zampini PetscCall(PetscViewerPythonSetType(viewer, "petsc4py.lib._pytypes.viewer.petscpyvista.PetscPyVista")); 5222d6dc08SStefano Zampini PetscFunctionReturn(PETSC_SUCCESS); 5322d6dc08SStefano Zampini } 54