solprop.tools.beam#
Free-space beam numbers: the critical power, beam parameters and intensities.
Functions
|
Return the characteristic numbers of a Gaussian beam in a gas. |
|
Return the waist a thin lens makes of a collimated Gaussian beam. |
|
Return the intensity of a field amplitude, \(I = \epsilon_0 c E^2/2\). |
|
Return the field amplitude of an intensity, \(E = \sqrt{2I/\epsilon_0 c}\). |
|
Return the critical power for self-focusing, as physical power. |
Classes
|
The characteristic numbers of a Gaussian beam in a gas. |
- class solprop.tools.beam.BeamParams(waist, focus, wavelength, index, rayleigh_range, critical_power, peak_power, power_ratio, collapse_distance)[source]#
Bases:
objectThe characteristic numbers of a Gaussian beam in a gas.
- Attributes:
- waistfloat
The 1/e² intensity radius at the waist, m.
- focusfloat
Where the waist lies from the launch plane, m.
- wavelengthfloat
The vacuum wavelength, m.
- indexfloat
The linear refractive index.
- rayleigh_rangefloat
\(\pi n w_0^2/\lambda\), m.
- critical_powerfloat
The Townes critical power, W (
solprop.spatial.critical_power()).- peak_powerfloat
The beam’s peak power, W.
- power_ratiofloat
Its peak power over the critical power.
- collapse_distancefloat or None
Where a monochromatic beam in a pure Kerr medium would collapse by Marburger’s empirical formula, m from the launch plane, with a lens’s focus combined by Talanov’s law. A reference, not a prediction of a broadband, ionising run;
Noneat or below the critical power, or where a beam already diverging leaves no collapse ahead.
- solprop.tools.beam.beam_params(waist, wavelength, gas, pressure, peak_power, *, focus=0.0)[source]#
Return the characteristic numbers of a Gaussian beam in a gas.
The Rayleigh range, the critical power, and Marburger’s collapse distance \(0.367 z_R/\sqrt{(\sqrt{P/P_{\rm cr}}-0.852)^2-0.0219}\), for a beam collimated at the launch plane. A beam launched a distance \(d\) before its waist has, at launch, the radius \(w_0\sqrt{1 + (d/z_R)^2}\) and a wavefront converging with radius \(R = d + z_R^2/d\); Marburger’s distance for that radius is combined with \(R\) by Talanov’s lens law, \(1/z_c' = 1/z_c + 1/R\). A waist just ahead is nearly collimated, so the distance moves smoothly with \(d\).
- Parameters:
- waistfloat
The 1/e² intensity radius at the waist, m.
- wavelengthfloat
The vacuum wavelength, m.
- gasGas or str
The gas.
- pressurefloat
Its pressure, bar.
- peak_powerfloat
The beam’s peak power, W.
- focusfloat, optional
Where the waist lies from the launch plane, m.
- Returns:
- BeamParams
The numbers.
Examples
>>> from solprop.tools import beam_params >>> beam = beam_params(300e-6, 800e-9, "Ar", 1.0, 27.6e9) >>> f"{beam.rayleigh_range:.3f} m, P/Pcr {beam.power_ratio:.2f}" '0.354 m, P/Pcr 3.00' >>> f"{beam.collapse_distance:.3f} m" '0.150 m'
- solprop.tools.beam.beam_through_lens(focal_length, radius, wavelength)[source]#
Return the waist a thin lens makes of a collimated Gaussian beam.
\(w_0 = \lambda f / (\pi w) / \sqrt{1 + (\lambda f / \pi w^2)^2}\), and the waist’s distance from the lens, \(f / (1 + (\lambda f / \pi w^2)^2)\), which falls short of the focal length for a weakly focused beam. Paraxial, in vacuum.
- Parameters:
- focal_lengthfloat
The lens’s focal length, m.
- radiusfloat
The beam’s 1/e² intensity radius on the lens, m.
- wavelengthfloat
The vacuum wavelength, m.
- Returns:
- tuple of float
The waist, m, and its distance from the lens, m.
Examples
>>> from solprop.tools import beam_through_lens >>> waist, distance = beam_through_lens(1.0, 5e-3, 800e-9) >>> f"{waist * 1e6:.1f} um at {distance:.4f} m" '50.9 um at 0.9999 m'
- solprop.tools.beam.field_to_intensity(field)[source]#
Return the intensity of a field amplitude, \(I = \epsilon_0 c E^2/2\).
- Parameters:
- fieldfloat
Field amplitude in V/m.
- Returns:
- float
Intensity in W/m^2.
Examples
>>> from solprop.tools import field_to_intensity >>> f"{field_to_intensity(1e10):.4e}" '1.3272e+17'
- solprop.tools.beam.intensity_to_field(intensity)[source]#
Return the field amplitude of an intensity, \(E = \sqrt{2I/\epsilon_0 c}\).
- Parameters:
- intensityfloat
Intensity in W/m^2, >= 0.
- Returns:
- float
Field amplitude in V/m.
- Raises:
- ToolsError
If the intensity is negative.
Examples
>>> from solprop.tools import field_to_intensity, intensity_to_field >>> f"{intensity_to_field(field_to_intensity(1e10)):.6e}" '1.000000e+10'
- solprop.tools.beam.self_focusing_power(wavelength, index, n2)[source]#
Return the critical power for self-focusing, as physical power.
\(P_{\rm cr} = 1.86226\,\lambda^2/(4\pi n_0 n_2)\), the Townes power of Fibich and Gaeta (Opt. Lett. 25, 335 (2000)). It is
solprop.spatial.critical_power()– the package’s one Townes constant – at the linear index, both measuring the physical axial power in the medium (SEP 34). The paper prints the constant as 1.86225; the computed value is 1.8622555, of which 1.86226 is the rounding.- Parameters:
- wavelengthfloat
Vacuum wavelength in m, > 0.
- indexfloat
Linear refractive index \(n_0\), > 0.
- n2float
Nonlinear index in m^2/W, > 0.
- Returns:
- float
Critical power in W.
Examples
>>> from solprop.tools import self_focusing_power >>> f"{self_focusing_power(800e-9, 1.0, 3.55e-25) / 1e9:.2f}" '267.17'