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 92 subroutine 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 99 end subroutine PetscViewerHDF5WriteAttributeInt 100 101 subroutine 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 108 end subroutine PetscViewerHDF5WriteAttributeScalar 109 110#if defined(PETSC_USE_COMPLEX) 111 subroutine 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 118 end subroutine PetscViewerHDF5WriteAttributeReal 119#endif 120 121end interface PetscViewerHDF5WriteAttribute 122