Actual source code: petscvecmod.F90
1: module petscisdef
2: use petscsysdef
3: #include <petsc/finclude/petscis.h>
4: #include <../ftn/vec/petscis.h>
5: #include <petsc/finclude/petscsf.h>
6: #include <../ftn/vec/petscsf.h>
7: #include <petsc/finclude/petscsection.h>
8: #include <../ftn/vec/petscsection.h>
10: end module
12: ! Needed by Fortran stub petscsfgetgraph_()
13: subroutine F90Array1dCreateSFNode(array,start,len,ptr)
14: use petscisdef
15: implicit none
16: PetscInt start,len
17: PetscSFNode, target :: array(start:start+len-1)
18: PetscSFNode, pointer :: ptr(:)
19: ptr => array
20: end subroutine
21: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
22: !DEC$ ATTRIBUTES DLLEXPORT:: F90Array1dCreateSFNode
23: #endif
25: subroutine F90Array1dDestroySFNode(ptr)
26: use petscisdef
27: implicit none
28: PetscSFNode, pointer :: ptr(:)
29: nullify(ptr)
30: end subroutine
31: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
32: !DEC$ ATTRIBUTES DLLEXPORT:: F90Array1dDestroySFNode
33: #endif
35: ! ----------------------------------------------
37: module petscis
38: use petscisdef
39: use petscsys
41: interface PetscSFDestroyRemoteOffsets
42: subroutine PetscSFDestroyRemoteOffsets(ptr, ierr)
43: use petscisdef
44: implicit none
45: PetscInt, pointer :: ptr(:)
46: PetscErrorCode :: ierr
47: end subroutine PetscSFDestroyRemoteOffsets
48: end interface
50: #include <../src/vec/ftn-mod/petscis.h90>
51: #include <../ftn/vec/petscsf.h90>
52: #include <../ftn/vec/petscsection.h90>
53: #include <../ftn/vec/petscis.h90>
55: contains
57: #include <../ftn/vec/petscsf.hf90>
58: #include <../ftn/vec/petscsection.hf90>
59: #include <../ftn/vec/petscis.hf90>
61: end module
63: ! ----------------------------------------------
65: module petscvecdef
66: use petscisdef
67: #include <petsc/finclude/petscvec.h>
68: #include <../ftn/vec/petscvec.h>
69: end module
71: ! ----------------------------------------------
73: module petscvec
74: use petscis
75: use petscvecdef
77: #include <../src/vec/ftn-mod/petscvec.h90>
78: #include <../ftn/vec/petscvec.h90>
80: contains
82: #include <../ftn/vec/petscvec.hf90>
84: end module
86: ! ----------------------------------------------
88: module petscaodef
89: use petscsys
90: use petscvecdef
91: #include <petsc/finclude/petscao.h>
92: #include <../ftn/vec/petscao.h>
93: end module
95: ! ----------------------------------------------
97: module petscao
98: use petscsys
99: use petscaodef
100: #include <../ftn/vec/petscao.h90>
101: contains
102: #include <../ftn/vec/petscao.hf90>
103: end module
105: ! ----------------------------------------------
107: module petscpfdef
108: use petscsys
109: use petscvecdef
110: #include <petsc/finclude/petscpf.h>
111: #include <../ftn/vec/petscpf.h>
112: end module
114: ! ----------------------------------------------
116: module petscpf
117: use petscsys
118: use petscpfdef
119: #include <../ftn/vec/petscpf.h90>
120: contains
121: #include <../ftn/vec/petscpf.hf90>
122: end module