finesse.detectors.optimal_q module

Single-frequency array of complex amplitudes detector.

class finesse.detectors.optimal_q.OptimalQ(*args, **kwargs)[source]

Bases: Detector

This detector tries to compute an optimal beam parameter (\(q\)) for a specified optical frequency at a node.

Output of this detector into an array solution will be a tuple of BeamParam in each transverse direction, (qx, qy). If the optimisation process fails beam parameter objects will NaN values will be returned.

Parameters

namestr

Name of the detector

nodestr | finesse.components.Node

Node name or object to put this detector at

ffloat

Frequency component tro compute the optimal beam parameter for.

fix_spot_sizebool, optional

When True the optimised will keep the current spot size at the node fixed and just optimise the curvature.

astigmaticbool, optional

When True qx and qy will be optimised separately

accuracyfloat, optional

Approximate mismatch accuracy to try and compute the optimised beam parameter to. mismatch(q_actual, q_optimal) < accuracy

directionstr, optional

Return either both or just the x or y modes

Notes

This method uses the finesse.gaussian.optimise_HG00_q() or finesse.gaussian.optimise_HG00_q_scipy() for optimising the HG mode amplitudes at the node and frequency requested. This particular method finds a new set of {qx, qy} values which maximise the HG00 mode content, whilst reducing the HG20 and HG02 mode content.

Failure

If the optical field being optimised does not have a HG00 like appearance then. For example, trying to optimise the shape of an RF sideband field inside a cavity that it is not resonant in.

property astigmatic

astigmatic : bool, optional When True qx and qy will be optimised separately

property direction[source]

Sets the output of the detector.

If both then both qx and qy are returned. if x or y are used then only the required one is returned.

property f

f : float Frequency component tro compute the optimal beam parameter for.

property fix_spot_size

fix_spot_size : bool, optional When True the optimised will keep the current spot size at the node fixed and just optimise the curvature.

class finesse.detectors.optimal_q.OptimalQWorkspace(owner, sim)[source]

Bases: DetectorWorkspace

Workspace for calculating the output of the optimial beamparameter (q) detectors.

Parameters

ownerOptimalQ

Detector which owns this workspace

sim

Simulation this workspace should be created for