xref: /petsc/src/dm/ftn-mod/petscdmda.h90 (revision d47c0497e3b52bb8681c9d2e1026ce8506d72f69)
13d1372b2SMartin Diehlinterface
2*0da4d79bSMartin Diehl  subroutine DMDARestoreNeighbors(da, ranks, ierr)
33d1372b2SMartin Diehl    use, intrinsic :: ISO_C_binding
43d1372b2SMartin Diehl    import tDM
5*0da4d79bSMartin Diehl    DM da
6*0da4d79bSMartin Diehl    PetscMPIInt, pointer :: ranks(:)
7*0da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
83d1372b2SMartin Diehl  end subroutine
93d1372b2SMartin Diehl
10*0da4d79bSMartin Diehl  subroutine DMDARestoreOwnershipRanges(da, lx, ly, lz, ierr)
113d1372b2SMartin Diehl    use, intrinsic :: ISO_C_binding
123d1372b2SMartin Diehl    import tDM
13*0da4d79bSMartin Diehl    DM da
143d1372b2SMartin Diehl    PetscInt, pointer :: lx(:), ly(:), lz(:)
15*0da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
163d1372b2SMartin Diehl  end subroutine
173d1372b2SMartin Diehlend interface
183d1372b2SMartin Diehl
193d1372b2SMartin Diehl#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
203d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::DMDARestoreNeighbors
213d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::DMDARestoreOwnershipRanges
223d1372b2SMartin Diehl#endif
233d1372b2SMartin Diehl
2402c639afSMartin Diehlinterface DMDAVecGetArray
25*0da4d79bSMartin Diehl  subroutine DMDAVecGetArray1(da, vec, array, ierr)
26fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
276dd63270SBarry Smith    import tDM, tVec
28*0da4d79bSMartin Diehl    DM da
29*0da4d79bSMartin Diehl    Vec vec
30*0da4d79bSMartin Diehl    PetscScalar, pointer :: array(:)
31*0da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
3202c639afSMartin Diehl  end subroutine
33*0da4d79bSMartin Diehl  subroutine DMDAVecGetArray2(da, vec, array, ierr)
34fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
356dd63270SBarry Smith    import tDM, tVec
36*0da4d79bSMartin Diehl    DM da
37*0da4d79bSMartin Diehl    Vec vec
38*0da4d79bSMartin Diehl    PetscScalar, pointer :: array(:, :)
39*0da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
4002c639afSMartin Diehl  end subroutine
41*0da4d79bSMartin Diehl  subroutine DMDAVecGetArray3(da, vec, array, ierr)
42fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
436dd63270SBarry Smith    import tDM, tVec
44*0da4d79bSMartin Diehl    DM da
45*0da4d79bSMartin Diehl    Vec vec
46*0da4d79bSMartin Diehl    PetscScalar, pointer :: array(:, :, :)
47*0da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
4802c639afSMartin Diehl  end subroutine
49*0da4d79bSMartin Diehl  subroutine DMDAVecGetArray4(da, vec, array, ierr)
50fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
516dd63270SBarry Smith    import tDM, tVec
52*0da4d79bSMartin Diehl    DM da
53*0da4d79bSMartin Diehl    Vec vec
54*0da4d79bSMartin Diehl    PetscScalar, pointer :: array(:, :, :, :)
55*0da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
5602c639afSMartin Diehl  end subroutine
5702c639afSMartin Diehlend interface DMDAVecGetArray
586dd63270SBarry Smith
5902c639afSMartin Diehlinterface DMDAVecRestoreArray
60*0da4d79bSMartin Diehl  subroutine DMDAVecRestoreArray1(da, vec, array, ierr)
61fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
626dd63270SBarry Smith    import tDM, tVec
63*0da4d79bSMartin Diehl    DM da
64*0da4d79bSMartin Diehl    Vec vec
65*0da4d79bSMartin Diehl    PetscScalar, pointer :: array(:)
66*0da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
6702c639afSMartin Diehl  end subroutine
68*0da4d79bSMartin Diehl  subroutine DMDAVecRestoreArray2(da, vec, array, ierr)
69fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
706dd63270SBarry Smith    import tDM, tVec
71*0da4d79bSMartin Diehl    DM da
72*0da4d79bSMartin Diehl    Vec vec
73*0da4d79bSMartin Diehl    PetscScalar, pointer :: array(:, :)
74*0da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
7502c639afSMartin Diehl  end subroutine
76*0da4d79bSMartin Diehl  subroutine DMDAVecRestoreArray3(da, vec, array, ierr)
77fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
786dd63270SBarry Smith    import tDM, tVec
79*0da4d79bSMartin Diehl    DM da
80*0da4d79bSMartin Diehl    Vec vec
81*0da4d79bSMartin Diehl    PetscScalar, pointer :: array(:, :, :)
82*0da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
8302c639afSMartin Diehl  end subroutine
84*0da4d79bSMartin Diehl  subroutine DMDAVecRestoreArray4(da, vec, array, ierr)
85fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
866dd63270SBarry Smith    import tDM, tVec
87*0da4d79bSMartin Diehl    DM da
88*0da4d79bSMartin Diehl    Vec vec
89*0da4d79bSMartin Diehl    PetscScalar, pointer :: array(:, :, :, :)
90*0da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
9102c639afSMartin Diehl  end subroutine
9202c639afSMartin Diehlend interface DMDAVecRestoreArray
936dd63270SBarry Smith
9402c639afSMartin Diehlinterface DMDAVecGetArrayRead
95*0da4d79bSMartin Diehl  subroutine DMDAVecGetArrayRead1(da, vec, array, ierr)
96fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
976dd63270SBarry Smith    import tDM, tVec
98*0da4d79bSMartin Diehl    DM da
99*0da4d79bSMartin Diehl    Vec vec
100*0da4d79bSMartin Diehl    PetscScalar, pointer :: array(:)
101*0da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
10202c639afSMartin Diehl  end subroutine
103*0da4d79bSMartin Diehl  subroutine DMDAVecGetArrayRead2(da, vec, array, ierr)
104fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
1056dd63270SBarry Smith    import tDM, tVec
106*0da4d79bSMartin Diehl    DM da
107*0da4d79bSMartin Diehl    Vec vec
108*0da4d79bSMartin Diehl    PetscScalar, pointer :: array(:, :)
109*0da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
11002c639afSMartin Diehl  end subroutine
111*0da4d79bSMartin Diehl  subroutine DMDAVecGetArrayRead3(da, vec, array, ierr)
112fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
1136dd63270SBarry Smith    import tDM, tVec
114*0da4d79bSMartin Diehl    DM da
115*0da4d79bSMartin Diehl    Vec vec
116*0da4d79bSMartin Diehl    PetscScalar, pointer :: array(:, :, :)
117*0da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
11802c639afSMartin Diehl  end subroutine
119*0da4d79bSMartin Diehl  subroutine DMDAVecGetArrayRead4(da, vec, array, ierr)
120fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
1216dd63270SBarry Smith    import tDM, tVec
122*0da4d79bSMartin Diehl    DM da
123*0da4d79bSMartin Diehl    Vec vec
124*0da4d79bSMartin Diehl    PetscScalar, pointer :: array(:, :, :, :)
125*0da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
12602c639afSMartin Diehl  end subroutine
12702c639afSMartin Diehlend interface DMDAVecGetArrayRead
1286dd63270SBarry Smith
12902c639afSMartin Diehlinterface DMDAVecRestoreArrayRead
130*0da4d79bSMartin Diehl  subroutine DMDAVecRestoreArrayRead1(da, vec, array, ierr)
131fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
1326dd63270SBarry Smith    import tDM, tVec
133*0da4d79bSMartin Diehl    DM da
134*0da4d79bSMartin Diehl    Vec vec
135*0da4d79bSMartin Diehl    PetscScalar, pointer :: array(:)
136*0da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
13702c639afSMartin Diehl  end subroutine
138*0da4d79bSMartin Diehl  subroutine DMDAVecRestoreArrayRead2(da, vec, array, ierr)
139fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
1406dd63270SBarry Smith    import tDM, tVec
141*0da4d79bSMartin Diehl    DM da
142*0da4d79bSMartin Diehl    Vec vec
143*0da4d79bSMartin Diehl    PetscScalar, pointer :: array(:, :)
144*0da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
14502c639afSMartin Diehl  end subroutine
146*0da4d79bSMartin Diehl  subroutine DMDAVecRestoreArrayRead3(da, vec, array, ierr)
147fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
1486dd63270SBarry Smith    import tDM, tVec
149*0da4d79bSMartin Diehl    DM da
150*0da4d79bSMartin Diehl    Vec vec
151*0da4d79bSMartin Diehl    PetscScalar, pointer :: array(:, :, :)
152*0da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
15302c639afSMartin Diehl  end subroutine
154*0da4d79bSMartin Diehl  subroutine DMDAVecRestoreArrayRead4(da, vec, array, ierr)
155fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
1566dd63270SBarry Smith    import tDM, tVec
157*0da4d79bSMartin Diehl    DM da
158*0da4d79bSMartin Diehl    Vec vec
159*0da4d79bSMartin Diehl    PetscScalar, pointer :: array(:, :, :, :)
160*0da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
16102c639afSMartin Diehl  end subroutine
16202c639afSMartin Diehlend interface DMDAVecRestoreArrayRead
163