1 2 3 Interface 4 Subroutine MatFDColoringRestorePerturbedColumns(i,len,array,ierr) 5 import tMatFDColoring 6 PetscInt, pointer :: array(:) 7 PetscInt len 8 PetscErrorCode ierr 9 MatFDColoring i 10 End Subroutine 11 End Interface 12 13 interface 14 subroutine MatSetValue(myMat,i,j,va,mode,ierr) 15 import tMat, eInsertMode 16 Mat :: myMat 17 PetscInt :: i,j 18 PetscScalar :: va 19 InsertMode :: mode 20 PetscErrorCode, intent(out) :: ierr 21 end subroutine 22 23 subroutine MatSetValueLocal(myMat,i,j,va,mode,ierr) 24 import tMat, eInsertMode 25 Mat :: myMat 26 PetscInt :: i,j 27 PetscScalar :: va 28 InsertMode :: mode 29 PetscErrorCode, intent(out) :: ierr 30 end subroutine 31 end interface 32 33 interface MatDenseGetArray 34 Subroutine MatDenseGetArray1d(v,array,ierr) 35 import tMat 36 PetscScalar, pointer :: array(:) 37 PetscErrorCode ierr 38 Mat v 39 End Subroutine 40 Subroutine MatDenseGetArray2d(v,array,ierr) 41 import tMat 42 PetscScalar, pointer :: array(:,:) 43 PetscErrorCode ierr 44 Mat v 45 End Subroutine 46 end interface 47 48 interface MatDenseRestoreArray 49 Subroutine MatDenseRestoreArray1d(v,array,ierr) 50 import tMat 51 PetscScalar, pointer :: array(:) 52 PetscErrorCode ierr 53 Mat v 54 End Subroutine 55 Subroutine MatDenseRestoreArray2d(v,array,ierr) 56 import tMat 57 PetscScalar, pointer :: array(:,:) 58 PetscErrorCode ierr 59 Mat v 60 End Subroutine 61 end interface 62 63 interface MatDenseGetArrayRead 64 Subroutine MatDenseGetArrayRead1d(v,array,ierr) 65 import tMat 66 PetscScalar, pointer :: array(:) 67 PetscErrorCode ierr 68 Mat v 69 End Subroutine 70 Subroutine MatDenseGetArrayRead2d(v,array,ierr) 71 import tMat 72 PetscScalar, pointer :: array(:,:) 73 PetscErrorCode ierr 74 Mat v 75 End Subroutine 76 end interface 77 78 interface MatDenseRestoreArrayRead 79 Subroutine MatDenseRestoreArrayRead1d(v,array,ierr) 80 import tMat 81 PetscScalar, pointer :: array(:) 82 PetscErrorCode ierr 83 Mat v 84 End Subroutine 85 Subroutine MatDenseRestoreArrayRead2d(v,array,ierr) 86 import tMat 87 PetscScalar, pointer :: array(:,:) 88 PetscErrorCode ierr 89 Mat v 90 End Subroutine 91 end interface 92 93 interface MatDenseGetArrayWrite 94 Subroutine MatDenseGetArrayWrite1d(v,array,ierr) 95 import tMat 96 PetscScalar, pointer :: array(:) 97 PetscErrorCode ierr 98 Mat v 99 End Subroutine 100 Subroutine MatDenseGetArrayWrite2d(v,array,ierr) 101 import tMat 102 PetscScalar, pointer :: array(:,:) 103 PetscErrorCode ierr 104 Mat v 105 End Subroutine 106 end interface 107 108 interface MatDenseRestoreArrayWrite 109 Subroutine MatDenseRestoreArrayWrite1d(v,array,ierr) 110 import tMat 111 PetscScalar, pointer :: array(:) 112 PetscErrorCode ierr 113 Mat v 114 End Subroutine 115 Subroutine MatDenseRestoreArrayWrite2d(v,array,ierr) 116 import tMat 117 PetscScalar, pointer :: array(:,:) 118 PetscErrorCode ierr 119 Mat v 120 End Subroutine 121 end interface 122