Syntax for yamlfiles

Each of the following subsections represent a possible Type keyword for the yamlfile. In each of them is described what arguments can be passed as keywords to that object. Boldfaced arguments are required, however Connections are special in that all possible connections of a part are required but you can leave it blank if such a connection is not made in the model. For connections, all that is needed is the optic name (e.g. M1 Front: M2), the corresponding optic should also reflect that it is connected to the first (e.g. M2 Front: M1).

Mirrors

Mirrors should be used in the model when you know an optic will have a zero angle of incidence with the beam. Front is considered the HR side and Back is the AR side. The object header (the first key containing all of these) should be the name of the optic. Note, the position of all optics is considered to be the center of the HR face.

Required Keys:

  • Type: Mirror

  • Position

    • X : (in meters)

    • Y : (in meters)

  • Connections

    • Front : (can leave blank)

    • Back : (can leave blank)

Optional Keys:

  • T : transmission, default = .1

  • L : loss (note R = 1 - T - L), default = 0

  • R_AR : reflection of AR, default = 0

  • thickness : substrate thickness, default = 5mm

  • nr : index of refraction of substrate, default = 1.45

  • phi : phase offset of mirror, only influences finesse model, default = 0

  • Rc : radius of curvature, default = Inf

  • Rc_AR : radius of curvature of AR, default = Inf

  • diameter : diameter of mirror face, default = 5cm

  • wedgeAngle : wedge-angle relative to HR surface, default = 0 deg

  • normAngle : pointing angle of HR surface, default = calculated by connections

Beamsplitters

Beamsplitters should be used in the model when you know an optic will have an angle of incidence with the beam, even if physically that optic is just a mirror (e.g. a steering mirror can be considered a beampslitter in this instance). Front1 and Front2 are considered the HR side and Back1 and Back2 are the AR side. The object header (the first key containing all of these) should be the name of the optic.

Required Keys:

  • Type: Beamsplitter

  • Position

    • X : (in meters)

    • Y : (in meters)

  • Connections

    • Front1 : (can leave blank)

    • Front2 : (can leave blank)

    • Back1 : (can leave blank)

    • Back2 : (can leave blank)

Optional Keys:

  • T : transmission, default = .1

  • L : loss (note R = 1 - T - L), default = 0

  • R_AR : reflection of AR, default = 0

  • thickness : substrate thickness, default = 5mm

  • nr : index of refraction of substrate, default = 1.45

  • phi : phase offset of mirror, only influences finesse model, default = 0

  • Rc : radius of curvature, default = Inf

  • Rc_AR : radius of curvature of AR, default = Inf

  • diameter : diameter of mirror face, default = 5cm

  • wedgeAngle : wedge-angle relative to HR surface, default = 0 deg

  • alpha : angle-of-incidence calculated by connection graph

  • normAngle : pointing angle of HR surface, default = calculated by connections

Lens

Lens should be used in the model when you know an optic will have a zero angle of incidence with the beam. The object header (the first key containing all of these) should be the name of the optic. Note, the position of all optics is considered to be the center of the HR(front) face.

Required Keys:

  • Type: Lens

  • Position

    • X : (in meters)

    • Y : (in meters)

  • Connections

    • Front : (can leave blank)

    • Back : (can leave blank)

Optional Keys:

  • Focal Length : focal length of lens, will add a Thin Lens to the model

  • Rc : Radius of curvature of front and back faces for a thick lens(note must declare with front and back), default = inf

    • Front :

    • Back :

  • thickness : substrate thickness, default = 5mm

  • nr : index of refraction of substrate, default = 1.45

  • phi : phase offset of mirror, only influences finesse model, default = 0

  • diameter : diameter of mirror face, default = 5cm

  • normAngle : pointing angle of HR surface, default = calculated by connections

Lasers

Lasers should be used in the model as a source to the beam for both the finesse model and gtrace rendering. The default is a collimated 3mm beam pointed 0 degrees from the right horizontal direction. The user can specify the power in the beam, as well as the beam parameters. This can be done be either specifying the q-parameter explicitly or the RoC and beamwidth at the laser head. The user can also decide to let the model calculate the beam-parameter based on the designated cavity mode-matching requirements.

Required Keys:

  • Type: Laser

  • Position

    • X : (in meters)

    • Y : (in meters)

  • Connections

    • Front : (can leave blank, but shouldn’t)

