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