Neko
0.9.0
A portable framework for high-order spectral element flow simulations
|
Go to the source code of this file.
Functions | |
template<typename T , const int NX> | |
__global__ void | schwarz_extrude_kernel (T *a1, const int l1, const T f1, T *a2, const int l2, const T f2) |
template<typename T > | |
__global__ void | schwarz_toext3d_kernel (T *__restrict__ a, T *__restrict__ b, const int nx) |
template<typename T > | |
__global__ void | schwarz_toreg3d_kernel (T *__restrict__ b, T *__restrict__ a, const int nx) |
__global__ void schwarz_extrude_kernel | ( | T * | a1, |
const int | l1, | ||
const T | f1, | ||
T * | a2, | ||
const int | l2, | ||
const T | f2 | ||
) |
Device kernel for schwarz extrude We sum the "shell" of a1 that is l1 steps in scaled with f1 with the shell of a2 that is l2 steps in and scale with f3. Right now we just throw away all arrays that are not on the first face of dimension (nx-2)(nx-2) It should be noted that a1, a2 are often the same array.
Definition at line 46 of file schwarz_kernel.h.
__global__ void schwarz_toext3d_kernel | ( | T *__restrict__ | a, |
T *__restrict__ | b, | ||
const int | nx | ||
) |
Device kernel for schwarz extrude
Definition at line 93 of file schwarz_kernel.h.
__global__ void schwarz_toreg3d_kernel | ( | T *__restrict__ | b, |
T *__restrict__ | a, | ||
const int | nx | ||
) |
Definition at line 115 of file schwarz_kernel.h.