Lines Matching refs:Q_1D

15 template <int Q_1D>
19 …for (CeedInt i = 2; i < Q_1D; i++) chebyshev_x[i] = 2 * x * chebyshev_x[i - 1] - chebyshev_x[i - 2… in ChebyshevPolynomialsAtPoint()
22 template <int Q_1D>
30 for (CeedInt i = 2; i < Q_1D; i++) { in ChebyshevDerivativeAtPoint()
43 template <int NUM_COMP, int NUM_POINTS, int P_1D, int Q_1D>
46 CeedScalar chebyshev_x[Q_1D]; in InterpAtPoints1d()
49 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[0], chebyshev_x); in InterpAtPoints1d()
52 if (data.t_id_x < Q_1D) data.slice[data.t_id_x] = r_C[comp]; in InterpAtPoints1d()
55 for (CeedInt i = 0; i < Q_1D; i++) { in InterpAtPoints1d()
64 template <int NUM_COMP, int NUM_POINTS, int P_1D, int Q_1D>
67 CeedScalar chebyshev_x[Q_1D]; in InterpTransposeAtPoints1d()
69 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[0], chebyshev_x); in InterpTransposeAtPoints1d()
72 if (data.t_id_x < Q_1D) data.slice[data.t_id_x] = 0.0; in InterpTransposeAtPoints1d()
76 for (CeedInt i = 0; i < Q_1D; i++) { in InterpTransposeAtPoints1d()
77 …atomicAdd_block(&data.slice[comp * Q_1D + (i + data.t_id_x) % Q_1D], chebyshev_x[(i + data.t_id_x)… in InterpTransposeAtPoints1d()
82 if (data.t_id_x < Q_1D) r_C[comp] += data.slice[data.t_id_x]; in InterpTransposeAtPoints1d()
89 template <int NUM_COMP, int NUM_POINTS, int P_1D, int Q_1D>
92 CeedScalar chebyshev_x[Q_1D]; in GradAtPoints1d()
94 ChebyshevDerivativeAtPoint<Q_1D>(r_X[0], chebyshev_x); in GradAtPoints1d()
99 if (data.t_id_x < Q_1D) data.slice[data.t_id_x] = r_C[comp]; in GradAtPoints1d()
102 for (CeedInt i = 0; i < Q_1D; i++) { in GradAtPoints1d()
111 template <int NUM_COMP, int NUM_POINTS, int P_1D, int Q_1D>
114 CeedScalar chebyshev_x[Q_1D]; in GradTransposeAtPoints1d()
116 ChebyshevDerivativeAtPoint<Q_1D>(r_X[0], chebyshev_x); in GradTransposeAtPoints1d()
119 if (data.t_id_x < Q_1D) data.slice[data.t_id_x] = 0.0; in GradTransposeAtPoints1d()
123 for (CeedInt i = 0; i < Q_1D; i++) { in GradTransposeAtPoints1d()
124 …atomicAdd_block(&data.slice[comp * Q_1D + (i + data.t_id_x) % Q_1D], chebyshev_x[(i + data.t_id_x)… in GradTransposeAtPoints1d()
129 if (data.t_id_x < Q_1D) r_C[comp] += data.slice[data.t_id_x]; in GradTransposeAtPoints1d()
140 template <int NUM_COMP, int NUM_POINTS, int P_1D, int Q_1D>
145 CeedScalar buffer[Q_1D]; in InterpAtPoints2d()
146 CeedScalar chebyshev_x[Q_1D]; in InterpAtPoints2d()
150 …if (data.t_id_x < Q_1D && data.t_id_y < Q_1D) data.slice[data.t_id_x + data.t_id_y * Q_1D] = r_C[c… in InterpAtPoints2d()
153 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[0], chebyshev_x); in InterpAtPoints2d()
154 for (CeedInt i = 0; i < Q_1D; i++) { in InterpAtPoints2d()
156 for (CeedInt j = 0; j < Q_1D; j++) { in InterpAtPoints2d()
157 buffer[i] += chebyshev_x[j] * data.slice[j + i * Q_1D]; in InterpAtPoints2d()
161 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[1], chebyshev_x); in InterpAtPoints2d()
162 for (CeedInt i = 0; i < Q_1D; i++) { in InterpAtPoints2d()
171 template <int NUM_COMP, int NUM_POINTS, int P_1D, int Q_1D>
175 CeedScalar buffer[Q_1D]; in InterpTransposeAtPoints2d()
176 CeedScalar chebyshev_x[Q_1D]; in InterpTransposeAtPoints2d()
179 … if (data.t_id_x < Q_1D && data.t_id_y < Q_1D) data.slice[data.t_id_x + data.t_id_y * Q_1D] = 0.0; in InterpTransposeAtPoints2d()
182 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[1], chebyshev_x); in InterpTransposeAtPoints2d()
185 for (CeedInt i = 0; i < Q_1D; i++) { in InterpTransposeAtPoints2d()
189 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[0], chebyshev_x); in InterpTransposeAtPoints2d()
190 for (CeedInt i = 0; i < Q_1D; i++) { in InterpTransposeAtPoints2d()
192 const CeedInt ii = (i + data.t_id_y) % Q_1D; in InterpTransposeAtPoints2d()
194 for (CeedInt j = 0; j < Q_1D; j++) { in InterpTransposeAtPoints2d()
195 const CeedInt jj = (j + data.t_id_x) % Q_1D; in InterpTransposeAtPoints2d()
197 …if (data.t_id_x < Q_1D && data.t_id_y < Q_1D) atomicAdd_block(&data.slice[jj + ii * Q_1D], chebysh… in InterpTransposeAtPoints2d()
202 …if (data.t_id_x < Q_1D && data.t_id_y < Q_1D) r_C[comp] += data.slice[data.t_id_x + data.t_id_y * in InterpTransposeAtPoints2d()
209 template <int NUM_COMP, int NUM_POINTS, int P_1D, int Q_1D>
214 CeedScalar buffer[Q_1D]; in GradAtPoints2d()
215 CeedScalar chebyshev_x[Q_1D]; in GradAtPoints2d()
219 …if (data.t_id_x < Q_1D && data.t_id_y < Q_1D) data.slice[data.t_id_x + data.t_id_y * Q_1D] = r_C[c… in GradAtPoints2d()
223 if (dim == 0) ChebyshevDerivativeAtPoint<Q_1D>(r_X[0], chebyshev_x); in GradAtPoints2d()
224 else ChebyshevPolynomialsAtPoint<Q_1D>(r_X[0], chebyshev_x); in GradAtPoints2d()
225 for (CeedInt i = 0; i < Q_1D; i++) { in GradAtPoints2d()
227 for (CeedInt j = 0; j < Q_1D; j++) { in GradAtPoints2d()
228 buffer[i] += chebyshev_x[j] * data.slice[j + i * Q_1D]; in GradAtPoints2d()
232 if (dim == 1) ChebyshevDerivativeAtPoint<Q_1D>(r_X[1], chebyshev_x); in GradAtPoints2d()
233 else ChebyshevPolynomialsAtPoint<Q_1D>(r_X[1], chebyshev_x); in GradAtPoints2d()
234 for (CeedInt i = 0; i < Q_1D; i++) { in GradAtPoints2d()
244 template <int NUM_COMP, int NUM_POINTS, int P_1D, int Q_1D>
248 CeedScalar buffer[Q_1D]; in GradTransposeAtPoints2d()
249 CeedScalar chebyshev_x[Q_1D]; in GradTransposeAtPoints2d()
252 … if (data.t_id_x < Q_1D && data.t_id_y < Q_1D) data.slice[data.t_id_x + data.t_id_y * Q_1D] = 0.0; in GradTransposeAtPoints2d()
256 if (dim == 1) ChebyshevDerivativeAtPoint<Q_1D>(r_X[1], chebyshev_x); in GradTransposeAtPoints2d()
257 else ChebyshevPolynomialsAtPoint<Q_1D>(r_X[1], chebyshev_x); in GradTransposeAtPoints2d()
260 for (CeedInt i = 0; i < Q_1D; i++) { in GradTransposeAtPoints2d()
264 if (dim == 0) ChebyshevDerivativeAtPoint<Q_1D>(r_X[0], chebyshev_x); in GradTransposeAtPoints2d()
265 else ChebyshevPolynomialsAtPoint<Q_1D>(r_X[0], chebyshev_x); in GradTransposeAtPoints2d()
266 for (CeedInt i = 0; i < Q_1D; i++) { in GradTransposeAtPoints2d()
268 const CeedInt ii = (i + data.t_id_y) % Q_1D; in GradTransposeAtPoints2d()
270 for (CeedInt j = 0; j < Q_1D; j++) { in GradTransposeAtPoints2d()
271 const CeedInt jj = (j + data.t_id_x) % Q_1D; in GradTransposeAtPoints2d()
273 …if (data.t_id_x < Q_1D && data.t_id_y < Q_1D) atomicAdd_block(&data.slice[jj + ii * Q_1D], chebysh… in GradTransposeAtPoints2d()
279 …if (data.t_id_x < Q_1D && data.t_id_y < Q_1D) r_C[comp] += data.slice[data.t_id_x + data.t_id_y * in GradTransposeAtPoints2d()
290 template <int NUM_COMP, int NUM_POINTS, int P_1D, int Q_1D>
294 for (CeedInt k = 0; k < Q_1D; k++) { in InterpAtPoints3d()
295 CeedScalar buffer[Q_1D]; in InterpAtPoints3d()
296 CeedScalar chebyshev_x[Q_1D]; in InterpAtPoints3d()
299 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[2], chebyshev_x); in InterpAtPoints3d()
305 …if (data.t_id_x < Q_1D && data.t_id_y < Q_1D) data.slice[data.t_id_x + data.t_id_y * Q_1D] = r_C[k… in InterpAtPoints3d()
308 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[0], chebyshev_x); in InterpAtPoints3d()
309 for (CeedInt i = 0; i < Q_1D; i++) { in InterpAtPoints3d()
311 for (CeedInt j = 0; j < Q_1D; j++) { in InterpAtPoints3d()
312 buffer[i] += chebyshev_x[j] * data.slice[j + i * Q_1D]; in InterpAtPoints3d()
316 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[1], chebyshev_x); in InterpAtPoints3d()
317 for (CeedInt i = 0; i < Q_1D; i++) { in InterpAtPoints3d()
327 template <int NUM_COMP, int NUM_POINTS, int P_1D, int Q_1D>
330 for (CeedInt k = 0; k < Q_1D; k++) { in InterpTransposeAtPoints3d()
331 CeedScalar buffer[Q_1D]; in InterpTransposeAtPoints3d()
332 CeedScalar chebyshev_x[Q_1D]; in InterpTransposeAtPoints3d()
335 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[2], chebyshev_x); in InterpTransposeAtPoints3d()
340 … if (data.t_id_x < Q_1D && data.t_id_y < Q_1D) data.slice[data.t_id_x + data.t_id_y * Q_1D] = 0.0; in InterpTransposeAtPoints3d()
343 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[1], chebyshev_x); in InterpTransposeAtPoints3d()
346 for (CeedInt i = 0; i < Q_1D; i++) { in InterpTransposeAtPoints3d()
350 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[0], chebyshev_x); in InterpTransposeAtPoints3d()
351 for (CeedInt i = 0; i < Q_1D; i++) { in InterpTransposeAtPoints3d()
353 const CeedInt ii = (i + data.t_id_y) % Q_1D; in InterpTransposeAtPoints3d()
355 for (CeedInt j = 0; j < Q_1D; j++) { in InterpTransposeAtPoints3d()
356 const CeedInt jj = (j + data.t_id_x) % Q_1D; in InterpTransposeAtPoints3d()
358 …if (data.t_id_x < Q_1D && data.t_id_y < Q_1D) atomicAdd_block(&data.slice[jj + ii * Q_1D], chebysh… in InterpTransposeAtPoints3d()
363 …if (data.t_id_x < Q_1D && data.t_id_y < Q_1D) r_C[k + comp * Q_1D] += data.slice[data.t_id_x + dat… in InterpTransposeAtPoints3d()
371 template <int NUM_COMP, int NUM_POINTS, int P_1D, int Q_1D>
375 for (CeedInt k = 0; k < Q_1D; k++) { in GradAtPoints3d()
376 CeedScalar buffer[Q_1D]; in GradAtPoints3d()
377 CeedScalar chebyshev_x[Q_1D]; in GradAtPoints3d()
380 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[2], chebyshev_x); in GradAtPoints3d()
383 ChebyshevDerivativeAtPoint<Q_1D>(r_X[2], chebyshev_x); in GradAtPoints3d()
389 …if (data.t_id_x < Q_1D && data.t_id_y < Q_1D) data.slice[data.t_id_x + data.t_id_y * Q_1D] = r_C[k… in GradAtPoints3d()
394 if (dim == 0) ChebyshevDerivativeAtPoint<Q_1D>(r_X[0], chebyshev_x); in GradAtPoints3d()
395 else ChebyshevPolynomialsAtPoint<Q_1D>(r_X[0], chebyshev_x); in GradAtPoints3d()
396 for (CeedInt i = 0; i < Q_1D; i++) { in GradAtPoints3d()
398 for (CeedInt j = 0; j < Q_1D; j++) { in GradAtPoints3d()
399 buffer[i] += chebyshev_x[j] * data.slice[j + i * Q_1D]; in GradAtPoints3d()
403 if (dim == 1) ChebyshevDerivativeAtPoint<Q_1D>(r_X[1], chebyshev_x); in GradAtPoints3d()
404 else ChebyshevPolynomialsAtPoint<Q_1D>(r_X[1], chebyshev_x); in GradAtPoints3d()
407 for (CeedInt i = 0; i < Q_1D; i++) { in GradAtPoints3d()
418 template <int NUM_COMP, int NUM_POINTS, int P_1D, int Q_1D>
421 for (CeedInt k = 0; k < Q_1D; k++) { in GradTransposeAtPoints3d()
422 CeedScalar buffer[Q_1D]; in GradTransposeAtPoints3d()
423 CeedScalar chebyshev_x[Q_1D]; in GradTransposeAtPoints3d()
426 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[2], chebyshev_x); in GradTransposeAtPoints3d()
429 ChebyshevDerivativeAtPoint<Q_1D>(r_X[2], chebyshev_x); in GradTransposeAtPoints3d()
434 … if (data.t_id_x < Q_1D && data.t_id_y < Q_1D) data.slice[data.t_id_x + data.t_id_y * Q_1D] = 0.0; in GradTransposeAtPoints3d()
439 if (dim == 1) ChebyshevDerivativeAtPoint<Q_1D>(r_X[1], chebyshev_x); in GradTransposeAtPoints3d()
440 else ChebyshevPolynomialsAtPoint<Q_1D>(r_X[1], chebyshev_x); in GradTransposeAtPoints3d()
444 for (CeedInt i = 0; i < Q_1D; i++) { in GradTransposeAtPoints3d()
449 if (dim == 0) ChebyshevDerivativeAtPoint<Q_1D>(r_X[0], chebyshev_x); in GradTransposeAtPoints3d()
450 else ChebyshevPolynomialsAtPoint<Q_1D>(r_X[0], chebyshev_x); in GradTransposeAtPoints3d()
451 for (CeedInt i = 0; i < Q_1D; i++) { in GradTransposeAtPoints3d()
453 const CeedInt ii = (i + data.t_id_y) % Q_1D; in GradTransposeAtPoints3d()
455 for (CeedInt j = 0; j < Q_1D; j++) { in GradTransposeAtPoints3d()
456 const CeedInt jj = (j + data.t_id_x) % Q_1D; in GradTransposeAtPoints3d()
458 …if (data.t_id_x < Q_1D && data.t_id_y < Q_1D) atomicAdd_block(&data.slice[jj + ii * Q_1D], chebysh… in GradTransposeAtPoints3d()
464 …if (data.t_id_x < Q_1D && data.t_id_y < Q_1D) r_C[k + comp * Q_1D] += data.slice[data.t_id_x + dat… in GradTransposeAtPoints3d()