diff --git a/meanas/fdtd/misc.py b/meanas/fdtd/misc.py index 3fb3371..1d90c32 100644 --- a/meanas/fdtd/misc.py +++ b/meanas/fdtd/misc.py @@ -156,11 +156,11 @@ def gaussian_beam( wz = numpy.sqrt(wz2) # == fwhm(z) / sqrt(2 * ln(2)) kk = 2 * pi / wl - Rz = zz * (1 + zr2 / z2) + inv_Rz = numpy.divide(zz, z2 + zr2, out=numpy.zeros_like(zz), where=(z2 + zr2) != 0) gouy = numpy.arctan(zz / zr) - gaussian = w0 / wz * numpy.exp(-r2 / wz2) * numpy.exp(1j * (kk * zz + kk * r2 / 2 / Rz - gouy)) + gaussian = w0 / wz * numpy.exp(-r2 / wz2) * numpy.exp(1j * (kk * zz + kk * r2 * inv_Rz / 2 - gouy)) row = gaussian[:, :, gaussian.shape[2] // 2] - norm = numpy.sqrt((row * row.conj()).sum()) + norm = numpy.linalg.norm(row) return gaussian / norm