Lines Matching refs:da
5 DM_DA *da = (DM_DA *)dm->data; in DMDAGetElements_1D() local
10 if (!da->e) { in DMDAGetElements_1D()
13 …PetscCheck(da->s, PetscObjectComm((PetscObject)dm), PETSC_ERR_SUP, "Cannot get elements for DMDA w… in DMDAGetElements_1D()
19 da->ne = 1 * (xe - xs - 1); in DMDAGetElements_1D()
20 PetscCall(PetscMalloc1(1 + 2 * da->ne, &da->e)); in DMDAGetElements_1D()
22 da->e[cnt++] = (i - Xs); in DMDAGetElements_1D()
23 da->e[cnt++] = (i - Xs + 1); in DMDAGetElements_1D()
25 da->nen = 2; in DMDAGetElements_1D()
29 PetscCall(ISCreateGeneral(PETSC_COMM_SELF, 2, corners, PETSC_COPY_VALUES, &da->ecorners)); in DMDAGetElements_1D()
31 *nel = da->ne; in DMDAGetElements_1D()
32 *nen = da->nen; in DMDAGetElements_1D()
33 *e = da->e; in DMDAGetElements_1D()
39 DM_DA *da = (DM_DA *)dm->data; in DMDAGetElements_2D() local
46 if (!da->e) { in DMDAGetElements_2D()
49 …PetscCheck(da->s, PetscObjectComm((PetscObject)dm), PETSC_ERR_SUP, "Cannot get elements for DMDA w… in DMDAGetElements_2D()
51 switch (da->elementtype) { in DMDAGetElements_2D()
53 da->nen = 4; in DMDAGetElements_2D()
56 da->nen = 3; in DMDAGetElements_2D()
59 …SETERRQ(PetscObjectComm((PetscObject)dm), PETSC_ERR_SUP, "Unknown element type %d", da->elementtyp… in DMDAGetElements_2D()
61 nn = da->nen; in DMDAGetElements_2D()
63 if (da->elementtype == DMDA_ELEMENT_P1) ns = 2; in DMDAGetElements_2D()
64 if (da->elementtype == DMDA_ELEMENT_Q1) ns = 1; in DMDAGetElements_2D()
73 da->ne = ns * (xe - xs - 1) * (ye - ys - 1); in DMDAGetElements_2D()
74 PetscCall(PetscMalloc1(1 + nn * da->ne, &da->e)); in DMDAGetElements_2D()
81 if (da->elementtype == DMDA_ELEMENT_P1) { in DMDAGetElements_2D()
82 for (c = 0; c < ns * nn; c++) da->e[cnt++] = cell[split[c]]; in DMDAGetElements_2D()
84 if (da->elementtype == DMDA_ELEMENT_Q1) { in DMDAGetElements_2D()
85 for (c = 0; c < ns * nn; c++) da->e[cnt++] = cell[c]; in DMDAGetElements_2D()
94 PetscCall(ISCreateGeneral(PETSC_COMM_SELF, 4, corners, PETSC_COPY_VALUES, &da->ecorners)); in DMDAGetElements_2D()
96 *nel = da->ne; in DMDAGetElements_2D()
97 *nen = da->nen; in DMDAGetElements_2D()
98 *e = da->e; in DMDAGetElements_2D()
104 DM_DA *da = (DM_DA *)dm->data; in DMDAGetElements_3D() local
112 if (!da->e) { in DMDAGetElements_3D()
115 …PetscCheck(da->s, PetscObjectComm((PetscObject)dm), PETSC_ERR_SUP, "Cannot get elements for DMDA w… in DMDAGetElements_3D()
117 switch (da->elementtype) { in DMDAGetElements_3D()
119 da->nen = 8; in DMDAGetElements_3D()
122 da->nen = 4; in DMDAGetElements_3D()
125 …SETERRQ(PetscObjectComm((PetscObject)dm), PETSC_ERR_SUP, "Unknown element type %d", da->elementtyp… in DMDAGetElements_3D()
127 nn = da->nen; in DMDAGetElements_3D()
129 if (da->elementtype == DMDA_ELEMENT_P1) ns = 6; in DMDAGetElements_3D()
130 if (da->elementtype == DMDA_ELEMENT_Q1) ns = 1; in DMDAGetElements_3D()
142 da->ne = ns * (xe - xs - 1) * (ye - ys - 1) * (ze - zs - 1); in DMDAGetElements_3D()
143 PetscCall(PetscMalloc1(1 + nn * da->ne, &da->e)); in DMDAGetElements_3D()
155 if (da->elementtype == DMDA_ELEMENT_P1) { in DMDAGetElements_3D()
156 for (c = 0; c < ns * nn; c++) da->e[cnt++] = cell[split[c]]; in DMDAGetElements_3D()
158 if (da->elementtype == DMDA_ELEMENT_Q1) { in DMDAGetElements_3D()
159 for (c = 0; c < ns * nn; c++) da->e[cnt++] = cell[c]; in DMDAGetElements_3D()
173 PetscCall(ISCreateGeneral(PETSC_COMM_SELF, 8, corners, PETSC_COPY_VALUES, &da->ecorners)); in DMDAGetElements_3D()
175 *nel = da->ne; in DMDAGetElements_3D()
176 *nen = da->nen; in DMDAGetElements_3D()
177 *e = da->e; in DMDAGetElements_3D()
200 PetscErrorCode DMDAGetElementsCorners(DM da, PeOp PetscInt *gx, PeOp PetscInt *gy, PeOp PetscInt *g… in DMDAGetElementsCorners() argument
208 PetscValidHeaderSpecificType(da, DM_CLASSID, 1, DMDA); in DMDAGetElementsCorners()
212 PetscCall(PetscObjectTypeCompare((PetscObject)da, DMDA, &isda)); in DMDAGetElementsCorners()
213 …PetscCheck(isda, PetscObjectComm((PetscObject)da), PETSC_ERR_USER, "Not for DM type %s", ((PetscOb… in DMDAGetElementsCorners()
214 PetscCall(DMDAGetCorners(da, &xs, &ys, &zs, NULL, NULL, NULL)); in DMDAGetElementsCorners()
215 PetscCall(DMDAGetGhostCorners(da, &Xs, &Ys, &Zs, NULL, NULL, NULL)); in DMDAGetElementsCorners()
245 PetscErrorCode DMDAGetElementsSizes(DM da, PeOp PetscInt *mx, PeOp PetscInt *my, PeOp PetscInt *mz) in DMDAGetElementsSizes() argument
254 PetscValidHeaderSpecificType(da, DM_CLASSID, 1, DMDA); in DMDAGetElementsSizes()
258 PetscCall(PetscObjectTypeCompare((PetscObject)da, DMDA, &isda)); in DMDAGetElementsSizes()
259 …PetscCheck(isda, PetscObjectComm((PetscObject)da), PETSC_ERR_USER, "Not for DM type %s", ((PetscOb… in DMDAGetElementsSizes()
260 PetscCall(DMDAGetCorners(da, &xs, &ys, &zs, &xe, &ye, &ze)); in DMDAGetElementsSizes()
261 PetscCall(DMDAGetGhostCorners(da, &Xs, &Ys, &Zs, NULL, NULL, NULL)); in DMDAGetElementsSizes()
271 PetscCall(DMGetDimension(da, &dim)); in DMDAGetElementsSizes()
300 PetscErrorCode DMDASetElementType(DM da, DMDAElementType etype) in DMDASetElementType() argument
302 DM_DA *dd = (DM_DA *)da->data; in DMDASetElementType()
306 PetscValidHeaderSpecificType(da, DM_CLASSID, 1, DMDA); in DMDASetElementType()
307 PetscValidLogicalCollectiveEnum(da, etype, 2); in DMDASetElementType()
308 PetscCall(PetscObjectTypeCompare((PetscObject)da, DMDA, &isda)); in DMDASetElementType()
338 PetscErrorCode DMDAGetElementType(DM da, DMDAElementType *etype) in DMDAGetElementType() argument
340 DM_DA *dd = (DM_DA *)da->data; in DMDAGetElementType()
344 PetscValidHeaderSpecificType(da, DM_CLASSID, 1, DMDA); in DMDAGetElementType()
346 PetscCall(PetscObjectTypeCompare((PetscObject)da, DMDA, &isda)); in DMDAGetElementType()
347 …PetscCheck(isda, PetscObjectComm((PetscObject)da), PETSC_ERR_USER, "Not for DM type %s", ((PetscOb… in DMDAGetElementType()