Details
A Gaussian beam is an important type of optical beam that closely approximates different types of beams encountered in real life as well as various fields of physics.
ResourceFunction["GaussianBeam"] represents a Gaussian field that propagates along the vertical z-axis and that is parametrized by its beam waist w0 and Rayleigh range zR.
Properties are grouped into "Profiles", "Parameters", and "Summary", which groups one can retrieve by calling ResourceFunction["GaussianBeam"]["Properties"]. All available profiles and computed parameters are listed in ResourceFunction["GaussianBeam"]["Profiles"] and ResourceFunction["GaussianBeam"]["Parameters"], respectively.
Available profiles include:
"Amplitude" | (real) amplitude of electromagnetic beam |
"ComplexAmplitude" | (complex) amplitude that includes both the real amplitude and phase |
"Intensity" | magnitude squared of amplitude |
"Phase" | phase of electromagnetic beam |
Available computed parameters include:
"BeamRadius" | beam radius at given longitudinal position |
"ComplexBeamParameter" | complex beam parameter |
"Curvature" | beam curvature |
"Divergence" | beam divergence |
"FWHM" | full width at half maximum |
"GouyPhase" | Gouy phase |
"RadiusOfCurvature" | radius of beam curvature |
"RayleighRange" | Rayleigh range |
The formula for a given computed parameter par is obtained by calling ResourceFunction["GaussianBeam"][par]. For instance, the explicit formula for the beam divergence is retrieved by calling ResourceFunction["GaussianBeam"]["Divergence"].
Summary of all parameters and profiles is returned by
ResourceFunction["GaussianBeam"]["Summary"] in the form of
Dataset.
Not all beam parameters are independent of each other. The canonical set of independent parameters is the beam waist
w0 and Rayleigh range
zR, out of which all other properties can be calculated. The relation between the two independent parameters reads
, where
k=2πn/λ is the beam's wavenumber and where further
n is the refractive index of the propagation medium and
λ is the beam's wavelength. Instead of
w0 and
zR one could thus choose any complete set of these characteristics to specify the beam. For that reason, there are several ways of specifying a Gaussian beam:
{w0,zR} | specific beam waist and Rayleigh range |
"Normalized" | equivalent to w0=1 and zR=1 |
<|k1→v1,k2→v2,…|> | Association with a set of independent parameters |
When the parameters are specified as an
Association, the following named keys are supported:
"BeamWaist" | beam waist |
"RayleighRange" | Rayleigh range |
"Wavenumber" | wavenumber k=2πn/λ |
"Wavelength" | wavelength λ |
"RefractiveIndex" | refractive index n |
There are also short keys supported for convenience:
"w0" | beam waist |
"zR" | Rayleigh range |
"k" | wavenumber k=2πn/λ |
"λ" | wavelength λ |
"n" | refractive index n |
There are two possibilities for an independent set of parameters: either 1) exactly two of w0, zR, and k are given; or 2) exactly one of w0 and zR together with both λ and n are given.
The input parameters can be specified in the following formats:
v | symbolic variable |
0.325 | numeric value |
Quantity[v,unit] | symbolic or numeric value with unit |
QuantityVariable[v,unit] | named physical quantity with unit |
Two coordinate systems are supported, which can be specified as the second argument:
"Cartesian" | Cartesian coordinates {x,y,z} (default) |
"Cylindrical" | cylindrical coordinates {r,ϕ,z} |
The Gaussian beam formula depends explicitly on several computed parameters such as beam radius and radius of curvature. These are by default automatically expanded into their functional representation. One can suppress this expansion by setting the third argument to
False. This turns the parameters into
QuantityVariable objects and the beam formula is thus returned in its higher-level form. Such a form might be beneficial when rendering the formula in some text or for reference purposes.