finesse.components.cavity.Cavity

Overview

class finesse.components.cavity.Cavity(name, source, via=None, priority=0)[source]

Bases: TraceDependency

Represents a cavity in an interferometer configuration.

This class stores the shortest path between the start node and end node of the cavity and holds symbolic expressions for each physical attribute of the cavity. Numeric values corresponding to these attributes are obtained through the relevant properties.

Adding a Cavity to a Model results in the beam parameters of all nodes in the cavity path being set according to the cavity eigenmode (Cavity.q) when a beam trace is performed (e.g. at the start of a modal based simulation). The mode of the cavity is then also used as a trace starting point when setting beam parameters at nodes outside of the cavity - see Tracing the beam for details on the beam tracing algorithm.

Parameters
namestr

Name of newly created cavity.

sourceOpticalNode or Port

Node / Port that the cavity path starts from. If no via node is specified, then the cavity path will be given by the shortest path from source back to the component that owns source.

If a port is given then the output optical node of that port will be used as the source.

viaOpticalNode, optional

Node that the cavity path must traverse via; defaults to None.

Note that, unlike source, this cannot be a Port object as this would be ambiguous for beamsplitter type components - i.e. determination of which node to use cannot be assumed automatically.

prioritynumber, optional; default: 0

Priority value for beam tracing. Beam tracing dependencies are sorted in descending order of priority - i.e. higher priority value dependencies will be traced first. Any dependency with a priority value of zero will be traced, after non-zero priority dependencies, in alphabetic order of the dependency names.

Properties

Cavity.ABCD

The round-trip ABCD matrix of the cavity in both plannes.

Cavity.ABCDx

The tangential round-trip ABCD matrix of the cavity.

Cavity.ABCDy

The sagittal round-trip ABCD matrix of the cavity.

Cavity.FSR

The free-spectral-range (FSR) of the cavity.

Cavity.FWHM

The cavity full-width-half-maximum (FWHM).

Cavity.S

The resolution of the cavity in both planes.

Cavity.Sx

The resolution of cavity in the tangential plane.

Cavity.Sy

The resolution of cavity in the sagittal plane.

Cavity.finesse

The finesse of the cavity.

Cavity.g

The stability of the cavity, in both planes, given by the \(g\)-factor:

Cavity.gouy

The accumulated round-trip Gouy phase of the cavity in both planes (in degrees).

Cavity.gouy_x

The round-trip Gouy phase in the tangential plane (in degrees).

Cavity.gouy_y

The round-trip Gouy phase in the sagittal plane (in degrees).

Cavity.gx

The stability, g, of the cavity in the tangential plane.

Cavity.gy

The stability, g, of the cavity in the sagittal plane.

Cavity.is_changing

Flag indicating whether any geometric parameter inside the cavity is changing.

Cavity.is_critical

Flag indicating whether the cavity is critically stable.

Cavity.is_critical_x

Flag indicating whether the cavity is critically stable in the tangential plane.

Cavity.is_critical_y

Flag indicating whether the cavity is critically stable in the sagittal plane.

Cavity.is_fabry_perot

Flag indicating whether the cavity is a Fabry-Perot cavity.

Cavity.is_stable

Flag indicating whether the cavity is stable.

Cavity.is_stable_x

Flag indicating whether cavity is stable in the tangential plane.

Cavity.is_stable_y

Flag indicating whether cavity is stable in the sagittal plane.

Cavity.loss

The round-trip loss of the cavity as a fraction of the incoming power.

Cavity.m

The stability of the cavity, in both planes, given by the \(m\)-factor:

Cavity.mode_separation

The mode separation frequency of the cavity in both planes.

Cavity.mode_separation_x

The mode separation frequency in the tangential plane.

Cavity.mode_separation_y

The mode separation frequency in the sagittal plane.

Cavity.mx

The stability, m, of the cavity in the tangential plane.

Cavity.my

The stability, m, of the cavity in the sagittal plane.

Cavity.path

The OpticalPath instance of the cavity.

Cavity.pole

The pole-frequency of the cavity.

Cavity.q

The eigenmode of the cavity in both planes.

Cavity.qx

The eigenmode of the cavity in the tangential plane.

Cavity.qy

The eigenmode of the cavity in the sagittal plane.

Cavity.round_trip_optical_length

The round-trip optical path length of the cavity (in metres).

Cavity.source

Starting node of the cavity.

Cavity.storage_time

The cavity storage time (\(\tau\)).

Cavity.via

Via node of the cavity.

Cavity.w0

The waist size of the cavity in both planes.

Cavity.w0x

The waist size of the cavity in the tangential plane.

Cavity.w0y

The waist size of the cavity in the sagittal plane.

Cavity.waistpos

The position of the cavity waist in both planes.

Cavity.waistpos_x

The waist position of the cavity in the tangential plane.

Cavity.waistpos_y

The waist position of the cavity in the sagittal plane.

Methods

Cavity.__init__(self, name)

Cavity.any_changing_params([geometric])

Determines whether any parameter of any component inside the cavity is changing.

Cavity.draw()

A string representation of the cavity route.

Cavity.generate_abcd_str()

Generates a string representation of the cavity round-trip ABCD matrix operations.

Cavity.get_exit_nodes()

Obtains a dictionary of source: target mappings where source -> target and target is an exit node of the cavity.

Cavity.initialise()

Initialises the symbolic equations of the cavity and calculates the cavity path from the associated model.

Cavity.plot([direction])

Plots the beam representing the cavity eigenmode over the path of the cavity.

Cavity.trace_beam()

Traces the cavity eigenmode through the cavity path.