Lines Matching refs:nc
32 PetscInt nc; in DMFieldView_DA() local
38 nc = field->numComponents; in DMFieldView_DA()
42 for (j = 0; j < nc; j++) { in DMFieldView_DA()
43 PetscScalar val = dafield->cornerVals[nc * i + j]; 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.; \
74 for (_m = 0; _m < (nc); _m++) { \
83 static void MultilinearEvaluate(PetscInt dim, PetscReal (*coordRange)[2], PetscInt nc, PetscScalar … in MultilinearEvaluate() argument
118 PetscScalar *out = &((PetscScalar *)B)[nc * i]; in MultilinearEvaluate()
120 MEdot(out, cf, etaB, (1 << dim), nc, (PetscScalar)); in MultilinearEvaluate()
122 PetscReal *out = &((PetscReal *)B)[nc * i]; 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()
140 for (k = 0; k < whol * nc; k++) cfWork[k] = cf[k]; in MultilinearEvaluate()
148 for (l = 0; l < nc; l++) { in MultilinearEvaluate()
149 cf[k * nc + l] = cfWork[2 * k * nc + l]; in MultilinearEvaluate()
150 cf[(k + half) * nc + l] = cfWork[(2 * k + 1) * nc + l]; 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()
184 PetscInt N, n, nc; in DMFieldEvaluate_DA() local
190 nc = field->numComponents; in DMFieldEvaluate_DA()
198 …MultilinearEvaluate(dim, coordRange, nc, dafield->cornerCoeffs, dafield->work, n, array, datatype,… in DMFieldEvaluate_DA()
216 PetscInt nq, nc; in DMFieldEvaluateFE_DA() local
231 nc = field->numComponents; in DMFieldEvaluateFE_DA()
253 PetscCall(DMGetWorkArray(dm, (1 << dim) * nc, MPIU_SCALAR, &cellCoeffs)); in DMFieldEvaluateFE_DA()
267 cB = PetscSafePointerPlusOffset((PetscScalar *)B, nc * nq * c); 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()
271 cB = PetscSafePointerPlusOffset((PetscReal *)B, nc * nq * 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()
276 for (i = 0; i < nc * whol; i++) work[i] = dafield->cornerCoeffs[i]; in DMFieldEvaluateFE_DA()
285 for (k = 0; k < nc; k++) { in DMFieldEvaluateFE_DA()
286 cellCoeffs[i * nc + k] = work[2 * i * nc + k] * d; in DMFieldEvaluateFE_DA()
287 cellCoeffs[(i + half) * nc + k] = work[2 * i * nc + k] * e + work[(2 * i + 1) * nc + k]; in DMFieldEvaluateFE_DA()
290 for (i = 0; i < whol * nc; i++) work[i] = cellCoeffs[i]; 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()
309 PetscInt nc; in DMFieldEvaluateFV_DA() local
319 nc = field->numComponents; in DMFieldEvaluateFV_DA()
350 …MultilinearEvaluate(dim, dafield->coordRange, nc, dafield->cornerCoeffs, dafield->work, numCells, … in DMFieldEvaluateFV_DA()
465 PetscErrorCode DMFieldCreateDA(DM dm, PetscInt nc, const PetscScalar *cornerValues, DMField *field) in DMFieldCreateDA() argument
474 PetscCall(DMFieldCreate(dm, nc, DMFIELD_VERTEX, &b)); in DMFieldCreateDA()
478 nv = (1 << dim) * nc; in DMFieldCreateDA()
491 … for (k = 0; k < nc; k++) w[j * nc + k] = 0.5 * (cf[(2 * j + 1) * nc + k] - cf[(2 * j) * nc + k]); in DMFieldCreateDA()
493 w = &work[j * nc]; in DMFieldCreateDA()
495 … for (k = 0; k < nc; k++) w[j * nc + k] = 0.5 * (cf[(2 * j) * nc + k] + cf[(2 * j + 1) * nc + k]); in DMFieldCreateDA()