xref: /petsc/src/vec/ftn-mod/petscvecmod.F90 (revision fe66ebcc023cb303106674d426ee542bea707d38)
16dd63270SBarry Smith        module petscisdef
2*fe66ebccSMartin Diehluse, intrinsic :: ISO_C_binding
36dd63270SBarry Smith        use petscsysdef
46dd63270SBarry Smith#include <petsc/finclude/petscis.h>
56dd63270SBarry Smith#include <../ftn/vec/petscis.h>
66dd63270SBarry Smith#include <petsc/finclude/petscsf.h>
76dd63270SBarry Smith#include <../ftn/vec/petscsf.h>
86dd63270SBarry Smith#include <petsc/finclude/petscsection.h>
96dd63270SBarry Smith#include <../ftn/vec/petscsection.h>
106dd63270SBarry Smith
116dd63270SBarry Smith        end module
126dd63270SBarry Smith
136dd63270SBarry Smith!     Needed by Fortran stub petscsfgetgraph_()
146dd63270SBarry Smith      subroutine F90Array1dCreateSFNode(array,start,len,ptr)
156dd63270SBarry Smith      use petscisdef
166dd63270SBarry Smith      implicit none
176dd63270SBarry Smith      PetscInt start,len
186dd63270SBarry Smith      PetscSFNode, target :: array(start:start+len-1)
196dd63270SBarry Smith      PetscSFNode, pointer :: ptr(:)
206dd63270SBarry Smith      ptr => array
216dd63270SBarry Smith      end subroutine
226dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
236dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: F90Array1dCreateSFNode
246dd63270SBarry Smith#endif
256dd63270SBarry Smith
266dd63270SBarry Smith      subroutine F90Array1dDestroySFNode(ptr)
276dd63270SBarry Smith      use petscisdef
286dd63270SBarry Smith      implicit none
296dd63270SBarry Smith      PetscSFNode, pointer :: ptr(:)
306dd63270SBarry Smith      nullify(ptr)
316dd63270SBarry Smith      end subroutine
326dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
336dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: F90Array1dDestroySFNode
346dd63270SBarry Smith#endif
356dd63270SBarry Smith
366dd63270SBarry Smith!     ----------------------------------------------
376dd63270SBarry Smith
386dd63270SBarry Smith        module petscis
396dd63270SBarry Smith        use petscisdef
406dd63270SBarry Smith        use petscsys
416dd63270SBarry Smith
426dd63270SBarry Smith      interface PetscSFDestroyRemoteOffsets
436dd63270SBarry Smith      subroutine PetscSFDestroyRemoteOffsets(ptr, ierr)
446dd63270SBarry Smith      use petscisdef
456dd63270SBarry Smith      implicit none
466dd63270SBarry Smith      PetscInt, pointer :: ptr(:)
476dd63270SBarry Smith      PetscErrorCode :: ierr
486dd63270SBarry Smith      end subroutine PetscSFDestroyRemoteOffsets
496dd63270SBarry Smith      end interface
506dd63270SBarry Smith
516dd63270SBarry Smith#include <../src/vec/ftn-mod/petscis.h90>
526dd63270SBarry Smith#include <../ftn/vec/petscsf.h90>
536dd63270SBarry Smith#include <../ftn/vec/petscsection.h90>
546dd63270SBarry Smith#include <../ftn/vec/petscis.h90>
556dd63270SBarry Smith
566dd63270SBarry Smith        contains
576dd63270SBarry Smith
586dd63270SBarry Smith#include <../ftn/vec/petscsf.hf90>
596dd63270SBarry Smith#include <../ftn/vec/petscsection.hf90>
606dd63270SBarry Smith#include <../ftn/vec/petscis.hf90>
616dd63270SBarry Smith
626dd63270SBarry Smith      end module
636dd63270SBarry Smith
646dd63270SBarry Smith!     ----------------------------------------------
656dd63270SBarry Smith
666dd63270SBarry Smith        module petscvecdef
676dd63270SBarry Smith        use petscisdef
686dd63270SBarry Smith#include <petsc/finclude/petscvec.h>
696dd63270SBarry Smith#include <../ftn/vec/petscvec.h>
706dd63270SBarry Smith        end module
716dd63270SBarry Smith
726dd63270SBarry Smith!     ----------------------------------------------
736dd63270SBarry Smith
746dd63270SBarry Smith        module petscvec
756dd63270SBarry Smith        use petscis
766dd63270SBarry Smith        use petscvecdef
776dd63270SBarry Smith
786dd63270SBarry Smith#include <../src/vec/ftn-mod/petscvec.h90>
796dd63270SBarry Smith#include <../ftn/vec/petscvec.h90>
806dd63270SBarry Smith
816dd63270SBarry Smith        contains
826dd63270SBarry Smith
836dd63270SBarry Smith#include <../ftn/vec/petscvec.hf90>
846dd63270SBarry Smith
856dd63270SBarry Smith      end module
866dd63270SBarry Smith
876dd63270SBarry Smith!     ----------------------------------------------
886dd63270SBarry Smith
896dd63270SBarry Smith        module  petscaodef
906dd63270SBarry Smith        use petscsys
916dd63270SBarry Smith        use petscvecdef
926dd63270SBarry Smith#include <petsc/finclude/petscao.h>
936dd63270SBarry Smith#include <../ftn/vec/petscao.h>
946dd63270SBarry Smith        end module
956dd63270SBarry Smith
966dd63270SBarry Smith!     ----------------------------------------------
976dd63270SBarry Smith
986dd63270SBarry Smith        module petscao
996dd63270SBarry Smith        use petscsys
1006dd63270SBarry Smith        use petscaodef
1016dd63270SBarry Smith#include <../ftn/vec/petscao.h90>
1026dd63270SBarry Smith        contains
1036dd63270SBarry Smith#include <../ftn/vec/petscao.hf90>
1046dd63270SBarry Smith      end module
1056dd63270SBarry Smith
1066dd63270SBarry Smith!     ----------------------------------------------
1076dd63270SBarry Smith
1086dd63270SBarry Smith        module  petscpfdef
1096dd63270SBarry Smith        use petscsys
1106dd63270SBarry Smith        use petscvecdef
1116dd63270SBarry Smith#include <petsc/finclude/petscpf.h>
1126dd63270SBarry Smith#include <../ftn/vec/petscpf.h>
1136dd63270SBarry Smith        end module
1146dd63270SBarry Smith
1156dd63270SBarry Smith!     ----------------------------------------------
1166dd63270SBarry Smith
1176dd63270SBarry Smith        module petscpf
1186dd63270SBarry Smith        use petscsys
1196dd63270SBarry Smith        use petscpfdef
1206dd63270SBarry Smith#include <../ftn/vec/petscpf.h90>
1216dd63270SBarry Smith        contains
1226dd63270SBarry Smith#include <../ftn/vec/petscpf.hf90>
1236dd63270SBarry Smith      end module
124