1*22d6dc08SStefano Zampini #include <petsc/private/viewerimpl.h> /*I "petscsys.h" I*/ 2*22d6dc08SStefano Zampini 3*22d6dc08SStefano Zampini /*@C 4*22d6dc08SStefano Zampini PETSC_VIEWER_PYVISTA_ - Creates a PyVista `PetscViewer` shared by all MPI processes in a communicator. 5*22d6dc08SStefano Zampini 6*22d6dc08SStefano Zampini Collective 7*22d6dc08SStefano Zampini 8*22d6dc08SStefano Zampini Input Parameter: 9*22d6dc08SStefano Zampini . comm - the MPI communicator to share the `PetscViewer` 10*22d6dc08SStefano Zampini 11*22d6dc08SStefano Zampini Level: developer 12*22d6dc08SStefano Zampini 13*22d6dc08SStefano Zampini Note: 14*22d6dc08SStefano Zampini Unlike almost all other PETSc routines, `PETSC_VIEWER_PYVISTA_()` does not return 15*22d6dc08SStefano Zampini an error code. It is usually used in the form 16*22d6dc08SStefano Zampini .vb 17*22d6dc08SStefano Zampini XXXView(XXX object, PETSC_VIEWER_PYVISTA_(comm)); 18*22d6dc08SStefano Zampini .ve 19*22d6dc08SStefano Zampini 20*22d6dc08SStefano Zampini .seealso: [](sec_viewers), `PetscViewer` 21*22d6dc08SStefano Zampini @*/ 22*22d6dc08SStefano Zampini PetscViewer PETSC_VIEWER_PYVISTA_(MPI_Comm comm) 23*22d6dc08SStefano Zampini { 24*22d6dc08SStefano Zampini PetscViewer viewer; 25*22d6dc08SStefano Zampini 26*22d6dc08SStefano Zampini PetscFunctionBegin; 27*22d6dc08SStefano Zampini PetscCallNull(PetscViewerCreate(comm, &viewer)); 28*22d6dc08SStefano Zampini PetscCallNull(PetscViewerSetType(viewer, PETSCVIEWERPYVISTA)); 29*22d6dc08SStefano Zampini PetscCallNull(PetscObjectRegisterDestroy((PetscObject)viewer)); 30*22d6dc08SStefano Zampini PetscFunctionReturn(viewer); 31*22d6dc08SStefano Zampini } 32*22d6dc08SStefano Zampini 33*22d6dc08SStefano Zampini /*MC 34*22d6dc08SStefano Zampini PETSCVIEWERPYVISTA - A PyVista viewer implemented using Python code 35*22d6dc08SStefano Zampini 36*22d6dc08SStefano Zampini Level: beginner 37*22d6dc08SStefano Zampini 38*22d6dc08SStefano Zampini Notes: 39*22d6dc08SStefano Zampini Currently the `DM` viewer only supports `DMPLEX` meshes. 40*22d6dc08SStefano Zampini 41*22d6dc08SStefano Zampini .seealso: [](sec_viewers), `PetscViewer`, `PetscViewerCreate()`, `VecView()`, `DMView()`, `DMPLEX` 42*22d6dc08SStefano Zampini M*/ 43*22d6dc08SStefano Zampini PETSC_EXTERN PetscErrorCode PetscViewerCreate_PyVista(PetscViewer viewer) 44*22d6dc08SStefano Zampini { 45*22d6dc08SStefano Zampini PetscFunctionBegin; 46*22d6dc08SStefano Zampini PetscCall(PetscPythonInitialize(NULL, NULL)); 47*22d6dc08SStefano Zampini PetscCall(PetscViewerSetType(viewer, PETSCVIEWERPYTHON)); 48*22d6dc08SStefano Zampini PetscCall(PetscObjectChangeTypeName((PetscObject)viewer, PETSCVIEWERPYVISTA)); 49*22d6dc08SStefano Zampini PetscCall(PetscViewerPythonSetType(viewer, "petsc4py.lib._pytypes.viewer.petscpyvista.PetscPyVista")); 50*22d6dc08SStefano Zampini PetscFunctionReturn(PETSC_SUCCESS); 51*22d6dc08SStefano Zampini } 52