forked from jan/opencl_fdtd
33 lines
729 B
Common Lisp
33 lines
729 B
Common Lisp
/*
|
|
* Update E-field from J field
|
|
*
|
|
* Template parameters:
|
|
* common_header: Rendered contents of common.cl
|
|
*
|
|
* OpenCL args:
|
|
* E, Jr, Ji, c, s, xmin, xmax, ymin, ymax, zmin, zmax
|
|
*/
|
|
|
|
{{common_header}}
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
__global ftype *Jrx = Jr + XX;
|
|
__global ftype *Jry = Jr + YY;
|
|
__global ftype *Jrz = Jr + ZZ;
|
|
__global ftype *Jix = Ji + XX;
|
|
__global ftype *Jiy = Ji + YY;
|
|
__global ftype *Jiz = Ji + ZZ;
|
|
|
|
|
|
if (x < xmin || y < ymin || z < zmin) {
|
|
PYOPENCL_ELWISE_CONTINUE;
|
|
}
|
|
if (x >= xmax || y >= ymax || z >= zmax) {
|
|
PYOPENCL_ELWISE_CONTINUE;
|
|
}
|
|
|
|
Ex[i] += c * Jrx[i] + s * Jix[i];
|
|
Ey[i] += c * Jry[i] + s * Jiy[i];
|
|
Ez[i] += c * Jrz[i] + s * Jiz[i];
|