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