1interface 2 subroutine DMDARestoreNeighbors(da, ranks, ierr) 3 use, intrinsic :: ISO_C_binding 4 import tDM 5 DM da 6 PetscMPIInt, pointer :: ranks(:) 7 PetscErrorCode, intent(out) :: ierr 8 end subroutine 9 10 subroutine DMDARestoreOwnershipRanges(da, lx, ly, lz, ierr) 11 use, intrinsic :: ISO_C_binding 12 import tDM 13 DM da 14 PetscInt, pointer :: lx(:), ly(:), lz(:) 15 PetscErrorCode, intent(out) :: ierr 16 end subroutine 17end interface 18 19#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 20!DEC$ ATTRIBUTES DLLEXPORT::DMDARestoreNeighbors 21!DEC$ ATTRIBUTES DLLEXPORT::DMDARestoreOwnershipRanges 22#endif 23 24interface DMDAVecGetArray 25 subroutine DMDAVecGetArray1(da, vec, array, ierr) 26 use, intrinsic :: ISO_C_binding 27 import tDM, tVec 28 DM da 29 Vec vec 30 PetscScalar, pointer :: array(:) 31 PetscErrorCode, intent(out) :: ierr 32 end subroutine 33 subroutine DMDAVecGetArray2(da, vec, array, ierr) 34 use, intrinsic :: ISO_C_binding 35 import tDM, tVec 36 DM da 37 Vec vec 38 PetscScalar, pointer :: array(:, :) 39 PetscErrorCode, intent(out) :: ierr 40 end subroutine 41 subroutine DMDAVecGetArray3(da, vec, array, ierr) 42 use, intrinsic :: ISO_C_binding 43 import tDM, tVec 44 DM da 45 Vec vec 46 PetscScalar, pointer :: array(:, :, :) 47 PetscErrorCode, intent(out) :: ierr 48 end subroutine 49 subroutine DMDAVecGetArray4(da, vec, array, ierr) 50 use, intrinsic :: ISO_C_binding 51 import tDM, tVec 52 DM da 53 Vec vec 54 PetscScalar, pointer :: array(:, :, :, :) 55 PetscErrorCode, intent(out) :: ierr 56 end subroutine 57end interface DMDAVecGetArray 58 59interface DMDAVecRestoreArray 60 subroutine DMDAVecRestoreArray1(da, vec, array, ierr) 61 use, intrinsic :: ISO_C_binding 62 import tDM, tVec 63 DM da 64 Vec vec 65 PetscScalar, pointer :: array(:) 66 PetscErrorCode, intent(out) :: ierr 67 end subroutine 68 subroutine DMDAVecRestoreArray2(da, vec, array, ierr) 69 use, intrinsic :: ISO_C_binding 70 import tDM, tVec 71 DM da 72 Vec vec 73 PetscScalar, pointer :: array(:, :) 74 PetscErrorCode, intent(out) :: ierr 75 end subroutine 76 subroutine DMDAVecRestoreArray3(da, vec, array, ierr) 77 use, intrinsic :: ISO_C_binding 78 import tDM, tVec 79 DM da 80 Vec vec 81 PetscScalar, pointer :: array(:, :, :) 82 PetscErrorCode, intent(out) :: ierr 83 end subroutine 84 subroutine DMDAVecRestoreArray4(da, vec, array, ierr) 85 use, intrinsic :: ISO_C_binding 86 import tDM, tVec 87 DM da 88 Vec vec 89 PetscScalar, pointer :: array(:, :, :, :) 90 PetscErrorCode, intent(out) :: ierr 91 end subroutine 92end interface DMDAVecRestoreArray 93 94interface DMDAVecGetArrayRead 95 subroutine DMDAVecGetArrayRead1(da, vec, array, ierr) 96 use, intrinsic :: ISO_C_binding 97 import tDM, tVec 98 DM da 99 Vec vec 100 PetscScalar, pointer :: array(:) 101 PetscErrorCode, intent(out) :: ierr 102 end subroutine 103 subroutine DMDAVecGetArrayRead2(da, vec, array, ierr) 104 use, intrinsic :: ISO_C_binding 105 import tDM, tVec 106 DM da 107 Vec vec 108 PetscScalar, pointer :: array(:, :) 109 PetscErrorCode, intent(out) :: ierr 110 end subroutine 111 subroutine DMDAVecGetArrayRead3(da, vec, array, ierr) 112 use, intrinsic :: ISO_C_binding 113 import tDM, tVec 114 DM da 115 Vec vec 116 PetscScalar, pointer :: array(:, :, :) 117 PetscErrorCode, intent(out) :: ierr 118 end subroutine 119 subroutine DMDAVecGetArrayRead4(da, vec, array, ierr) 120 use, intrinsic :: ISO_C_binding 121 import tDM, tVec 122 DM da 123 Vec vec 124 PetscScalar, pointer :: array(:, :, :, :) 125 PetscErrorCode, intent(out) :: ierr 126 end subroutine 127end interface DMDAVecGetArrayRead 128 129interface DMDAVecRestoreArrayRead 130 subroutine DMDAVecRestoreArrayRead1(da, vec, array, ierr) 131 use, intrinsic :: ISO_C_binding 132 import tDM, tVec 133 DM da 134 Vec vec 135 PetscScalar, pointer :: array(:) 136 PetscErrorCode, intent(out) :: ierr 137 end subroutine 138 subroutine DMDAVecRestoreArrayRead2(da, vec, array, ierr) 139 use, intrinsic :: ISO_C_binding 140 import tDM, tVec 141 DM da 142 Vec vec 143 PetscScalar, pointer :: array(:, :) 144 PetscErrorCode, intent(out) :: ierr 145 end subroutine 146 subroutine DMDAVecRestoreArrayRead3(da, vec, array, ierr) 147 use, intrinsic :: ISO_C_binding 148 import tDM, tVec 149 DM da 150 Vec vec 151 PetscScalar, pointer :: array(:, :, :) 152 PetscErrorCode, intent(out) :: ierr 153 end subroutine 154 subroutine DMDAVecRestoreArrayRead4(da, vec, array, ierr) 155 use, intrinsic :: ISO_C_binding 156 import tDM, tVec 157 DM da 158 Vec vec 159 PetscScalar, pointer :: array(:, :, :, :) 160 PetscErrorCode, intent(out) :: ierr 161 end subroutine 162end interface DMDAVecRestoreArrayRead 163