1*02c639afSMartin Diehl interface DMDAVecGetArray 2*02c639afSMartin Diehl subroutine DMDAVecGetArrayF901(da1, v, d1, ierr) 3fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 46dd63270SBarry Smith import tDM, tVec 56dd63270SBarry Smith DM da1 66dd63270SBarry Smith Vec v 76dd63270SBarry Smith PetscScalar, pointer :: d1(:) 86dd63270SBarry Smith PetscErrorCode ierr 9*02c639afSMartin Diehl end subroutine 10*02c639afSMartin Diehl subroutine DMDAVecGetArrayF902(da1, v, d1, ierr) 11fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 126dd63270SBarry Smith import tDM, tVec 136dd63270SBarry Smith DM da1 146dd63270SBarry Smith Vec v 156dd63270SBarry Smith PetscScalar, pointer :: d1(:, :) 166dd63270SBarry Smith PetscErrorCode ierr 17*02c639afSMartin Diehl end subroutine 18*02c639afSMartin Diehl subroutine DMDAVecGetArrayF903(da1, v, d1, ierr) 19fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 206dd63270SBarry Smith import tDM, tVec 216dd63270SBarry Smith DM da1 226dd63270SBarry Smith Vec v 236dd63270SBarry Smith PetscScalar, pointer :: d1(:, :, :) 246dd63270SBarry Smith PetscErrorCode ierr 25*02c639afSMartin Diehl end subroutine 26*02c639afSMartin Diehl subroutine DMDAVecGetArrayF904(da1, v, d1, ierr) 27fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 286dd63270SBarry Smith import tDM, tVec 296dd63270SBarry Smith DM da1 306dd63270SBarry Smith Vec v 316dd63270SBarry Smith PetscScalar, pointer :: d1(:, :, :, :) 326dd63270SBarry Smith PetscErrorCode ierr 33*02c639afSMartin Diehl end subroutine 34*02c639afSMartin Diehl end interface DMDAVecGetArray 356dd63270SBarry Smith 36*02c639afSMartin Diehl interface DMDAVecRestoreArray 37*02c639afSMartin Diehl subroutine DMDAVecRestoreArrayF901(da1, v, d1, ierr) 38fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 396dd63270SBarry Smith import tDM, tVec 406dd63270SBarry Smith DM da1 416dd63270SBarry Smith Vec v 426dd63270SBarry Smith PetscScalar, pointer :: d1(:) 436dd63270SBarry Smith PetscErrorCode ierr 44*02c639afSMartin Diehl end subroutine 45*02c639afSMartin Diehl subroutine DMDAVecRestoreArrayF902(da1, v, d1, ierr) 46fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 476dd63270SBarry Smith import tDM, tVec 486dd63270SBarry Smith DM da1 496dd63270SBarry Smith Vec v 506dd63270SBarry Smith PetscScalar, pointer :: d1(:, :) 516dd63270SBarry Smith PetscErrorCode ierr 52*02c639afSMartin Diehl end subroutine 53*02c639afSMartin Diehl subroutine DMDAVecRestoreArrayF903(da1, v, d1, ierr) 54fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 556dd63270SBarry Smith import tDM, tVec 566dd63270SBarry Smith DM da1 576dd63270SBarry Smith Vec v 586dd63270SBarry Smith PetscScalar, pointer :: d1(:, :, :) 596dd63270SBarry Smith PetscErrorCode ierr 60*02c639afSMartin Diehl end subroutine 61*02c639afSMartin Diehl subroutine DMDAVecRestoreArrayF904(da1, v, d1, ierr) 62fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 636dd63270SBarry Smith import tDM, tVec 646dd63270SBarry Smith DM da1 656dd63270SBarry Smith Vec v 666dd63270SBarry Smith PetscScalar, pointer :: d1(:, :, :, :) 676dd63270SBarry Smith PetscErrorCode ierr 68*02c639afSMartin Diehl end subroutine 69*02c639afSMartin Diehl end interface DMDAVecRestoreArray 706dd63270SBarry Smith 71*02c639afSMartin Diehl interface DMDAVecGetArrayRead 72*02c639afSMartin Diehl subroutine DMDAVecGetArrayReadF901(da1, v, d1, ierr) 73fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 746dd63270SBarry Smith import tDM, tVec 756dd63270SBarry Smith DM da1 766dd63270SBarry Smith Vec v 776dd63270SBarry Smith PetscScalar, pointer :: d1(:) 786dd63270SBarry Smith PetscErrorCode ierr 79*02c639afSMartin Diehl end subroutine 80*02c639afSMartin Diehl subroutine DMDAVecGetArrayReadF902(da1, v, d1, ierr) 81fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 826dd63270SBarry Smith import tDM, tVec 836dd63270SBarry Smith DM da1 846dd63270SBarry Smith Vec v 856dd63270SBarry Smith PetscScalar, pointer :: d1(:, :) 866dd63270SBarry Smith PetscErrorCode ierr 87*02c639afSMartin Diehl end subroutine 88*02c639afSMartin Diehl subroutine DMDAVecGetArrayReadF903(da1, v, d1, ierr) 89fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 906dd63270SBarry Smith import tDM, tVec 916dd63270SBarry Smith DM da1 926dd63270SBarry Smith Vec v 936dd63270SBarry Smith PetscScalar, pointer :: d1(:, :, :) 946dd63270SBarry Smith PetscErrorCode ierr 95*02c639afSMartin Diehl end subroutine 96*02c639afSMartin Diehl subroutine DMDAVecGetArrayReadF904(da1, v, d1, ierr) 97fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 986dd63270SBarry Smith import tDM, tVec 996dd63270SBarry Smith DM da1 1006dd63270SBarry Smith Vec v 1016dd63270SBarry Smith PetscScalar, pointer :: d1(:, :, :, :) 1026dd63270SBarry Smith PetscErrorCode ierr 103*02c639afSMartin Diehl end subroutine 104*02c639afSMartin Diehl end interface DMDAVecGetArrayRead 1056dd63270SBarry Smith 106*02c639afSMartin Diehl interface DMDAVecRestoreArrayRead 107*02c639afSMartin Diehl subroutine DMDAVecRestoreArrayReadF901(da1, v, d1, ierr) 108fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 1096dd63270SBarry Smith import tDM, tVec 1106dd63270SBarry Smith DM da1 1116dd63270SBarry Smith Vec v 1126dd63270SBarry Smith PetscScalar, pointer :: d1(:) 1136dd63270SBarry Smith PetscErrorCode ierr 114*02c639afSMartin Diehl end subroutine 115*02c639afSMartin Diehl subroutine DMDAVecRestoreArrayReadF902(da1, v, d1, ierr) 116fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 1176dd63270SBarry Smith import tDM, tVec 1186dd63270SBarry Smith DM da1 1196dd63270SBarry Smith Vec v 1206dd63270SBarry Smith PetscScalar, pointer :: d1(:, :) 1216dd63270SBarry Smith PetscErrorCode ierr 122*02c639afSMartin Diehl end subroutine 123*02c639afSMartin Diehl subroutine DMDAVecRestoreArrayReadF903(da1, v, d1, ierr) 124fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 1256dd63270SBarry Smith import tDM, tVec 1266dd63270SBarry Smith DM da1 1276dd63270SBarry Smith Vec v 1286dd63270SBarry Smith PetscScalar, pointer :: d1(:, :, :) 1296dd63270SBarry Smith PetscErrorCode ierr 130*02c639afSMartin Diehl end subroutine 131*02c639afSMartin Diehl subroutine DMDAVecRestoreArrayReadF904(da1, v, d1, ierr) 132fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 1336dd63270SBarry Smith import tDM, tVec 1346dd63270SBarry Smith DM da1 1356dd63270SBarry Smith Vec v 1366dd63270SBarry Smith PetscScalar, pointer :: d1(:, :, :, :) 1376dd63270SBarry Smith PetscErrorCode ierr 138*02c639afSMartin Diehl end subroutine 139*02c639afSMartin Diehl end interface DMDAVecRestoreArrayRead 1406dd63270SBarry Smith 141*02c639afSMartin Diehl interface DMDARestoreNeighbors 142*02c639afSMartin Diehl subroutine DMDARestoreNeighbors(a, b, z) 143fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 1446dd63270SBarry Smith import tDM 1456dd63270SBarry Smith DM a 1466dd63270SBarry Smith PetscMPIInt, pointer :: b(:) 1476dd63270SBarry Smith PetscErrorCode z 148*02c639afSMartin Diehl end subroutine 149*02c639afSMartin Diehl end interface DMDARestoreNeighbors 1506dd63270SBarry Smith 1516dd63270SBarry Smith interface 152*02c639afSMartin Diehl subroutine DMDARestoreOwnershipRanges(a, lx, ly, lz, z) 153fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 1546dd63270SBarry Smith import tDM 1556dd63270SBarry Smith DM a 1566dd63270SBarry Smith PetscInt, pointer :: lx(:), ly(:), lz(:) 1576dd63270SBarry Smith PetscErrorCode z 158*02c639afSMartin Diehl end subroutine 159*02c639afSMartin Diehl end interface 160