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 27 28 subroutine PetscViewerASCIISynchronizedPrintf(viewer, msg, ierr) 29 use, intrinsic :: ISO_C_binding 30 import tPetscViewer 31 PetscViewer, intent(in) :: viewer 32 character(len=*) :: msg 33 PetscErrorCode, intent(out) :: ierr 34 end subroutine 35 36 subroutine PetscViewerASCIIPrintf(viewer, msg, ierr) 37 use, intrinsic :: ISO_C_binding 38 import tPetscViewer 39 PetscViewer, intent(in) :: viewer 40 character(len=*) :: msg 41 PetscErrorCode, intent(out) :: ierr 42 end subroutine 43 44end interface 45 46#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 47!DEC$ ATTRIBUTES DLLEXPORT::PetscFortranPrintToFileUnit 48!DEC$ ATTRIBUTES DLLEXPORT::PetscViewerASCIIOpenWithFileUnit 49!DEC$ ATTRIBUTES DLLEXPORT::PetscViewerASCIISetFileUnit 50!DEC$ ATTRIBUTES DLLEXPORT::PetscViewerASCIISynchronizedPrintf 51!DEC$ ATTRIBUTES DLLEXPORT::PetscViewerASCIIPrintf 52#endif 53 54interface PetscViewerBinaryWrite 55 subroutine PetscViewerBinaryWriteInt(viewer, data, count, ierr) 56 use, intrinsic :: ISO_C_binding 57 import tPetscViewer 58 PetscViewer viewer 59 PetscInt data(*) 60 PetscInt count 61 PetscErrorCode, intent(out):: ierr 62 end subroutine 63 subroutine PetscViewerBinaryWriteScalar(viewer, data, count, ierr) 64 use, intrinsic :: ISO_C_binding 65 import tPetscViewer 66 PetscViewer viewer 67 PetscScalar data(*) 68 PetscInt count 69 PetscErrorCode, intent(out):: ierr 70 end subroutine 71#if defined(PETSC_USE_COMPLEX) 72 subroutine PetscViewerBinaryWriteReal(viewer, data, count, ierr) 73 use, intrinsic :: ISO_C_binding 74 import tPetscViewer 75 PetscViewer viewer 76 PetscReal data(*) 77 PetscInt count 78 PetscErrorCode, intent(out):: ierr 79 end subroutine 80#endif 81end interface PetscViewerBinaryWrite 82 83interface PetscViewerBinaryRead 84 subroutine PetscViewerBinaryReadInt(viewer, data, count, ierr) 85 use, intrinsic :: ISO_C_binding 86 import tPetscViewer 87 PetscViewer viewer 88 PetscInt data(*) 89 PetscInt count 90 PetscErrorCode, intent(out):: ierr 91 end subroutine 92 subroutine PetscViewerBinaryReadScalar(viewer, data, count, ierr) 93 use, intrinsic :: ISO_C_binding 94 import tPetscViewer 95 PetscViewer viewer 96 PetscScalar data(*) 97 PetscInt count 98 PetscErrorCode, intent(out):: ierr 99 end subroutine 100#if defined(PETSC_USE_COMPLEX) 101 subroutine PetscViewerBinaryReadReal(viewer, data, count, ierr) 102 use, intrinsic :: ISO_C_binding 103 import tPetscViewer 104 PetscViewer viewer 105 PetscReal data(*) 106 PetscInt count 107 PetscErrorCode, intent(out):: ierr 108 end subroutine 109#endif 110end interface PetscViewerBinaryRead 111 112interface PetscViewerHDF5WriteAttribute 113 subroutine PetscViewerHDF5WriteAttributeInt(viewer, parent, name, value, ierr) 114 use, intrinsic :: ISO_C_binding 115 import tPetscViewer 116 PetscViewer :: viewer 117 character(len=*), intent(in) :: parent, name 118 PetscInt, intent(in) :: value 119 PetscErrorCode, intent(out):: ierr 120 end subroutine PetscViewerHDF5WriteAttributeInt 121 subroutine PetscViewerHDF5WriteAttributeScalar(viewer, parent, name, value, ierr) 122 use, intrinsic :: ISO_C_binding 123 import tPetscViewer 124 PetscViewer :: viewer 125 character(len=*), intent(in) :: parent, name 126 PetscScalar, intent(in) :: value 127 PetscErrorCode, intent(out):: ierr 128 end subroutine PetscViewerHDF5WriteAttributeScalar 129#if defined(PETSC_USE_COMPLEX) 130 subroutine PetscViewerHDF5WriteAttributeReal(viewer, parent, name, value, ierr) 131 use, intrinsic :: ISO_C_binding 132 import tPetscViewer 133 PetscViewer :: viewer 134 character(len=*), intent(in) :: parent, name 135 PetscReal, intent(in) :: value 136 PetscErrorCode, intent(out):: ierr 137 end subroutine PetscViewerHDF5WriteAttributeReal 138#endif 139end interface PetscViewerHDF5WriteAttribute 140