Optional Keys:

  • P : beam power, default = 1 [W]

  • q0 : beam-parameter, default = 26.573599624060147j

  • RoC: radius of curvature of beam, default = Inf

  • w : beamwidth, default = 3mm

  • Wavelength : beam wavelength, default = 1064nm

  • Match: name of cavity to mode match to, will overwrite any defined q or RoC/w.

  • normAngle : pointing angle of HR surface, default = calculated by connections

Cavities

Cavities are defined in Finesse style, in that all you need is a starting node, and can define an optional via node, (e.g. FabryPerot, From: M1.fr.o, Via: M2.fr.i).

Required Keys:

  • Type: Cavity

  • From:

Optional Keys:

  • Via:

Photodiodes

Photodiodes are defined by declaring a port that is being measured. Should the user wish to implement a demodulated photodiode, just declare it as an optional key.

Required Keys:

  • Type: Photodiode

  • Position:

    • X : (in meters)

    • Y : (in meters)

  • Port: : (uses finesse sytnax for which port/node to connect to)

Optional Keys:

  • Omega : frequency to demodulate signal [Hz]

  • Phase : phase to rotate I,Q basis [deg]

  • width : width of Photodiode face for gtrace rendering [m]

Grids

Grids are only for gtrace renderings and do not add anything to the finesse models. You do not have to define the grid to add one to the gtrace drawing, declaring --grid True without a Grid in the yamlfile, one will be calculated from the dynamic range from the drawing.

Required Keys:

  • Type: Grid

  • Xlim: : (list of [min and max], in meters)

  • Ylim: : (list of [min and max], in meters)

Optional Keys:

  • Xstep : step between xmin and xmax, dictating the number of vertical gridlines

  • Ystep : step between ymin and ymax, dictating the number of horizontal gridlines

Circles

Circles are only for gtrace renderings and do not add anything to finesse models.

Required Keys:

  • Type: Circle

  • Center: :

    • X : (in meters)

    • Y : (in meters)

  • Radius : (in meters)

Optional Keys:

  • Thickness : default is .01.

  • Color : (R, G, B), default is (255, 255, 255)

Rectangles

Rectangles are only for gtrace renderings and do not add anything to finesse models.

Required Keys:

  • Type: Rectangle

  • Center: :

    • X : (in meters)

    • Y : (in meters)

  • Height : (in meters)

  • Width : (in meters)

Optional Keys:

  • Thickness : default is .01.

  • normAngle: in degrees, default is 0.

  • Color : (R, G, B), default is (255, 255, 255)

Lines

Lines are only for gtrace renderings and do not add anything to finesse models.

Required Keys:

  • Type: Line

  • Points: :

    • X : (list of 2 x points, in meters)

    • Y : (list of 2 y points, in meters)

Optional Keys:

  • Thickness : default is .01.

  • Color : (R, G, B), default is (255, 255, 255)

PolyLines

PolyLines are only for gtrace renderings and do not add anything to finesse models.

Required Keys:

  • Type: PolyLine

  • Points: :

    • X : (list of many x points, in meters)

    • Y : (list of many y points, in meters)

Optional Keys:

  • Thickness : default is .01.

  • Color : (R, G, B), default is (255, 255, 255)

Arcs

Arcs are only for gtrace renderings and do not add anything to finesse models.

Required Keys:

  • Type: Arc

  • Center: :

    • X : (in meters)

    • Y : (in meters)

  • Radius : (in meters)

  • StartAngle : (in degrees)

  • StopAngle : (in degrees)

Optional Keys:

  • Thickness : default is .01.

  • Color : (R, G, B), default is (255, 255, 255)

Texts

Texts are only for gtrace renderings and do not add anything to finesse models.

Required Keys:

  • Type: Text

  • Text :

  • Center: :

    • X : (in meters)

    • Y : (in meters)

  • Height : (in meters)

  • Rotation : (in degrees)

Optional Keys:

  • Thickness : default is .01.

  • Color : (R, G, B), default is (255, 255, 255)

Hexagons

Hexagons are only for gtrace renderings and do not add anything to finesse models.

Required Keys:

  • Type: Hexagon

  • Center: :

    • X : (in meters)

    • Y : (in meters)

  • Radius : (in meters)

Optional Keys:

  • normAngle : [deg] defualt is 0

  • Thickness : default is .01.

  • Color : (R, G, B), default is (255, 255, 255)