Astigmatic polarized beamlets
Standard stigmatic beamlets are limited to symmetric systems. For the modeling of arbitrary optical systems, including off-axis components, tilted lenses, or complex media like atmospheric turbulence, the package provides the AstigmaticGaussianBeamlet. This type implements the astigmatic Gaussian beamlet ray tracing formalism initially proposed by Greynolds (1986) [15, 16].
However, this idea has been referred to in multiple ways over the last few decades, including but not limited to: Gaussian Beamlet Tracing (GBT), Fat Ray Tracing (FRT), Parabasal Ray Tracing (PRT), Complex Ray Tracing (CRT), Gauss Beamlet Propagation (GBP) and Beam Synthesis Propagation (BSP).
Formalism
Similar to the Gauss model presented in the Stigmatic beamlets chapter, an astigmatic beamlet can represented by a cluster of 9 rays:
Ray representation
Chief Ray: a
PolarizedRaydefining the central path and polarization state.Waist Rays: four "positional" rays (waist
)Divergence Rays: four "directional" rays (divergence
)
These rays can be thought of tracking the complex curvature matrix
Key assumptions
Paraxiality: the auxiliary rays must remain within the paraxial regime relative to the chief ray.
Parabolic interaction: since only astigmatism can be captured, each surface interaction must be approximately parabolical
Homogeneous polarization: the polarization state of the traced field is assumed to be homogeneous over each beamlet
Matched scale: the beamlet must be smaller than the optical element it interacts with, see also 2.
The initial ordering of the geometric beams/rays is shown in the figure below. The colors represent the chief (red), waist (blue) and divergence (green) beams.

As with the GaussianBeamlet, tracing these rays through a system allows the reconstruction of the waist envelope and electric field. The reduced complex amplitude of the Gaussian beamlet is computed as
where

While the above beam closely matches the example Gaussian given in the previous section (Obtaining the beam parameters), the real advantage of this extended method lies in the tracing of non-symmetric systems. For a tilted two cylinder lens system, the following result with strong astigmatic effects is obtained. Multiple waist slices are marked with red dots.

The phase factor due to the optical path length of the central ray (
Optical invariant
In order to ensure the correctness of the traced beamlet, the complex ray vectors must satisfy the vanishing complex optical invariant:
This ensures that the complex curvature matrix
Astigmatic beamlets
You can construct a single astigmatic beamlet with a specified waist and polarization:
BeamletOptics.AstigmaticGaussianBeamlet Method
AstigmaticGaussianBeamlet(position, direction, λ, w0; kwargs...)Constructs an astigmatic Gaussian beamlet at its waist with the specified beam parameters. In the 4-argument version, the beam has circular symmetry with waist radius w0. In the 5-argument version, independent waists w0_x and w0_y can be specified.
Arguments
Inputs
position: origin of the beamletdirection: direction of the beamletλ: wavelength of the beamlet in [m]. Default value is 1000 nm.w0: beam waist (radius) in [m]. Default value is 1 mm.w0_x,w0_y: independent beam waists in [m].
Keyword Arguments
M2,M2_x,M2_y: beam quality factors. Default is 1P0: beam total power in [W]. Default is 1 mW.E0: electric field vector in [V/m]. Default isnothing(aligned with support axes, scaled byP0).support: optional support vector for basis constructionz0: beam waist offset in [m]. Default is 0 m
Additional information
Optical invariant check
When using the solve_system! function, the beamlet invariant will be checked for each interaction. If the invariant is violated, tracing will be stopped.
The constructor will spawn an AstigmaticGaussianBeamlet which is implemented as follows:
BeamletOptics.AstigmaticGaussianBeamlet Type
AstigmaticGaussianBeamlet{T} <: AbstractBeam{T, PolarizedRay{T}}Complex ray representation of a general astigmatic Gaussian beam as per the formalism described by A. Greynolds (1986) and N. Worku (2017). The beam is described by a chief PolarizedRay and 8 auxiliary Rays that encode the waist radius and divergence in two orthogonal transverse axes. The beam quality M2 is considered via the divergence angle. All equations are based on the following publications:
Alan Greynolds, "Vector formulation of the ray-equivalent method for general Gaussian beam propagation." Curr. Dev. Opt. Eng. Diffraction Phenom. Vol. 679. SPIE, 1986
and
Norman Worku and Herbert Gross, "Vectorial field propagation through high NA objectives using polarized Gaussian beam decomposition." OTOM XIV. Vol. 10347. SPIE, 2017
Fields
c: chiefBeamofPolarizedRaysparent: reference to the parent beam (ornothing)children: vector of child beams (e.g. after beam-splitting)
Additional information
Waist and field calculation
For a given beamlet the Gaussian beam parameters can be obtained via the gauss_parameters function.
Calculating astigmatic beam parameters
To obtain the physical vector electric field [V/m] at any point:
# Field at world position (x, y, z)
E_vec = polarized_field(agb, [0.01, 0, 0], 10.0)# Decompose a field from a detector into a new AstigmaticBeamGroup
beams = WavefrontBeamletDecomposition(x, z, amplitude, phase, dir, λ)
# Solve system (propagate all beamlets to next segment)
solve_system!(system, beams)The Curvature Matrix
The relationship between the auxiliary rays and the complex curvature of the beam is defined by the matrix equation
The diagonal elements
Analytic Bilinear Form
All vector operations in the formulas above (
Physical Beam Cross-Section
While the complex curvature matrix waist_parameters function.
As explicitly modeled for general astigmatic Gaussian beams [22], the matrix describing this intensity ellipse is directly derived from
The spatial spot matrix
This identity implies that the spatial spot covariance matrix
In BeamletOptics, this calculation is mapped directly to the 3D global coordinate system. Using the two complex 3D ray vectors
Expanding the complex vectors into their real and imaginary parts (
To find the true physical principal axes of the general astigmatic beam, the waist_parameters function computes the eigendecomposition of this symmetric matrix