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