laserbeamsize.gaussian Module

A module for calculating properties of a Gaussian laser beam.

Full documentation is available at <https://laserbeamsize.readthedocs.io>

This module contains a collection of functions to calculate various properties of a Gaussian laser beam, based on its physical parameters such as waist radius, wavelength, and beam propagation factor (M²). These functions are essential in laser physics and optics to analyze and predict the behavior of laser beams under different circumstances.

Functions:

z_rayleigh(w0, lambda0, M2=1): Calculates the Rayleigh range of the beam.

beam_radius(w0, lambda0, z, z0=0, M2=1): Determines the beam radius at a specific axial location.

magnification(w0, lambda0, s, f, M2=1): Computes the magnification of the beam given certain parameters.

curvature(w0, lambda0, z, z0=0, M2=1): Calculates the radius of curvature of the beam at a specified axial position.

divergence(w0, lambda0, M2=1): Finds the full angle of beam divergence.

gouy_phase(w0, lambda0, z, z0=0): Determines the Gouy phase of the beam at a particular axial location.

focused_diameter(f, lambda0, d, M2=1): Calculates the diameter of a diffraction-limited focused beam.

beam_parameter_product(Theta, d0, Theta_std=0, d0_std=0): Computes the beam parameter product and its standard deviation.

image_distance(w0, lambda0, s, f, M2=1): Finds the location of the new beam waist after passing through a lens.

All functions take floating-point numbers as inputs for the physical parameters of the beam, and return a floating-point number as the output, representing the calculated property. The unit for distances is meters, and the unit for angles is radians.

Example

>>> import laserbeamsize as lbs
>>> w0 = 0.001
>>> lambda0 = 0.65e-6
>>> z = lbs.z_rayleigh(w0, lambda0)
>>> print(f"Rayleigh range: {z} meters")
Rayleigh range: 4.811823616524697 meters

Functions

z_rayleigh(w0, lambda0[, M2])

Return the Rayleigh distance for a Gaussian beam.

beam_radius(w0, lambda0, z[, z0, M2])

Return the beam radius at an axial location of a Gaussian beam.

magnification(w0, lambda0, s, f[, M2])

Return the magnification of a Gaussian beam.

image_distance(w0, lambda0, s, f[, M2])

Return the location of the new beam waist after passing through a lens.

curvature(w0, lambda0, z[, z0, M2])

Calculate the radius of curvature of a Gaussian beam at a given axial position.

divergence(w0, lambda0[, M2])

Calculate the full angle of divergence of a Gaussian beam.

gouy_phase(w0, lambda0, z[, z0])

Calculate the Gouy phase shift of a Gaussian beam at a specific axial position.

focused_diameter(f, lambda0, d[, M2])

Calculate the diameter of a diffraction-limited focused beam.

beam_parameter_product(Theta, d0[, ...])

Find the beam parameter product (BPP).

artificial_to_original(params, errors, f[, ...])

Convert artificial beam parameters to original beam parameters.