Lines Matching refs:dd
23 DM_DA *dd = (DM_DA *)da->data; in DMDASetSizes() local
35 dd->M = M; in DMDASetSizes()
36 dd->N = N; in DMDASetSizes()
37 dd->P = P; in DMDASetSizes()
58 DM_DA *dd = (DM_DA *)da->data; in DMDASetNumProcs() local
66 dd->m = m; in DMDASetNumProcs()
67 dd->n = n; in DMDASetNumProcs()
68 dd->p = p; in DMDASetNumProcs()
72 if ((dd->m > 0) && (dd->n < 0)) { in DMDASetNumProcs()
73 dd->n = size / dd->m; in DMDASetNumProcs()
74 …PetscCheck(dd->n * dd->m == size, PetscObjectComm((PetscObject)da), PETSC_ERR_ARG_OUTOFRANGE, "%" … in DMDASetNumProcs()
76 if ((dd->n > 0) && (dd->m < 0)) { in DMDASetNumProcs()
77 dd->m = size / dd->n; in DMDASetNumProcs()
78 …PetscCheck(dd->n * dd->m == size, PetscObjectComm((PetscObject)da), PETSC_ERR_ARG_OUTOFRANGE, "%" … in DMDASetNumProcs()
103 DM_DA *dd = (DM_DA *)da->data; in DMDAGetBoundaryType() local
110 if (bx) *bx = dd->bx; in DMDAGetBoundaryType()
111 if (by) *by = dd->by; in DMDAGetBoundaryType()
112 if (bz) *bz = dd->bz; in DMDAGetBoundaryType()
136 DM_DA *dd = (DM_DA *)da->data; in DMDASetBoundaryType() local
144 dd->bx = bx; in DMDASetBoundaryType()
145 dd->by = by; in DMDASetBoundaryType()
146 dd->bz = bz; in DMDASetBoundaryType()
165 DM_DA *dd = (DM_DA *)da->data; in DMDASetDof() local
171 dd->w = dof; in DMDASetDof()
193 DM_DA *dd = (DM_DA *)da->data; in DMDAGetDof() local
198 *dof = dd->w; in DMDAGetDof()
221 DM_DA *dd = (DM_DA *)da->data; in DMDAGetOverlap() local
225 if (x) *x = dd->xol; in DMDAGetOverlap()
226 if (y) *y = dd->yol; in DMDAGetOverlap()
227 if (z) *z = dd->zol; in DMDAGetOverlap()
248 DM_DA *dd = (DM_DA *)da->data; in DMDASetOverlap() local
255 dd->xol = x; in DMDASetOverlap()
256 dd->yol = y; in DMDASetOverlap()
257 dd->zol = z; in DMDASetOverlap()
278 DM_DA *dd = (DM_DA *)da->data; in DMDAGetNumLocalSubDomains() local
282 if (Nsub) *Nsub = dd->Nsub; in DMDAGetNumLocalSubDomains()
301 DM_DA *dd = (DM_DA *)da->data; in DMDASetNumLocalSubDomains() local
306 dd->Nsub = Nsub; in DMDASetNumLocalSubDomains()
334 DM_DA *dd = (DM_DA *)da->data; in DMDASetOffset() local
344 dd->xo = xo; in DMDASetOffset()
345 dd->yo = yo; in DMDASetOffset()
346 dd->zo = zo; in DMDASetOffset()
347 dd->Mo = Mo; in DMDASetOffset()
348 dd->No = No; in DMDASetOffset()
349 dd->Po = Po; in DMDASetOffset()
377 DM_DA *dd = (DM_DA *)da->data; in DMDAGetOffset() local
381 if (xo) *xo = dd->xo; in DMDAGetOffset()
382 if (yo) *yo = dd->yo; in DMDAGetOffset()
383 if (zo) *zo = dd->zo; in DMDAGetOffset()
384 if (Mo) *Mo = dd->Mo; in DMDAGetOffset()
385 if (No) *No = dd->No; in DMDAGetOffset()
386 if (Po) *Po = dd->Po; in DMDAGetOffset()
412 DM_DA *dd = (DM_DA *)da->data; in DMDAGetNonOverlappingRegion() local
416 if (xs) *xs = dd->nonxs; in DMDAGetNonOverlappingRegion()
417 if (ys) *ys = dd->nonys; in DMDAGetNonOverlappingRegion()
418 if (zs) *zs = dd->nonzs; in DMDAGetNonOverlappingRegion()
419 if (xm) *xm = dd->nonxm; in DMDAGetNonOverlappingRegion()
420 if (ym) *ym = dd->nonym; in DMDAGetNonOverlappingRegion()
421 if (zm) *zm = dd->nonzm; in DMDAGetNonOverlappingRegion()
445 DM_DA *dd = (DM_DA *)da->data; in DMDASetNonOverlappingRegion() local
455 dd->nonxs = xs; in DMDASetNonOverlappingRegion()
456 dd->nonys = ys; in DMDASetNonOverlappingRegion()
457 dd->nonzs = zs; in DMDASetNonOverlappingRegion()
458 dd->nonxm = xm; in DMDASetNonOverlappingRegion()
459 dd->nonym = ym; in DMDASetNonOverlappingRegion()
460 dd->nonzm = zm; in DMDASetNonOverlappingRegion()
479 DM_DA *dd = (DM_DA *)da->data; in DMDASetStencilType() local
485 dd->stencil_type = stype; in DMDASetStencilType()
506 DM_DA *dd = (DM_DA *)da->data; in DMDAGetStencilType() local
511 *stype = dd->stencil_type; in DMDAGetStencilType()
530 DM_DA *dd = (DM_DA *)da->data; in DMDASetStencilWidth() local
536 dd->s = width; in DMDASetStencilWidth()
557 DM_DA *dd = (DM_DA *)da->data; in DMDAGetStencilWidth() local
562 *width = dd->s; in DMDAGetStencilWidth()
597 DM_DA *dd = (DM_DA *)da->data; in DMDASetOwnershipRanges() local
603 …PetscCheck(dd->m >= 0, PetscObjectComm((PetscObject)da), PETSC_ERR_ARG_WRONGSTATE, "Cannot set own… in DMDASetOwnershipRanges()
604 PetscCall(DMDACheckOwnershipRanges_Private(da, dd->M, dd->m, lx)); in DMDASetOwnershipRanges()
605 if (!dd->lx) PetscCall(PetscMalloc1(dd->m, &dd->lx)); in DMDASetOwnershipRanges()
606 PetscCall(PetscArraycpy(dd->lx, lx, dd->m)); in DMDASetOwnershipRanges()
609 …PetscCheck(dd->n >= 0, PetscObjectComm((PetscObject)da), PETSC_ERR_ARG_WRONGSTATE, "Cannot set own… in DMDASetOwnershipRanges()
610 PetscCall(DMDACheckOwnershipRanges_Private(da, dd->N, dd->n, ly)); in DMDASetOwnershipRanges()
611 if (!dd->ly) PetscCall(PetscMalloc1(dd->n, &dd->ly)); in DMDASetOwnershipRanges()
612 PetscCall(PetscArraycpy(dd->ly, ly, dd->n)); in DMDASetOwnershipRanges()
615 …PetscCheck(dd->p >= 0, PetscObjectComm((PetscObject)da), PETSC_ERR_ARG_WRONGSTATE, "Cannot set own… in DMDASetOwnershipRanges()
616 PetscCall(DMDACheckOwnershipRanges_Private(da, dd->P, dd->p, lz)); in DMDASetOwnershipRanges()
617 if (!dd->lz) PetscCall(PetscMalloc1(dd->p, &dd->lz)); in DMDASetOwnershipRanges()
618 PetscCall(PetscArraycpy(dd->lz, lz, dd->p)); in DMDASetOwnershipRanges()
643 DM_DA *dd = (DM_DA *)da->data; in DMDASetInterpolationType() local
648 dd->interptype = ctype; in DMDASetInterpolationType()
671 DM_DA *dd = (DM_DA *)da->data; in DMDAGetInterpolationType() local
676 *ctype = dd->interptype; in DMDAGetInterpolationType()
708 DM_DA *dd = (DM_DA *)da->data; in DMDAGetNeighbors() local
712 *ranks = dd->neighbors; in DMDAGetNeighbors()
750 DM_DA *dd = (DM_DA *)da->data; in DMDAGetOwnershipRanges() local
754 if (lx) *lx = dd->lx; in DMDAGetOwnershipRanges()
755 if (ly) *ly = dd->ly; in DMDAGetOwnershipRanges()
756 if (lz) *lz = dd->lz; in DMDAGetOwnershipRanges()
786 DM_DA *dd = (DM_DA *)da->data; in DMDASetRefinementFactor() local
794 if (refine_x > 0) dd->refine_x = refine_x; in DMDASetRefinementFactor()
795 if (refine_y > 0) dd->refine_y = refine_y; in DMDASetRefinementFactor()
796 if (refine_z > 0) dd->refine_z = refine_z; in DMDASetRefinementFactor()
822 DM_DA *dd = (DM_DA *)da->data; in DMDAGetRefinementFactor() local
826 if (refine_x) *refine_x = dd->refine_x; in DMDAGetRefinementFactor()
827 if (refine_y) *refine_y = dd->refine_y; in DMDAGetRefinementFactor()
828 if (refine_z) *refine_z = dd->refine_z; in DMDAGetRefinementFactor()
886 const DM_DA *dd = (const DM_DA *)da->data; in DMDAMapMatStencilToGlobal() local
889 PetscInt dims[4], starts[4], dims2[3], starts2[3], dof = dd->w; in DMDAMapMatStencilToGlobal()
896 starts2[0] = dd->Xs / dof + dd->xo; in DMDAMapMatStencilToGlobal()
897 starts2[1] = dd->Ys + dd->yo; in DMDAMapMatStencilToGlobal()
898 starts2[2] = dd->Zs + dd->zo; in DMDAMapMatStencilToGlobal()
899 dims2[0] = (dd->Xe - dd->Xs) / dof; in DMDAMapMatStencilToGlobal()
900 dims2[1] = (dd->Ye - dd->Ys); in DMDAMapMatStencilToGlobal()
901 dims2[2] = (dd->Ze - dd->Zs); in DMDAMapMatStencilToGlobal()
1019 DM_DA *dd = (DM_DA *)da->data, *dd2; in DMRefine_DA() local
1026 if (dd->bx == DM_BOUNDARY_PERIODIC || dd->interptype == DMDA_Q0) { in DMRefine_DA()
1027 M = dd->refine_x * dd->M; in DMRefine_DA()
1029 M = 1 + dd->refine_x * (dd->M - 1); in DMRefine_DA()
1031 if (dd->by == DM_BOUNDARY_PERIODIC || dd->interptype == DMDA_Q0) { in DMRefine_DA()
1033 N = dd->refine_y * dd->N; in DMRefine_DA()
1038 N = 1 + dd->refine_y * (dd->N - 1); in DMRefine_DA()
1040 if (dd->bz == DM_BOUNDARY_PERIODIC || dd->interptype == DMDA_Q0) { in DMRefine_DA()
1042 P = dd->refine_z * dd->P; in DMRefine_DA()
1047 P = 1 + dd->refine_z * (dd->P - 1); in DMRefine_DA()
1053 PetscCall(DMDASetNumProcs(da2, dd->m, dd->n, dd->p)); in DMRefine_DA()
1054 PetscCall(DMDASetBoundaryType(da2, dd->bx, dd->by, dd->bz)); in DMRefine_DA()
1055 PetscCall(DMDASetDof(da2, dd->w)); in DMRefine_DA()
1056 PetscCall(DMDASetStencilType(da2, dd->stencil_type)); in DMRefine_DA()
1057 PetscCall(DMDASetStencilWidth(da2, dd->s)); in DMRefine_DA()
1060 PetscCall(PetscMalloc3(dd->m, &lx, dd->n, &ly, dd->p, &lz)); in DMRefine_DA()
1061 …nershipRanges(da, (PetscBool)(dd->bx == DM_BOUNDARY_PERIODIC || dd->interptype == DMDA_Q0), dd->s,… in DMRefine_DA()
1062 …nershipRanges(da, (PetscBool)(dd->by == DM_BOUNDARY_PERIODIC || dd->interptype == DMDA_Q0), dd->s,… in DMRefine_DA()
1063 …nershipRanges(da, (PetscBool)(dd->bz == DM_BOUNDARY_PERIODIC || dd->interptype == DMDA_Q0), dd->s,… in DMRefine_DA()
1068 PetscCall(PetscMalloc2(dd->m, &lx, dd->n, &ly)); in DMRefine_DA()
1069 …nershipRanges(da, (PetscBool)(dd->bx == DM_BOUNDARY_PERIODIC || dd->interptype == DMDA_Q0), dd->s,… in DMRefine_DA()
1070 …nershipRanges(da, (PetscBool)(dd->by == DM_BOUNDARY_PERIODIC || dd->interptype == DMDA_Q0), dd->s,… in DMRefine_DA()
1075 PetscCall(PetscMalloc1(dd->m, &lx)); in DMRefine_DA()
1076 …nershipRanges(da, (PetscBool)(dd->bx == DM_BOUNDARY_PERIODIC || dd->interptype == DMDA_Q0), dd->s,… in DMRefine_DA()
1086 dd2->interptype = dd->interptype; in DMRefine_DA()
1089 if (dd->dfill) { in DMRefine_DA()
1090 PetscCall(PetscMalloc1(dd->dfill[dd->w] + dd->w + 1, &dd2->dfill)); in DMRefine_DA()
1091 PetscCall(PetscArraycpy(dd2->dfill, dd->dfill, dd->dfill[dd->w] + dd->w + 1)); in DMRefine_DA()
1093 if (dd->ofill) { in DMRefine_DA()
1094 PetscCall(PetscMalloc1(dd->ofill[dd->w] + dd->w + 1, &dd2->ofill)); in DMRefine_DA()
1095 PetscCall(PetscArraycpy(dd2->ofill, dd->ofill, dd->ofill[dd->w] + dd->w + 1)); in DMRefine_DA()
1098 dd2->coarsen_x = dd2->refine_x = dd->refine_x; in DMRefine_DA()
1099 dd2->coarsen_y = dd2->refine_y = dd->refine_y; in DMRefine_DA()
1100 dd2->coarsen_z = dd2->refine_z = dd->refine_z; in DMRefine_DA()
1102 if (dd->refine_z_hier) { in DMRefine_DA()
1103 …>leveldown + 1 > -1 && da->levelup - da->leveldown + 1 < dd->refine_z_hier_n) dd2->refine_z = dd->… in DMRefine_DA()
1104 …p - da->leveldown > -1 && da->levelup - da->leveldown < dd->refine_z_hier_n) dd2->coarsen_z = dd->… in DMRefine_DA()
1105 dd2->refine_z_hier_n = dd->refine_z_hier_n; in DMRefine_DA()
1107 PetscCall(PetscArraycpy(dd2->refine_z_hier, dd->refine_z_hier, dd2->refine_z_hier_n)); in DMRefine_DA()
1109 if (dd->refine_y_hier) { in DMRefine_DA()
1110 …>leveldown + 1 > -1 && da->levelup - da->leveldown + 1 < dd->refine_y_hier_n) dd2->refine_y = dd->… in DMRefine_DA()
1111 …p - da->leveldown > -1 && da->levelup - da->leveldown < dd->refine_y_hier_n) dd2->coarsen_y = dd->… in DMRefine_DA()
1112 dd2->refine_y_hier_n = dd->refine_y_hier_n; in DMRefine_DA()
1114 PetscCall(PetscArraycpy(dd2->refine_y_hier, dd->refine_y_hier, dd2->refine_y_hier_n)); in DMRefine_DA()
1116 if (dd->refine_x_hier) { in DMRefine_DA()
1117 …>leveldown + 1 > -1 && da->levelup - da->leveldown + 1 < dd->refine_x_hier_n) dd2->refine_x = dd->… in DMRefine_DA()
1118 …p - da->leveldown > -1 && da->levelup - da->leveldown < dd->refine_x_hier_n) dd2->coarsen_x = dd->… in DMRefine_DA()
1119 dd2->refine_x_hier_n = dd->refine_x_hier_n; in DMRefine_DA()
1121 PetscCall(PetscArraycpy(dd2->refine_x_hier, dd->refine_x_hier, dd2->refine_x_hier_n)); in DMRefine_DA()
1127 dd2->lf = dd->lf; in DMRefine_DA()
1128 dd2->lj = dd->lj; in DMRefine_DA()
1166 DM_DA *dd = (DM_DA *)dmf->data, *dd2; in DMCoarsen_DA() local
1173 if (dd->bx == DM_BOUNDARY_PERIODIC || dd->interptype == DMDA_Q0) { in DMCoarsen_DA()
1174 M = dd->M / dd->coarsen_x; in DMCoarsen_DA()
1176 M = 1 + (dd->M - 1) / dd->coarsen_x; in DMCoarsen_DA()
1178 if (dd->by == DM_BOUNDARY_PERIODIC || dd->interptype == DMDA_Q0) { in DMCoarsen_DA()
1180 N = dd->N / dd->coarsen_y; in DMCoarsen_DA()
1185 N = 1 + (dd->N - 1) / dd->coarsen_y; in DMCoarsen_DA()
1187 if (dd->bz == DM_BOUNDARY_PERIODIC || dd->interptype == DMDA_Q0) { in DMCoarsen_DA()
1189 P = dd->P / dd->coarsen_z; in DMCoarsen_DA()
1194 P = 1 + (dd->P - 1) / dd->coarsen_z; in DMCoarsen_DA()
1200 PetscCall(DMDASetNumProcs(dmc2, dd->m, dd->n, dd->p)); in DMCoarsen_DA()
1201 PetscCall(DMDASetBoundaryType(dmc2, dd->bx, dd->by, dd->bz)); in DMCoarsen_DA()
1202 PetscCall(DMDASetDof(dmc2, dd->w)); in DMCoarsen_DA()
1203 PetscCall(DMDASetStencilType(dmc2, dd->stencil_type)); in DMCoarsen_DA()
1204 PetscCall(DMDASetStencilWidth(dmc2, dd->s)); in DMCoarsen_DA()
1207 PetscCall(PetscMalloc3(dd->m, &lx, dd->n, &ly, dd->p, &lz)); in DMCoarsen_DA()
1208 …ershipRanges(dmf, (PetscBool)(dd->bx == DM_BOUNDARY_PERIODIC || dd->interptype == DMDA_Q0), dd->s,… in DMCoarsen_DA()
1209 …ershipRanges(dmf, (PetscBool)(dd->by == DM_BOUNDARY_PERIODIC || dd->interptype == DMDA_Q0), dd->s,… in DMCoarsen_DA()
1210 …ershipRanges(dmf, (PetscBool)(dd->bz == DM_BOUNDARY_PERIODIC || dd->interptype == DMDA_Q0), dd->s,… in DMCoarsen_DA()
1215 PetscCall(PetscMalloc2(dd->m, &lx, dd->n, &ly)); in DMCoarsen_DA()
1216 …ershipRanges(dmf, (PetscBool)(dd->bx == DM_BOUNDARY_PERIODIC || dd->interptype == DMDA_Q0), dd->s,… in DMCoarsen_DA()
1217 …ershipRanges(dmf, (PetscBool)(dd->by == DM_BOUNDARY_PERIODIC || dd->interptype == DMDA_Q0), dd->s,… in DMCoarsen_DA()
1222 PetscCall(PetscMalloc1(dd->m, &lx)); in DMCoarsen_DA()
1223 …ershipRanges(dmf, (PetscBool)(dd->bx == DM_BOUNDARY_PERIODIC || dd->interptype == DMDA_Q0), dd->s,… in DMCoarsen_DA()
1233 dd2->interptype = dd->interptype; in DMCoarsen_DA()
1236 if (dd->dfill) { in DMCoarsen_DA()
1237 PetscCall(PetscMalloc1(dd->dfill[dd->w] + dd->w + 1, &dd2->dfill)); in DMCoarsen_DA()
1238 PetscCall(PetscArraycpy(dd2->dfill, dd->dfill, dd->dfill[dd->w] + dd->w + 1)); in DMCoarsen_DA()
1240 if (dd->ofill) { in DMCoarsen_DA()
1241 PetscCall(PetscMalloc1(dd->ofill[dd->w] + dd->w + 1, &dd2->ofill)); in DMCoarsen_DA()
1242 PetscCall(PetscArraycpy(dd2->ofill, dd->ofill, dd->ofill[dd->w] + dd->w + 1)); in DMCoarsen_DA()
1245 dd2->coarsen_x = dd2->refine_x = dd->coarsen_x; in DMCoarsen_DA()
1246 dd2->coarsen_y = dd2->refine_y = dd->coarsen_y; in DMCoarsen_DA()
1247 dd2->coarsen_z = dd2->refine_z = dd->coarsen_z; in DMCoarsen_DA()
1249 if (dd->refine_z_hier) { in DMCoarsen_DA()
1250 …eveldown - 1 > -1 && dmf->levelup - dmf->leveldown - 1 < dd->refine_z_hier_n) dd2->refine_z = dd->… in DMCoarsen_DA()
1251 …veldown - 2 > -1 && dmf->levelup - dmf->leveldown - 2 < dd->refine_z_hier_n) dd2->coarsen_z = dd->… in DMCoarsen_DA()
1252 dd2->refine_z_hier_n = dd->refine_z_hier_n; in DMCoarsen_DA()
1254 PetscCall(PetscArraycpy(dd2->refine_z_hier, dd->refine_z_hier, dd2->refine_z_hier_n)); in DMCoarsen_DA()
1256 if (dd->refine_y_hier) { in DMCoarsen_DA()
1257 …eveldown - 1 > -1 && dmf->levelup - dmf->leveldown - 1 < dd->refine_y_hier_n) dd2->refine_y = dd->… in DMCoarsen_DA()
1258 …veldown - 2 > -1 && dmf->levelup - dmf->leveldown - 2 < dd->refine_y_hier_n) dd2->coarsen_y = dd->… in DMCoarsen_DA()
1259 dd2->refine_y_hier_n = dd->refine_y_hier_n; in DMCoarsen_DA()
1261 PetscCall(PetscArraycpy(dd2->refine_y_hier, dd->refine_y_hier, dd2->refine_y_hier_n)); in DMCoarsen_DA()
1263 if (dd->refine_x_hier) { in DMCoarsen_DA()
1264 …eveldown - 1 > -1 && dmf->levelup - dmf->leveldown - 1 < dd->refine_x_hier_n) dd2->refine_x = dd->… in DMCoarsen_DA()
1265 …veldown - 2 > -1 && dmf->levelup - dmf->leveldown - 2 < dd->refine_x_hier_n) dd2->coarsen_x = dd->… in DMCoarsen_DA()
1266 dd2->refine_x_hier_n = dd->refine_x_hier_n; in DMCoarsen_DA()
1268 PetscCall(PetscArraycpy(dd2->refine_x_hier, dd->refine_x_hier, dd2->refine_x_hier_n)); in DMCoarsen_DA()
1274 dd2->lf = dd->lf; in DMCoarsen_DA()
1275 dd2->lj = dd->lj; in DMCoarsen_DA()