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