Lines Matching refs:dim
31 PetscInt i, dim; in DMFieldView_DA() local
37 PetscCall(DMGetDimension(dm, &dim)); in DMFieldView_DA()
39 for (i = 0; i < (1 << dim); i++) { in DMFieldView_DA()
67 #define MEHess(out, cf, etaB, etaD, dim, nc, cast) \ argument
70 for (_m = 0; _m < (nc) * (dim) * (dim); _m++) (out)[_m] = 0.; \
71 for (_j = 0; _j < (dim); _j++) { \
72 for (_k = _j + 1; _k < (dim); _k++) { \
76 (out)[(_m * (dim) + _k) * (dim) + _j] += cast(c); \
77 (out)[(_m * (dim) + _j) * (dim) + _k] += cast(c); \
83 static void MultilinearEvaluate(PetscInt dim, PetscReal (*coordRange)[2], PetscInt nc, PetscScalar … in MultilinearEvaluate() argument
86 PetscInt whol = 1 << dim; in MultilinearEvaluate()
92 const PetscScalar *point = &points[dim * i]; in MultilinearEvaluate()
98 for (j = 0; j < dim; j++) { in MultilinearEvaluate()
120 MEdot(out, cf, etaB, (1 << dim), nc, (PetscScalar)); in MultilinearEvaluate()
124 MEdot(out, cf, etaB, (1 << dim), nc, PetscRealPart); in MultilinearEvaluate()
129 PetscScalar *out = &((PetscScalar *)D)[nc * dim * i]; in MultilinearEvaluate()
131 for (m = 0; m < nc * dim; m++) out[m] = 0.; in MultilinearEvaluate()
133 PetscReal *out = &((PetscReal *)D)[nc * dim * i]; in MultilinearEvaluate()
135 for (m = 0; m < nc * dim; m++) out[m] = 0.; in MultilinearEvaluate()
137 for (j = 0; j < dim; j++) { in MultilinearEvaluate()
153 PetscScalar *out = &((PetscScalar *)D)[nc * dim * i]; in MultilinearEvaluate()
155 for (l = 0; l < nc; l++) out[l * dim + j] += d * e * cf[k * nc + l]; in MultilinearEvaluate()
157 PetscReal *out = &((PetscReal *)D)[nc * dim * i]; in MultilinearEvaluate()
159 for (l = 0; l < nc; l++) out[l * dim + j] += d * e * PetscRealPart(cf[k * nc + l]); in MultilinearEvaluate()
166 PetscScalar *out = &((PetscScalar *)H)[nc * dim * dim * i]; in MultilinearEvaluate()
168 MEHess(out, cf, etaB, etaD, dim, nc, (PetscScalar)); in MultilinearEvaluate()
170 PetscReal *out = &((PetscReal *)H)[nc * dim * dim * i]; in MultilinearEvaluate()
172 MEHess(out, cf, etaB, etaD, dim, nc, PetscRealPart); in MultilinearEvaluate()
183 PetscInt dim; in DMFieldEvaluate_DA() local
192 PetscCall(DMGetDimension(dm, &dim)); in DMFieldEvaluate_DA()
194 … % dim == 0, PETSC_COMM_SELF, PETSC_ERR_ARG_INCOMP, "Point vector size %" PetscInt_FMT " not divis… in DMFieldEvaluate_DA()
195 n = N / dim; in DMFieldEvaluate_DA()
198 …MultilinearEvaluate(dim, coordRange, nc, dafield->cornerCoeffs, dafield->work, n, array, datatype,… in DMFieldEvaluate_DA()
205 PetscInt c, i, j, k, dim, cellsPer[3] = {0}, first[3] = {0}, whol, half; in DMFieldEvaluateFE_DA() local
233 dim = info.dim; in DMFieldEvaluateFE_DA()
247 PetscCall(DMGetWorkArray(dm, nq * dim, MPIU_SCALAR, &qs)); in DMFieldEvaluateFE_DA()
248 for (i = 0; i < nq * dim; i++) qs[i] = q[i]; in DMFieldEvaluateFE_DA()
253 PetscCall(DMGetWorkArray(dm, (1 << dim) * nc, MPIU_SCALAR, &cellCoeffs)); in DMFieldEvaluateFE_DA()
254 whol = (1 << dim); in DMFieldEvaluateFE_DA()
268 cD = PetscSafePointerPlusOffset((PetscScalar *)D, nc * nq * dim * c); in DMFieldEvaluateFE_DA()
269 cH = PetscSafePointerPlusOffset((PetscScalar *)H, nc * nq * dim * dim * c); in DMFieldEvaluateFE_DA()
272 cD = PetscSafePointerPlusOffset((PetscReal *)D, nc * nq * dim * c); in DMFieldEvaluateFE_DA()
273 cH = PetscSafePointerPlusOffset((PetscReal *)H, nc * nq * dim * dim * c); in DMFieldEvaluateFE_DA()
277 for (j = 0; j < dim; j++) { in DMFieldEvaluateFE_DA()
292 …MultilinearEvaluate(dim, cellCoordRange, nc, cellCoeffs, dafield->work, nq, qs, datatype, cB, cD, … in DMFieldEvaluateFE_DA()
295 PetscCall(DMRestoreWorkArray(dm, (1 << dim) * nc, MPIU_SCALAR, &cellCoeffs)); in DMFieldEvaluateFE_DA()
297 PetscCall(DMRestoreWorkArray(dm, nq * dim, MPIU_SCALAR, &qs)); in DMFieldEvaluateFE_DA()
304 PetscInt c, i, dim, cellsPer[3] = {0}, first[3] = {0}; in DMFieldEvaluateFV_DA() local
321 dim = info.dim; in DMFieldEvaluateFV_DA()
333 PetscCall(DMGetWorkArray(dm, dim * numCells, MPIU_SCALAR, &points)); in DMFieldEvaluateFV_DA()
343 for (i = 0; i < dim; i++) { in DMFieldEvaluateFV_DA()
346 points[dim * c + i] = (ijk[i] + first[i] + 0.5) * stepPer[i]; in DMFieldEvaluateFV_DA()
350 …MultilinearEvaluate(dim, dafield->coordRange, nc, dafield->cornerCoeffs, dafield->work, numCells, … in DMFieldEvaluateFV_DA()
351 PetscCall(DMRestoreWorkArray(dm, dim * numCells, MPIU_SCALAR, &points)); in DMFieldEvaluateFV_DA()
358 PetscInt dim, h, imin; in DMFieldGetDegree_DA() local
363 PetscCall(DMGetDimension(dm, &dim)); in DMFieldGetDegree_DA()
364 for (h = 0; h <= dim; h++) { in DMFieldGetDegree_DA()
370 dim -= h; in DMFieldGetDegree_DA()
372 if (maxDegree) *maxDegree = dim; in DMFieldGetDegree_DA()
378 PetscInt h, dim, imax, imin; in DMFieldCreateDefaultQuadrature_DA() local
384 PetscCall(DMGetDimension(dm, &dim)); in DMFieldCreateDefaultQuadrature_DA()
386 for (h = 0; h <= dim; h++) { in DMFieldCreateDefaultQuadrature_DA()
392 dim -= h; in DMFieldCreateDefaultQuadrature_DA()
393 if (dim > 0) PetscCall(PetscDTGaussTensorQuadrature(dim, 1, 1, -1.0, 1.0, quad)); in DMFieldCreateDefaultQuadrature_DA()
401 PetscInt dim, i, j, k; in DMFieldInitialize_DA() local
413 PetscCall(DMGetDimension(dm, &dim)); in DMFieldInitialize_DA()
425 n /= dim; in DMFieldInitialize_DA()
428 for (j = 0; j < dim; j++, k++) { in DMFieldInitialize_DA()
436 …PetscCallMPI(MPIU_Allreduce(mins, &dafield->coordRange[0][0], 2 * dim, MPIU_REAL, MPI_MIN, PetscOb… in DMFieldInitialize_DA()
437 for (j = 0; j < dim; j++) dafield->coordRange[j][1] = -dafield->coordRange[j][1]; in DMFieldInitialize_DA()
439 for (j = 0; j < dim; j++) { in DMFieldInitialize_DA()
444 for (j = 0; j < dim; j++) { in DMFieldInitialize_DA()
469 PetscInt dim, nv, i, j, k; in DMFieldCreateDA() local
477 PetscCall(DMGetDimension(dm, &dim)); in DMFieldCreateDA()
478 nv = (1 << dim) * nc; in DMFieldCreateDA()
485 half = (1 << (dim - 1)); in DMFieldCreateDA()
486 for (i = 0; i < dim; i++) { in DMFieldCreateDA()