1*3d1372b2SMartin Diehlinterface 2*3d1372b2SMartin Diehl subroutine DMDARestoreNeighbors(a, b, z) 3*3d1372b2SMartin Diehl use, intrinsic :: ISO_C_binding 4*3d1372b2SMartin Diehl import tDM 5*3d1372b2SMartin Diehl DM a 6*3d1372b2SMartin Diehl PetscMPIInt, pointer :: b(:) 7*3d1372b2SMartin Diehl PetscErrorCode z 8*3d1372b2SMartin Diehl end subroutine 9*3d1372b2SMartin Diehl 10*3d1372b2SMartin Diehl subroutine DMDARestoreOwnershipRanges(a, lx, ly, lz, z) 11*3d1372b2SMartin Diehl use, intrinsic :: ISO_C_binding 12*3d1372b2SMartin Diehl import tDM 13*3d1372b2SMartin Diehl DM a 14*3d1372b2SMartin Diehl PetscInt, pointer :: lx(:), ly(:), lz(:) 15*3d1372b2SMartin Diehl PetscErrorCode z 16*3d1372b2SMartin Diehl end subroutine 17*3d1372b2SMartin Diehlend interface 18*3d1372b2SMartin Diehl 19*3d1372b2SMartin Diehl#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 20*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::DMDARestoreNeighbors 21*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::DMDARestoreOwnershipRanges 22*3d1372b2SMartin Diehl#endif 23*3d1372b2SMartin Diehl 2402c639afSMartin Diehlinterface DMDAVecGetArray 2502c639afSMartin Diehl subroutine DMDAVecGetArrayF901(da1, v, d1, ierr) 26fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 276dd63270SBarry Smith import tDM, tVec 286dd63270SBarry Smith DM da1 296dd63270SBarry Smith Vec v 306dd63270SBarry Smith PetscScalar, pointer :: d1(:) 316dd63270SBarry Smith PetscErrorCode ierr 3202c639afSMartin Diehl end subroutine 3302c639afSMartin Diehl subroutine DMDAVecGetArrayF902(da1, v, d1, ierr) 34fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 356dd63270SBarry Smith import tDM, tVec 366dd63270SBarry Smith DM da1 376dd63270SBarry Smith Vec v 386dd63270SBarry Smith PetscScalar, pointer :: d1(:, :) 396dd63270SBarry Smith PetscErrorCode ierr 4002c639afSMartin Diehl end subroutine 4102c639afSMartin Diehl subroutine DMDAVecGetArrayF903(da1, v, d1, ierr) 42fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 436dd63270SBarry Smith import tDM, tVec 446dd63270SBarry Smith DM da1 456dd63270SBarry Smith Vec v 466dd63270SBarry Smith PetscScalar, pointer :: d1(:, :, :) 476dd63270SBarry Smith PetscErrorCode ierr 4802c639afSMartin Diehl end subroutine 4902c639afSMartin Diehl subroutine DMDAVecGetArrayF904(da1, v, d1, ierr) 50fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 516dd63270SBarry Smith import tDM, tVec 526dd63270SBarry Smith DM da1 536dd63270SBarry Smith Vec v 546dd63270SBarry Smith PetscScalar, pointer :: d1(:, :, :, :) 556dd63270SBarry Smith PetscErrorCode ierr 5602c639afSMartin Diehl end subroutine 5702c639afSMartin Diehlend interface DMDAVecGetArray 586dd63270SBarry Smith 5902c639afSMartin Diehlinterface DMDAVecRestoreArray 6002c639afSMartin Diehl subroutine DMDAVecRestoreArrayF901(da1, v, d1, ierr) 61fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 626dd63270SBarry Smith import tDM, tVec 636dd63270SBarry Smith DM da1 646dd63270SBarry Smith Vec v 656dd63270SBarry Smith PetscScalar, pointer :: d1(:) 666dd63270SBarry Smith PetscErrorCode ierr 6702c639afSMartin Diehl end subroutine 6802c639afSMartin Diehl subroutine DMDAVecRestoreArrayF902(da1, v, d1, ierr) 69fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 706dd63270SBarry Smith import tDM, tVec 716dd63270SBarry Smith DM da1 726dd63270SBarry Smith Vec v 736dd63270SBarry Smith PetscScalar, pointer :: d1(:, :) 746dd63270SBarry Smith PetscErrorCode ierr 7502c639afSMartin Diehl end subroutine 7602c639afSMartin Diehl subroutine DMDAVecRestoreArrayF903(da1, v, d1, ierr) 77fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 786dd63270SBarry Smith import tDM, tVec 796dd63270SBarry Smith DM da1 806dd63270SBarry Smith Vec v 816dd63270SBarry Smith PetscScalar, pointer :: d1(:, :, :) 826dd63270SBarry Smith PetscErrorCode ierr 8302c639afSMartin Diehl end subroutine 8402c639afSMartin Diehl subroutine DMDAVecRestoreArrayF904(da1, v, d1, ierr) 85fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 866dd63270SBarry Smith import tDM, tVec 876dd63270SBarry Smith DM da1 886dd63270SBarry Smith Vec v 896dd63270SBarry Smith PetscScalar, pointer :: d1(:, :, :, :) 906dd63270SBarry Smith PetscErrorCode ierr 9102c639afSMartin Diehl end subroutine 9202c639afSMartin Diehlend interface DMDAVecRestoreArray 936dd63270SBarry Smith 9402c639afSMartin Diehlinterface DMDAVecGetArrayRead 9502c639afSMartin Diehl subroutine DMDAVecGetArrayReadF901(da1, v, d1, ierr) 96fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 976dd63270SBarry Smith import tDM, tVec 986dd63270SBarry Smith DM da1 996dd63270SBarry Smith Vec v 1006dd63270SBarry Smith PetscScalar, pointer :: d1(:) 1016dd63270SBarry Smith PetscErrorCode ierr 10202c639afSMartin Diehl end subroutine 10302c639afSMartin Diehl subroutine DMDAVecGetArrayReadF902(da1, v, d1, ierr) 104fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 1056dd63270SBarry Smith import tDM, tVec 1066dd63270SBarry Smith DM da1 1076dd63270SBarry Smith Vec v 1086dd63270SBarry Smith PetscScalar, pointer :: d1(:, :) 1096dd63270SBarry Smith PetscErrorCode ierr 11002c639afSMartin Diehl end subroutine 11102c639afSMartin Diehl subroutine DMDAVecGetArrayReadF903(da1, v, d1, ierr) 112fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 1136dd63270SBarry Smith import tDM, tVec 1146dd63270SBarry Smith DM da1 1156dd63270SBarry Smith Vec v 1166dd63270SBarry Smith PetscScalar, pointer :: d1(:, :, :) 1176dd63270SBarry Smith PetscErrorCode ierr 11802c639afSMartin Diehl end subroutine 11902c639afSMartin Diehl subroutine DMDAVecGetArrayReadF904(da1, v, d1, ierr) 120fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 1216dd63270SBarry Smith import tDM, tVec 1226dd63270SBarry Smith DM da1 1236dd63270SBarry Smith Vec v 1246dd63270SBarry Smith PetscScalar, pointer :: d1(:, :, :, :) 1256dd63270SBarry Smith PetscErrorCode ierr 12602c639afSMartin Diehl end subroutine 12702c639afSMartin Diehlend interface DMDAVecGetArrayRead 1286dd63270SBarry Smith 12902c639afSMartin Diehlinterface DMDAVecRestoreArrayRead 13002c639afSMartin Diehl subroutine DMDAVecRestoreArrayReadF901(da1, v, d1, ierr) 131fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 1326dd63270SBarry Smith import tDM, tVec 1336dd63270SBarry Smith DM da1 1346dd63270SBarry Smith Vec v 1356dd63270SBarry Smith PetscScalar, pointer :: d1(:) 1366dd63270SBarry Smith PetscErrorCode ierr 13702c639afSMartin Diehl end subroutine 13802c639afSMartin Diehl subroutine DMDAVecRestoreArrayReadF902(da1, v, d1, ierr) 139fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 1406dd63270SBarry Smith import tDM, tVec 1416dd63270SBarry Smith DM da1 1426dd63270SBarry Smith Vec v 1436dd63270SBarry Smith PetscScalar, pointer :: d1(:, :) 1446dd63270SBarry Smith PetscErrorCode ierr 14502c639afSMartin Diehl end subroutine 14602c639afSMartin Diehl subroutine DMDAVecRestoreArrayReadF903(da1, v, d1, ierr) 147fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 1486dd63270SBarry Smith import tDM, tVec 1496dd63270SBarry Smith DM da1 1506dd63270SBarry Smith Vec v 1516dd63270SBarry Smith PetscScalar, pointer :: d1(:, :, :) 1526dd63270SBarry Smith PetscErrorCode ierr 15302c639afSMartin Diehl end subroutine 15402c639afSMartin Diehl subroutine DMDAVecRestoreArrayReadF904(da1, v, d1, ierr) 155fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 1566dd63270SBarry Smith import tDM, tVec 1576dd63270SBarry Smith DM da1 1586dd63270SBarry Smith Vec v 1596dd63270SBarry Smith PetscScalar, pointer :: d1(:, :, :, :) 1606dd63270SBarry Smith PetscErrorCode ierr 16102c639afSMartin Diehl end subroutine 16202c639afSMartin Diehlend interface DMDAVecRestoreArrayRead 163