I am attempting to create a python function to assist in calculating the following numerical integration of the Huygens Fresnel integral in the form of def fresnel(x_,y_,x,y,z)
where x_
and y_
are $x'$ and $y'$ coordinates.
$$E(x,y,z)=\frac{1}{i\lambda}\iint_{-\infty}^{+\infty}E(x',y',0)\frac{ze^{ikr}}{r}dx'dy'$$
where
$$r=\sqrt{(x-x')^2+(y-y')^2+z^2}$$
$k=\frac{2\pi}{\lambda}$is the wavenumber, and $\lambda$ is the wavelength of the lightsource, and it is assumed that light field is uniform, $E(x',y',0)=1$
The few examples I have seen online use
scipy.integrate.dblquad(func, a, b, gfun, hfun,
args=(), epsabs=1.49e-08, epsrel=1.49e-08)
to perform the double integration, however, I've been struggling to implement the gfun
and hfun
callables of the dblquad
function as I'm still quite new to this.