xref: /petsc/src/sys/ftn-mod/petscviewer.h90 (revision c895e7bbb57c82a492704e29c0086077e92cdc7e)
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