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()
53 if (data.t_id_x < Q_1D) data.slice[data.t_id_x] = r_C[comp]; in InterpAtPoints1d()
56 for (CeedInt i = 0; i < Q_1D; i++) { in InterpAtPoints1d()
65 template <int NUM_COMP, int NUM_POINTS, int P_1D, int Q_1D>
68 CeedScalar chebyshev_x[Q_1D]; in InterpTransposeAtPoints1d()
70 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[0], chebyshev_x); in InterpTransposeAtPoints1d()
73 if (data.t_id_x < Q_1D) data.slice[data.t_id_x] = 0.0; in InterpTransposeAtPoints1d()
77 for (CeedInt i = 0; i < Q_1D; i++) { in InterpTransposeAtPoints1d()
78 …atomicAdd(&data.slice[comp * Q_1D + (i + data.t_id_x) % Q_1D], chebyshev_x[(i + data.t_id_x) % Q_1… in InterpTransposeAtPoints1d()
83 if (data.t_id_x < Q_1D) r_C[comp] += data.slice[data.t_id_x]; in InterpTransposeAtPoints1d()
90 template <int NUM_COMP, int NUM_POINTS, int P_1D, int Q_1D>
93 CeedScalar chebyshev_x[Q_1D]; in GradAtPoints1d()
95 ChebyshevDerivativeAtPoint<Q_1D>(r_X[0], chebyshev_x); in GradAtPoints1d()
100 if (data.t_id_x < Q_1D) data.slice[data.t_id_x] = r_C[comp]; in GradAtPoints1d()
103 for (CeedInt i = 0; i < Q_1D; i++) { in GradAtPoints1d()
112 template <int NUM_COMP, int NUM_POINTS, int P_1D, int Q_1D>
115 CeedScalar chebyshev_x[Q_1D]; in GradTransposeAtPoints1d()
117 ChebyshevDerivativeAtPoint<Q_1D>(r_X[0], chebyshev_x); in GradTransposeAtPoints1d()
120 if (data.t_id_x < Q_1D) data.slice[data.t_id_x] = 0.0; in GradTransposeAtPoints1d()
124 for (CeedInt i = 0; i < Q_1D; i++) { in GradTransposeAtPoints1d()
125 …atomicAdd(&data.slice[comp * Q_1D + (i + data.t_id_x) % Q_1D], chebyshev_x[(i + data.t_id_x) % Q_1… in GradTransposeAtPoints1d()
130 if (data.t_id_x < Q_1D) r_C[comp] += data.slice[data.t_id_x]; in GradTransposeAtPoints1d()
141 template <int NUM_COMP, int NUM_POINTS, int P_1D, int Q_1D>
146 CeedScalar buffer[Q_1D]; in InterpAtPoints2d()
147 CeedScalar chebyshev_x[Q_1D]; in InterpAtPoints2d()
151 …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()
154 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[0], chebyshev_x); in InterpAtPoints2d()
155 for (CeedInt i = 0; i < Q_1D; i++) { in InterpAtPoints2d()
157 for (CeedInt j = 0; j < Q_1D; j++) { in InterpAtPoints2d()
158 buffer[i] += chebyshev_x[j] * data.slice[j + i * Q_1D]; in InterpAtPoints2d()
162 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[1], chebyshev_x); in InterpAtPoints2d()
163 for (CeedInt i = 0; i < Q_1D; i++) { in InterpAtPoints2d()
172 template <int NUM_COMP, int NUM_POINTS, int P_1D, int Q_1D>
176 CeedScalar buffer[Q_1D]; in InterpTransposeAtPoints2d()
177 CeedScalar chebyshev_x[Q_1D]; in InterpTransposeAtPoints2d()
180 … 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()
183 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[1], chebyshev_x); in InterpTransposeAtPoints2d()
186 for (CeedInt i = 0; i < Q_1D; i++) { in InterpTransposeAtPoints2d()
190 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[0], chebyshev_x); in InterpTransposeAtPoints2d()
191 for (CeedInt i = 0; i < Q_1D; i++) { in InterpTransposeAtPoints2d()
193 const CeedInt ii = (i + data.t_id_y) % Q_1D; in InterpTransposeAtPoints2d()
195 for (CeedInt j = 0; j < Q_1D; j++) { in InterpTransposeAtPoints2d()
196 const CeedInt jj = (j + data.t_id_x) % Q_1D; in InterpTransposeAtPoints2d()
198 …if (data.t_id_x < Q_1D && data.t_id_y < Q_1D) atomicAdd(&data.slice[jj + ii * Q_1D], chebyshev_x[j… in InterpTransposeAtPoints2d()
203 …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()
210 template <int NUM_COMP, int NUM_POINTS, int P_1D, int Q_1D>
215 CeedScalar buffer[Q_1D]; in GradAtPoints2d()
216 CeedScalar chebyshev_x[Q_1D]; in GradAtPoints2d()
220 …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()
224 if (dim == 0) ChebyshevDerivativeAtPoint<Q_1D>(r_X[0], chebyshev_x); in GradAtPoints2d()
225 else ChebyshevPolynomialsAtPoint<Q_1D>(r_X[0], chebyshev_x); in GradAtPoints2d()
226 for (CeedInt i = 0; i < Q_1D; i++) { in GradAtPoints2d()
228 for (CeedInt j = 0; j < Q_1D; j++) { in GradAtPoints2d()
229 buffer[i] += chebyshev_x[j] * data.slice[j + i * Q_1D]; in GradAtPoints2d()
233 if (dim == 1) ChebyshevDerivativeAtPoint<Q_1D>(r_X[1], chebyshev_x); in GradAtPoints2d()
234 else ChebyshevPolynomialsAtPoint<Q_1D>(r_X[1], chebyshev_x); in GradAtPoints2d()
235 for (CeedInt i = 0; i < Q_1D; i++) { in GradAtPoints2d()
245 template <int NUM_COMP, int NUM_POINTS, int P_1D, int Q_1D>
249 CeedScalar buffer[Q_1D]; in GradTransposeAtPoints2d()
250 CeedScalar chebyshev_x[Q_1D]; in GradTransposeAtPoints2d()
253 … 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()
257 if (dim == 1) ChebyshevDerivativeAtPoint<Q_1D>(r_X[1], chebyshev_x); in GradTransposeAtPoints2d()
258 else ChebyshevPolynomialsAtPoint<Q_1D>(r_X[1], chebyshev_x); in GradTransposeAtPoints2d()
261 for (CeedInt i = 0; i < Q_1D; i++) { in GradTransposeAtPoints2d()
265 if (dim == 0) ChebyshevDerivativeAtPoint<Q_1D>(r_X[0], chebyshev_x); in GradTransposeAtPoints2d()
266 else ChebyshevPolynomialsAtPoint<Q_1D>(r_X[0], chebyshev_x); in GradTransposeAtPoints2d()
267 for (CeedInt i = 0; i < Q_1D; i++) { in GradTransposeAtPoints2d()
269 const CeedInt ii = (i + data.t_id_y) % Q_1D; in GradTransposeAtPoints2d()
271 for (CeedInt j = 0; j < Q_1D; j++) { in GradTransposeAtPoints2d()
272 const CeedInt jj = (j + data.t_id_x) % Q_1D; in GradTransposeAtPoints2d()
274 …if (data.t_id_x < Q_1D && data.t_id_y < Q_1D) atomicAdd(&data.slice[jj + ii * Q_1D], chebyshev_x[j… in GradTransposeAtPoints2d()
280 …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()
291 template <int NUM_COMP, int NUM_POINTS, int P_1D, int Q_1D>
295 for (CeedInt k = 0; k < Q_1D; k++) { in InterpAtPoints3d()
296 CeedScalar buffer[Q_1D]; in InterpAtPoints3d()
297 CeedScalar chebyshev_x[Q_1D]; in InterpAtPoints3d()
300 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[2], chebyshev_x); in InterpAtPoints3d()
306 …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()
309 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[0], chebyshev_x); in InterpAtPoints3d()
310 for (CeedInt i = 0; i < Q_1D; i++) { in InterpAtPoints3d()
312 for (CeedInt j = 0; j < Q_1D; j++) { in InterpAtPoints3d()
313 buffer[i] += chebyshev_x[j] * data.slice[j + i * Q_1D]; in InterpAtPoints3d()
317 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[1], chebyshev_x); in InterpAtPoints3d()
318 for (CeedInt i = 0; i < Q_1D; i++) { in InterpAtPoints3d()
328 template <int NUM_COMP, int NUM_POINTS, int P_1D, int Q_1D>
331 for (CeedInt k = 0; k < Q_1D; k++) { in InterpTransposeAtPoints3d()
332 CeedScalar buffer[Q_1D]; in InterpTransposeAtPoints3d()
333 CeedScalar chebyshev_x[Q_1D]; in InterpTransposeAtPoints3d()
336 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[2], chebyshev_x); in InterpTransposeAtPoints3d()
341 … 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()
344 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[1], chebyshev_x); in InterpTransposeAtPoints3d()
347 for (CeedInt i = 0; i < Q_1D; i++) { in InterpTransposeAtPoints3d()
351 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[0], chebyshev_x); in InterpTransposeAtPoints3d()
352 for (CeedInt i = 0; i < Q_1D; i++) { in InterpTransposeAtPoints3d()
354 const CeedInt ii = (i + data.t_id_y) % Q_1D; in InterpTransposeAtPoints3d()
356 for (CeedInt j = 0; j < Q_1D; j++) { in InterpTransposeAtPoints3d()
357 const CeedInt jj = (j + data.t_id_x) % Q_1D; in InterpTransposeAtPoints3d()
359 …if (data.t_id_x < Q_1D && data.t_id_y < Q_1D) atomicAdd(&data.slice[jj + ii * Q_1D], chebyshev_x[j… in InterpTransposeAtPoints3d()
364 …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()
372 template <int NUM_COMP, int NUM_POINTS, int P_1D, int Q_1D>
376 for (CeedInt k = 0; k < Q_1D; k++) { in GradAtPoints3d()
377 CeedScalar buffer[Q_1D]; in GradAtPoints3d()
378 CeedScalar chebyshev_x[Q_1D]; in GradAtPoints3d()
381 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[2], chebyshev_x); in GradAtPoints3d()
384 ChebyshevDerivativeAtPoint<Q_1D>(r_X[2], chebyshev_x); in GradAtPoints3d()
390 …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()
395 if (dim == 0) ChebyshevDerivativeAtPoint<Q_1D>(r_X[0], chebyshev_x); in GradAtPoints3d()
396 else ChebyshevPolynomialsAtPoint<Q_1D>(r_X[0], chebyshev_x); in GradAtPoints3d()
397 for (CeedInt i = 0; i < Q_1D; i++) { in GradAtPoints3d()
399 for (CeedInt j = 0; j < Q_1D; j++) { in GradAtPoints3d()
400 buffer[i] += chebyshev_x[j] * data.slice[j + i * Q_1D]; in GradAtPoints3d()
404 if (dim == 1) ChebyshevDerivativeAtPoint<Q_1D>(r_X[1], chebyshev_x); in GradAtPoints3d()
405 else ChebyshevPolynomialsAtPoint<Q_1D>(r_X[1], chebyshev_x); in GradAtPoints3d()
408 for (CeedInt i = 0; i < Q_1D; i++) { in GradAtPoints3d()
419 template <int NUM_COMP, int NUM_POINTS, int P_1D, int Q_1D>
422 for (CeedInt k = 0; k < Q_1D; k++) { in GradTransposeAtPoints3d()
423 CeedScalar buffer[Q_1D]; in GradTransposeAtPoints3d()
424 CeedScalar chebyshev_x[Q_1D]; in GradTransposeAtPoints3d()
427 ChebyshevPolynomialsAtPoint<Q_1D>(r_X[2], chebyshev_x); in GradTransposeAtPoints3d()
430 ChebyshevDerivativeAtPoint<Q_1D>(r_X[2], chebyshev_x); in GradTransposeAtPoints3d()
435 … 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()
440 if (dim == 1) ChebyshevDerivativeAtPoint<Q_1D>(r_X[1], chebyshev_x); in GradTransposeAtPoints3d()
441 else ChebyshevPolynomialsAtPoint<Q_1D>(r_X[1], chebyshev_x); in GradTransposeAtPoints3d()
445 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(&data.slice[jj + ii * Q_1D], chebyshev_x[j… 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()