xref: /petsc/src/sys/ftn-mod/petscviewer.h90 (revision bcd4bb4a4158aa96f212e9537e87b40407faf83e)
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, lab, 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) :: lab
17    PetscErrorCode, intent(out):: ierr
18  end subroutine
19
20  subroutine PetscViewerASCIISetFileUnit(lab, unit, ierr)
21    use, intrinsic :: ISO_C_binding
22    import tPetscViewer
23    PetscViewer, intent(in) :: lab
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(v, a, cnt, tmp, ierr)
37    use, intrinsic :: ISO_C_binding
38    import tPetscViewer
39    PetscViewer v
40    PetscInt a(*)
41    PetscInt cnt
42    PetscBool tmp
43    PetscErrorCode, intent(out):: ierr
44  end subroutine
45  subroutine PetscViewerBinaryWriteScalar(v, a, cnt, tmp, ierr)
46    use, intrinsic :: ISO_C_binding
47    import tPetscViewer
48    PetscViewer v
49    PetscScalar a(*)
50    PetscInt cnt
51    PetscBool tmp
52    PetscErrorCode, intent(out):: ierr
53  end subroutine
54#if defined(PETSC_USE_COMPLEX)
55  subroutine PetscViewerBinaryWriteReal(v, a, cnt, tmp, ierr)
56    use, intrinsic :: ISO_C_binding
57    import tPetscViewer
58    PetscViewer v
59    PetscReal a(*)
60    PetscInt cnt
61    PetscBool tmp
62    PetscErrorCode, intent(out):: ierr
63  end subroutine
64#endif
65end interface PetscViewerBinaryWrite
66
67interface PetscViewerBinaryRead
68  subroutine PetscViewerBinaryReadInt(v, a, cnt, ierr)
69    use, intrinsic :: ISO_C_binding
70    import tPetscViewer
71    PetscViewer v
72    PetscInt a(*)
73    PetscInt cnt
74    PetscErrorCode, intent(out):: ierr
75  end subroutine
76  subroutine PetscViewerBinaryReadScalar(v, a, cnt, ierr)
77    use, intrinsic :: ISO_C_binding
78    import tPetscViewer
79    PetscViewer v
80    PetscScalar a(*)
81    PetscInt cnt
82    PetscErrorCode, intent(out):: ierr
83  end subroutine
84#if defined(PETSC_USE_COMPLEX)
85  subroutine PetscViewerBinaryReadReal(v, a, cnt, ierr)
86    use, intrinsic :: ISO_C_binding
87    import tPetscViewer
88    PetscViewer v
89    PetscReal a(*)
90    PetscInt cnt
91    PetscErrorCode, intent(out):: ierr
92  end subroutine
93#endif
94end interface PetscViewerBinaryRead
95
96interface PetscViewerHDF5WriteAttribute
97  subroutine PetscViewerHDF5WriteAttributeInt(viewer, parent, name, value, ierr)
98    use, intrinsic :: ISO_C_binding
99    import tPetscViewer
100    PetscViewer :: viewer
101    character(len=*), intent(in) :: parent, name
102    PetscInt, intent(in) :: value
103    PetscErrorCode, intent(out):: ierr
104  end subroutine PetscViewerHDF5WriteAttributeInt
105  subroutine PetscViewerHDF5WriteAttributeScalar(viewer, parent, name, value, ierr)
106    use, intrinsic :: ISO_C_binding
107    import tPetscViewer
108    PetscViewer :: viewer
109    character(len=*), intent(in) :: parent, name
110    PetscScalar, intent(in) :: value
111    PetscErrorCode, intent(out):: ierr
112  end subroutine PetscViewerHDF5WriteAttributeScalar
113#if defined(PETSC_USE_COMPLEX)
114  subroutine PetscViewerHDF5WriteAttributeReal(viewer, parent, name, value, ierr)
115    use, intrinsic :: ISO_C_binding
116    import tPetscViewer
117    PetscViewer :: viewer
118    character(len=*), intent(in) :: parent, name
119    PetscReal, intent(in) :: value
120    PetscErrorCode, intent(out):: ierr
121  end subroutine PetscViewerHDF5WriteAttributeReal
122#endif
123end interface PetscViewerHDF5WriteAttribute
124