Hm - I do see the fortran interface code for PETSC_VIEWER_STDOUT_() https://bitbucket.org/petsc/petsc/src/049452fa31a1384b9850ba16ebcec79c99e4198c/src/sys/classes/viewer/impls/ascii/ftn-custom/zvcreatef.c?at=master&fileviewer=file-view-default
and it does appear to work for me. balay@asterix /home/balay/petsc/src/mat/examples/tests (master *=) $ git diff diff --git a/src/mat/examples/tests/ex16f90.F90 b/src/mat/examples/tests/ex16f90.F90 index 6bb83b4644..fee44aea95 100644 --- a/src/mat/examples/tests/ex16f90.F90 +++ b/src/mat/examples/tests/ex16f90.F90 @@ -15,6 +15,7 @@ PetscInt one PetscScalar v(1) PetscScalar, pointer :: array(:,:) + PetscViewer vw call PetscInitialize(PETSC_NULL_CHARACTER,ierr) @@ -49,7 +50,8 @@ ! ! Print the matrix to the screen ! - call MatView(A,PETSC_VIEWER_STDOUT_WORLD,ierr);CHKERRA(ierr) + vw = PETSC_VIEWER_STDOUT_(PETSC_COMM_WORLD) + call MatView(A,vw,ierr);CHKERRA(ierr) ! balay@asterix /home/balay/petsc/src/mat/examples/tests (master *=) $ mpiexec -n 2 ./ex16f90 Mat Object: 2 MPI processes type: mpidense 9.0000000000000000e+00 4.5000000000000000e+00 4.5000000000000000e+00 3.0000000000000000e+00 3.0000000000000000e+00 2.2500000000000000e+00 balay@asterix /home/balay/petsc/src/mat/examples/tests (master *=) $ Satish On Tue, 6 Mar 2018, Tim Steinhoff wrote: > Hi Barry, > > thanks for your fast response. Yes, I'm fine with that. > Indeed, my code with the routine PETSC_VIEWER_STDOUT_(comm) was > compilable, but turned out it did not work properly at runtime > (hangs). > When using PETSC_VIEWER_DRAW_(comm), the compiler immediately gives an > error and I was confused. > > Thanks, > > Volker > > By the way, the output parameter description of > PetscViewerASCIIGetStdout is missing in the documentation: > http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Viewer/PetscViewerASCIIGetStdout.html > > > 2018-03-06 16:26 GMT+01:00 Smith, Barry F. <bsm...@mcs.anl.gov>: > > > > > > Tim, > > > > The PETSC_VIEWER_STDOUT_(comm) construct doesn't work in Fortran. > > Only the > > PETSC_VIEWER_STDOUT_WORLD or PETSC_VIEWER_STDOUT_SELF work. This is also > > true for > > draw see src/ksp/ksp/examples/tutorials/ex100f.F90 > > > > Note that you can use PetscViewerDrawOpen() to get a draw to open on any > > communicator you like. > > > > > > Does this answer your question or did I misunderstand? > > > > Barry > > > > > > > > > >> On Mar 6, 2018, at 9:02 AM, Tim Steinhoff <kandanov...@gmail.com> wrote: > >> > >> Hi all, > >> > >> it seems like the routine PETSC_VIEWER_DRAW_(comm) is not available > >> in Fortran, while PETSC_VIEWER_STDOUT_(comm) is. > >> Is there anything I can do about it? (I am using the current maint > >> branch of PETSc) > >> > >> Thank you very much and kind regards, > >> > >> Volker > > >