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 10 subroutine PetscViewerASCIIOpenWithFileUnit(comm, unit, viewer, ierr) 11 use, intrinsic :: ISO_C_binding 12 use petscmpi 13 import tPetscViewer 14 MPIU_Comm, intent(in) :: comm 15 integer, intent(in) :: unit 16 PetscViewer, intent(out) :: viewer 17 PetscErrorCode, intent(out):: ierr 18 end subroutine 19 20 subroutine PetscViewerASCIISetFileUnit(viewer, unit, ierr) 21 use, intrinsic :: ISO_C_binding 22 import tPetscViewer 23 PetscViewer, intent(in) :: viewer 24 integer, intent(in) :: unit 25 PetscErrorCode, intent(out):: ierr 26 end subroutine 27end interface 28 29#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 30!DEC$ ATTRIBUTES DLLEXPORT::PetscFortranPrintToFileUnit 31!DEC$ ATTRIBUTES DLLEXPORT::PetscViewerASCIIOpenWithFileUnit 32!DEC$ ATTRIBUTES DLLEXPORT::PetscViewerASCIISetFileUnit 33#endif 34 35interface PetscViewerBinaryWrite 36 subroutine PetscViewerBinaryWriteInt(viewer, data, count, ierr) 37 use, intrinsic :: ISO_C_binding 38 import tPetscViewer 39 PetscViewer viewer 40 PetscInt data(*) 41 PetscInt count 42 PetscErrorCode, intent(out):: ierr 43 end subroutine 44 subroutine PetscViewerBinaryWriteScalar(viewer, data, count, ierr) 45 use, intrinsic :: ISO_C_binding 46 import tPetscViewer 47 PetscViewer viewer 48 PetscScalar data(*) 49 PetscInt count 50 PetscErrorCode, intent(out):: ierr 51 end subroutine 52#if defined(PETSC_USE_COMPLEX) 53 subroutine PetscViewerBinaryWriteReal(viewer, data, count, ierr) 54 use, intrinsic :: ISO_C_binding 55 import tPetscViewer 56 PetscViewer viewer 57 PetscReal data(*) 58 PetscInt count 59 PetscErrorCode, intent(out):: ierr 60 end subroutine 61#endif 62end interface PetscViewerBinaryWrite 63 64interface PetscViewerBinaryRead 65 subroutine PetscViewerBinaryReadInt(viewer, data, count, ierr) 66 use, intrinsic :: ISO_C_binding 67 import tPetscViewer 68 PetscViewer viewer 69 PetscInt data(*) 70 PetscInt count 71 PetscErrorCode, intent(out):: ierr 72 end subroutine 73 subroutine PetscViewerBinaryReadScalar(viewer, data, count, ierr) 74 use, intrinsic :: ISO_C_binding 75 import tPetscViewer 76 PetscViewer viewer 77 PetscScalar data(*) 78 PetscInt count 79 PetscErrorCode, intent(out):: ierr 80 end subroutine 81#if defined(PETSC_USE_COMPLEX) 82 subroutine PetscViewerBinaryReadReal(viewer, data, count, ierr) 83 use, intrinsic :: ISO_C_binding 84 import tPetscViewer 85 PetscViewer viewer 86 PetscReal data(*) 87 PetscInt count 88 PetscErrorCode, intent(out):: ierr 89 end subroutine 90#endif 91end interface PetscViewerBinaryRead 92 93interface PetscViewerHDF5WriteAttribute 94 subroutine PetscViewerHDF5WriteAttributeInt(viewer, parent, name, value, ierr) 95 use, intrinsic :: ISO_C_binding 96 import tPetscViewer 97 PetscViewer :: viewer 98 character(len=*), intent(in) :: parent, name 99 PetscInt, intent(in) :: value 100 PetscErrorCode, intent(out):: ierr 101 end subroutine PetscViewerHDF5WriteAttributeInt 102 subroutine PetscViewerHDF5WriteAttributeScalar(viewer, parent, name, value, ierr) 103 use, intrinsic :: ISO_C_binding 104 import tPetscViewer 105 PetscViewer :: viewer 106 character(len=*), intent(in) :: parent, name 107 PetscScalar, intent(in) :: value 108 PetscErrorCode, intent(out):: ierr 109 end subroutine PetscViewerHDF5WriteAttributeScalar 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 120end interface PetscViewerHDF5WriteAttribute 121