finesse.gaussian.ws_overlap_grid¶
- finesse.gaussian.ws_overlap_grid(qp, woffset, soffset, wpts=200, spts=200)[source]¶
Computes the WS phase space overlap with the primary beam parameter qp over a grid of W, S data.
See
ws_overlap()
for a definition of the overlap quantity.The and spaces are formed by creating arrays around the
BeamParam.w
andBeamParam.S
values of qp, according to the offsets given in woffset and soffset, respectively.- Parameters:
- qp
BeamParam
The primary “mode” which overlapping modes are calculated against.
- woffsetfloat, sequence
A single number, or size 2 sequence. Defines the offsets (lower, upper) from the primary mode beamsize to use for the W space.
- soffsetfloat, sequence
A single number, or size 2 sequence. Defines the offsets (lower, upper) from the primary mode beamsize to use for the S space.
- wptsint, optional; default: 200
Number of points for the W space array.
- sptsint, optional; default: 200
Number of points for the S space array.
- qp
- Returns:
- W
numpy.ndarray
The W space (as a 2D grid).
- S
numpy.ndarray
The S space (as a 2D grid).
- OL
numpy.ndarray
The overlap as a function of the WS phase space (as a 2D grid).
- W
Examples
In the following example, we compute the overlap to a primary mode which has a 6 mm beam size and a defocus of 0 m (i.e. at the waist).
import finesse finesse.configure(plotting=True) import finesse.gaussian as gaussian from finesse.plotting.plot import ws_phase_space import matplotlib.pyplot as plt # Make a beam parameter with w = 6 mm, S = 0 m qp = gaussian.BeamParam(w=6e-3, S=0) # Compute the WS phase space overlap with qp, using # maximum offset of 1 mm in beam size and 1 cm in defocus W, S, OL = gaussian.ws_overlap_grid(qp, woffset=1e-3, soffset=1e-2) # Now plot this as contours of overlap with custom levels fig, ax = ws_phase_space( W, S, OL, levels=[0.6, 0.8, 0.84, 0.88, 0.92, 0.94, 0.96, 0.98, 0.995, 0.999], )