1 module petscmatdef 2 use petscvecdef 3#include "petsc/finclude/petscmat.h" 4#include "petsc/finclude/petscmatcoarsen.h" 5#include "petsc/finclude/petscpartitioner.h" 6#include "petsc/finclude/petscmathypre.h" 7#include "petsc/finclude/petscmathtool.h" 8#include "petsc/finclude/petscmatelemental.h" 9#include <../ftn/mat/petscmat.h> 10#include <../ftn/mat/petscmatcoarsen.h> 11#include <../ftn/mat/petscpartitioner.h> 12 13 end module 14 15! ---------------------------------------------- 16 17 module petscmat 18 use petscmatdef 19 use petscvec 20 21#include <../src/mat/ftn-mod/petscmat.h90> 22#include <../ftn/mat/petscmat.h90> 23#include <../ftn/mat/petscmatcoarsen.h90> 24#include <../ftn/mat/petscpartitioner.h90> 25 26! deprecated functions 27 28 interface MatDenseGetArrayF90 29 module procedure MatDenseGetArrayF901d, MatDenseGetArrayF902d 30 end interface 31 32 interface MatDenseRestoreArrayF90 33 module procedure MatDenseRestoreArrayF901d, MatDenseRestoreArrayF902d 34 end interface 35 36 interface MatDenseGetArrayReadF90 37 module procedure MatDenseGetArrayReadF901d, MatDenseGetArrayReadF902d 38 end interface 39 40 interface MatDenseRestoreArrayReadF90 41 module procedure MatDenseRestoreArrayWriteF901d, MatDenseRestoreArrayWriteF902d 42 end interface 43 44 interface MatDenseGetArrayWriteF90 45 module procedure MatDenseGetArrayWriteF901d, MatDenseGetArrayWriteF902d 46 end interface 47 48 interface MatDenseRestoreArrayWriteF90 49 module procedure MatDenseRestoreArrayWriteF901d, MatDenseRestoreArrayWriteF902d 50 end interface 51 52 contains 53 54#include <../ftn/mat/petscmat.hf90> 55#include <../ftn/mat/petscmatcoarsen.hf90> 56#include <../ftn/mat/petscpartitioner.hf90> 57 58#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 59!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayF901d 60#endif 61 Subroutine MatDenseGetArrayF901d(v,array,ierr) 62 PetscScalar, pointer :: array(:) 63 PetscErrorCode ierr 64 Mat v 65 call MatDenseGetArray(v,array,ierr) 66 End Subroutine 67 68#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 69!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayF901d 70#endif 71 Subroutine MatDenseRestoreArrayF901d(v,array,ierr) 72 PetscScalar, pointer :: array(:) 73 PetscErrorCode ierr 74 Mat v 75 call MatDenseRestoreArray(v,array,ierr) 76 End Subroutine 77 78#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 79!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayReadF901d 80#endif 81 Subroutine MatDenseGetArrayReadF901d(v,array,ierr) 82 PetscScalar, pointer :: array(:) 83 PetscErrorCode ierr 84 Mat v 85 call MatDenseGetArrayRead(v,array,ierr) 86 End Subroutine 87 88#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 89!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayReadF901d 90#endif 91 Subroutine MatDenseRestoreArrayReadF901d(v,array,ierr) 92 PetscScalar, pointer :: array(:) 93 PetscErrorCode ierr 94 Mat v 95 call MatDenseRestoreArrayRead(v,array,ierr) 96 End Subroutine 97 98#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 99!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayWriteF901d 100#endif 101 Subroutine MatDenseGetArrayWriteF901d(v,array,ierr) 102 PetscScalar, pointer :: array(:) 103 PetscErrorCode ierr 104 Mat v 105 call MatDenseGetArrayWrite(v,array,ierr) 106 End Subroutine 107 108#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 109!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayWriteF901d 110#endif 111 Subroutine MatDenseRestoreArrayWriteF901d(v,array,ierr) 112 PetscScalar, pointer :: array(:) 113 PetscErrorCode ierr 114 Mat v 115 call MatDenseRestoreArrayWrite(v,array,ierr) 116 End Subroutine 117 118#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 119!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayF902d 120#endif 121 Subroutine MatDenseGetArrayF902d(v,array,ierr) 122 PetscScalar, pointer :: array(:,:) 123 PetscErrorCode ierr 124 Mat v 125 call MatDenseGetArray(v,array,ierr) 126 End Subroutine 127 128#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 129!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayF902d 130#endif 131 Subroutine MatDenseRestoreArrayF902d(v,array,ierr) 132 PetscScalar, pointer :: array(:,:) 133 PetscErrorCode ierr 134 Mat v 135 call MatDenseRestoreArray(v,array,ierr) 136 End Subroutine 137 138#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 139!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayReadF902d 140#endif 141 Subroutine MatDenseGetArrayReadF902d(v,array,ierr) 142 PetscScalar, pointer :: array(:,:) 143 PetscErrorCode ierr 144 Mat v 145 call MatDenseGetArrayRead(v,array,ierr) 146 End Subroutine 147 148#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 149!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayReadF90 150#endif 151 Subroutine MatDenseRestoreArrayReadF902d(v,array,ierr) 152 PetscScalar, pointer :: array(:,:) 153 PetscErrorCode ierr 154 Mat v 155 call MatDenseRestoreArrayRead(v,array,ierr) 156 End Subroutine 157 158#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 159!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayWriteF90 160#endif 161 Subroutine MatDenseGetArrayWriteF902d(v,array,ierr) 162 PetscScalar, pointer :: array(:,:) 163 PetscErrorCode ierr 164 Mat v 165 call MatDenseGetArrayWrite(v,array,ierr) 166 End Subroutine 167 168#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 169!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayWriteF90 170#endif 171 Subroutine MatDenseRestoreArrayWriteF902d(v,array,ierr) 172 PetscScalar, pointer :: array(:,:) 173 PetscErrorCode ierr 174 Mat v 175 call MatDenseRestoreArrayWrite(v,array,ierr) 176 End Subroutine 177 178 end module 179