forked from jan/opencl_fdtd
Implementation of "source" fields (J)
parent
cb471df182
commit
d8dc024626
@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* 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];
|
Loading…
Reference in New Issue