- 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.
ws_overlap()for a definition of the overlap quantity.
The \(W\) and \(S\) spaces are formed by creating arrays around the
BeamParam.Svalues of qp, according to the offsets given in woffset and soffset, respectively.
The primary “mode” which overlapping modes are calculated against.
woffset : float, sequence
A single number, or size 2 sequence. Defines the offsets (lower, upper) from the primary mode beamsize to use for the W space.
soffset : float, sequence
A single number, or size 2 sequence. Defines the offsets (lower, upper) from the primary mode beamsize to use for the S space.
wpts : int, optional; default: 200
Number of points for the W space array.
spts : int, optional; default: 200
Number of points for the S space array.
The W space (as a 2D grid).
The S space (as a 2D grid).
The overlap as a function of the WS phase space (as a 2D grid).
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], )