1interface 2 Subroutine PetscFortranPrintToFileUnit(unit,str,ierr) 3 import tPetscViewer 4 integer unit 5 character(len=*), intent(in) :: str 6 PetscErrorCode, intent(out):: ierr 7 End Subroutine 8 Subroutine PetscViewerASCIIOpenWithFileUnit(comm,unit,lab,ierr) 9 import tPetscViewer 10 MPI_Comm, intent(in) :: comm 11 integer, intent(in) :: unit 12 PetscViewer, intent(out) :: lab 13 PetscErrorCode, intent(out):: ierr 14 End Subroutine 15 Subroutine PetscViewerASCIISetFileUnit(lab,unit,ierr) 16 import tPetscViewer 17 PetscViewer, intent(in) :: lab 18 integer, intent(in) :: unit 19 PetscErrorCode, intent(out):: ierr 20 End Subroutine 21end interface 22 23Interface PetscViewerBinaryWrite 24 Subroutine PetscViewerBinaryWriteInt(v,a,cnt,tmp,ierr) 25 import tPetscViewer 26 PetscViewer v 27 PetscInt a(*) 28 PetscInt cnt 29 PetscBool tmp 30 PetscErrorCode, intent(out):: ierr 31 End Subroutine 32 33 Subroutine PetscViewerBinaryWriteScalar(v,a,cnt,tmp,ierr) 34 import tPetscViewer 35 PetscViewer v 36 PetscScalar a(*) 37 PetscInt cnt 38 PetscBool tmp 39 PetscErrorCode, intent(out):: ierr 40 End Subroutine 41 42#if defined(PETSC_USE_COMPLEX) 43 Subroutine PetscViewerBinaryWriteReal(v,a,cnt,tmp,ierr) 44 import tPetscViewer 45 PetscViewer v 46 PetscReal a(*) 47 PetscInt cnt 48 PetscBool tmp 49 PetscErrorCode, intent(out):: ierr 50 End Subroutine 51#endif 52End Interface PetscViewerBinaryWrite 53 54Interface PetscViewerBinaryRead 55 Subroutine PetscViewerBinaryReadInt(v,a,cnt,ierr) 56 import tPetscViewer 57 PetscViewer v 58 PetscInt a(*) 59 PetscInt cnt 60 PetscErrorCode, intent(out):: ierr 61 End Subroutine 62 63 Subroutine PetscViewerBinaryReadScalar(v,a,cnt,ierr) 64 import tPetscViewer 65 PetscViewer v 66 PetscScalar a(*) 67 PetscInt cnt 68 PetscErrorCode, intent(out):: ierr 69 End Subroutine 70 71#if defined(PETSC_USE_COMPLEX) 72 Subroutine PetscViewerBinaryReadReal(v,a,cnt,ierr) 73 import tPetscViewer 74 PetscViewer v 75 PetscReal a(*) 76 PetscInt cnt 77 PetscErrorCode, intent(out):: ierr 78 End Subroutine 79#endif 80End Interface PetscViewerBinaryRead 81 82interface PetscViewerHDF5WriteAttribute 83subroutine PetscViewerHDF5WriteAttributeInt(viewer,parent,name,value,ierr) 84 import tPetscViewer 85 PetscViewer :: viewer 86 character(len=*), intent(in) :: parent,name 87 PetscInt, intent(in) :: value 88 PetscErrorCode, intent(out):: ierr 89end subroutine PetscViewerHDF5WriteAttributeInt 90 91subroutine PetscViewerHDF5WriteAttributeScalar(viewer,parent,name,value,ierr) 92 import tPetscViewer 93 PetscViewer :: viewer 94 character(len=*), intent(in) :: parent,name 95 PetscScalar, intent(in) :: value 96 PetscErrorCode, intent(out):: ierr 97end subroutine PetscViewerHDF5WriteAttributeScalar 98 99#if defined(PETSC_USE_COMPLEX) 100subroutine PetscViewerHDF5WriteAttributeReal(viewer,parent,name,value,ierr) 101 import tPetscViewer 102 PetscViewer :: viewer 103 character(len=*), intent(in) :: parent,name 104 PetscReal, intent(in) :: value 105 PetscErrorCode, intent(out):: ierr 106end subroutine PetscViewerHDF5WriteAttributeReal 107#endif 108 109end interface PetscViewerHDF5WriteAttribute 110