Tests of Kirchhoff integral with various Gaussian beams¶
Find the test module laguerre_gaussian_beam.py, as well as several other tests
for raycing backend, in \tests\raycing
.
Note
In this section we consider z-axis to be directed along the beamline in order to be compatible with the formulas in their standard notations. Elsewhere in xrt z-axis looks upwards.
Gaussian beam¶
Gaussian beam at the waist (at \(z=0\)) is defined as
where the pre-exponent factor provides normalization: \(\int{|u|^2dS} = 2\pi\int_0^\infty {|u|^2 rdr} = 1\).
Define
\(z_R \buildrel \text{def}\over = \frac{\pi w_0^2}\lambda\),
\(R \buildrel \text{def}\over = z\left(1+\frac{z_R^2}{z^2}\right)\),
\(w \buildrel \text{def}\over = w_0\sqrt{1+\frac{z^2}{z_R^2}}\).
Gaussian beam at arbitrary z is expressed as:
where the exponent can also be rewritten as: \(\exp\left(-\frac{r^2} {w_0^2(1-i\frac{z}{z_R})}\right)\). The pre-exponent factor can also be factored as \(\frac1{1-i\frac{z}{z_R}} = \frac{w_0}w\exp(i\psi)\) with \(\psi= \arctan{\frac{z}{z_R}}=\frac{1}{2i}\log{\frac{1+i\frac{z}{z_R}}{1-i\frac{z} {z_R}}}\).
\(U = u(r, z)\exp\left(-i(kz-\omega t)\right)\) satisfies the wave equation
\(u\) can also be obtained by integrating the Gaussian beam waist in a diffraction integral (in our implementation, the Kirchhoff integral):
The table below compares Kirchhoff diffraction integrals of a Gaussian waist with analytical solutions. The coloring is by wave phase. Notice equal shape and unity total flux. The Gaussian waist was calculated as GaussianBeam with \(w_0\) = 15 µm:
Gaussian waist (z=0) |
---|
Note
The resulting unity flux is not obtained by an ad hoc normalization after the diffraction. This flux is obtained from the diffraction field as is, which demonstrates the correctness of the field amplitude in our implementation of the Kirchhoff integral.
analytical Gaussian beam |
numerical Kirchhoff diffraction |
|
---|---|---|
z=5m |
||
z=10m |
||
z=20m |
||
z=40m |
||
z=80m |
Laguerre-Gaussian beam¶
Vortex beams are given by Laguerre-Gaussian modes:
The flux is again normalized to unity.
The table below compares Kirchhoff diffraction integrals of a Laguerre-Gaussian waist with analytical solutions. The coloring is by wave phase. Notice equal shape and unity total flux. The Laguerre-Gaussian waist was calculated as LaguerreGaussianBeam with \(w_0\) = 15 µm, \(l\) = 1 and \(p\) = 1:
Laguerre-Gaussian waist (z=0) |
---|
Note
The resulting unity flux is not obtained by an ad hoc normalization after the diffraction. This flux is obtained from the diffraction field as is, which demonstrates the correctness of the field amplitude in our implementation of the Kirchhoff integral.
analytical Laguerre-Gaussian beam |
numerical Kirchhoff diffraction |
|
---|---|---|
z=5m |
||
z=10m |
||
z=20m |
||
z=40m |
||
z=80m |
Hermite-Gaussian beam¶
Higher order modes in rectangular coordinates are given by Hermite-Gaussian modes:
where \(r^2 = x^2 + y^2\). The flux is again normalized to unity.
The table below compares Kirchhoff diffraction integrals of a Hermite-Gaussian waist with analytical solutions. The coloring is by wave phase. Notice equal shape and unity total flux. The Hermite-Gaussian waist was calculated as HermiteGaussianBeam with \(w_0\) = 15 µm, \(m\) = 3 and \(n\) = 2:
Hermite-Gaussian waist (z=0) |
---|
Note
The resulting unity flux is not obtained by an ad hoc normalization after the diffraction. This flux is obtained from the diffraction field as is, which demonstrates the correctness of the field amplitude in our implementation of the Kirchhoff integral.
analytical Hermite-Gaussian beam |
numerical Kirchhoff diffraction |
|
---|---|---|
z=5m |
||
z=10m |
||
z=20m |
||
z=40m |
||
z=80m |