Lines Matching refs:dd
106 DM_DA *dd = (DM_DA *)da->data; in DMDAGetRay() local
119 PetscCall(PetscMalloc1(dd->w, &indices)); in DMDAGetRay()
120 indices[0] = dd->w * gp; in DMDAGetRay()
121 for (i = 1; i < dd->w; ++i) indices[i] = indices[i - 1] + 1; in DMDAGetRay()
122 PetscCall(AOApplicationToPetsc(ao, dd->w, indices)); in DMDAGetRay()
124 PetscCall(VecSetBlockSize(*newvec, dd->w)); in DMDAGetRay()
125 PetscCall(VecSetSizes(*newvec, dd->w, PETSC_DETERMINE)); in DMDAGetRay()
127 PetscCall(ISCreateGeneral(PETSC_COMM_SELF, dd->w, indices, PETSC_OWN_POINTER, &is)); in DMDAGetRay()
134 PetscCall(PetscMalloc1(dd->w * dd->M, &indices)); in DMDAGetRay()
135 indices[0] = gp * dd->M * dd->w; in DMDAGetRay()
136 for (i = 1; i < dd->M * dd->w; i++) indices[i] = indices[i - 1] + 1; in DMDAGetRay()
138 PetscCall(AOApplicationToPetsc(ao, dd->M * dd->w, indices)); in DMDAGetRay()
140 PetscCall(VecSetBlockSize(*newvec, dd->w)); in DMDAGetRay()
141 PetscCall(VecSetSizes(*newvec, dd->M * dd->w, PETSC_DETERMINE)); in DMDAGetRay()
143 PetscCall(ISCreateGeneral(PETSC_COMM_SELF, dd->w * dd->M, indices, PETSC_OWN_POINTER, &is)); in DMDAGetRay()
145 PetscCall(PetscMalloc1(dd->w * dd->N, &indices)); in DMDAGetRay()
146 indices[0] = dd->w * gp; in DMDAGetRay()
147 for (j = 1; j < dd->w; j++) indices[j] = indices[j - 1] + 1; in DMDAGetRay()
148 for (i = 1; i < dd->N; i++) { in DMDAGetRay()
149 indices[i * dd->w] = indices[i * dd->w - 1] + dd->w * dd->M - dd->w + 1; in DMDAGetRay()
150 for (j = 1; j < dd->w; j++) indices[i * dd->w + j] = indices[i * dd->w + j - 1] + 1; in DMDAGetRay()
152 PetscCall(AOApplicationToPetsc(ao, dd->w * dd->N, indices)); in DMDAGetRay()
154 PetscCall(VecSetBlockSize(*newvec, dd->w)); in DMDAGetRay()
155 PetscCall(VecSetSizes(*newvec, dd->N * dd->w, PETSC_DETERMINE)); in DMDAGetRay()
157 PetscCall(ISCreateGeneral(PETSC_COMM_SELF, dd->w * dd->N, indices, PETSC_OWN_POINTER, &is)); in DMDAGetRay()
205 DM_DA *dd = (DM_DA *)da->data; in DMDAGetProcessorSubset() local
214 …PetscCheck(gp >= 0 && gp <= dd->P, PETSC_COMM_SELF, PETSC_ERR_ARG_OUTOFRANGE, "invalid grid point"… in DMDAGetProcessorSubset()
218 …PetscCheck(gp >= 0 && gp <= dd->N, PETSC_COMM_SELF, PETSC_ERR_ARG_OUTOFRANGE, "invalid grid point"… in DMDAGetProcessorSubset()
221 …PetscCheck(gp >= 0 && gp <= dd->M, PETSC_COMM_SELF, PETSC_ERR_ARG_OUTOFRANGE, "invalid grid point"… in DMDAGetProcessorSubset()