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