finesse.components.space.Space

Overview

class finesse.components.space.Space(name, portA, portB, *args, **kwargs)[source]

Bases: Connector

Represents a space between two components in the interferometer configuration, with a given length and index of refraction.

There can be many spaces in a model which are not of much interest and do not need to be referred to. For example, the link command will create spaces between components without giving an explicit name, just specifying a distance between them.

All Space elements are added to the Model’s .spaces namespace so they can all easily be iterated over. You can also find spaces which had no name specified and thus have an autogenerated name. User specified Space’s with names will be put in the main Model namespace so that they can be accessed like any other element in the model.

Parameters
namestr, optional

Name of newly created space. If not specified, a name is automatically generated.

portA, portBPort

Ports to connect.

Lfloat, optional

Geometric length of newly created Space instance; defaults to 0.

nrfloat, optional

Index of refraction of newly created Space instance; defaults to 1.0.

user_gouy_x, user_gouy_yfloat, optional

User-defined gouy phase to override the calculated value.

Properties

Space.abcd

Numeric ABCD matrix.

Space.gouy_x

Space.gouy_y

Space.portA

Space.portB

Methods

Space.__init__(name, portA, portB[, L, nr, ...])

Space.ABCD(from_node, to_node[, direction, ...])

Returns the ABCD matrix of the space for the specified coupling.

Space.connect(portA, portB)

Sets the ports of this Space.

Space.gouy(q1, q2)

Computes the Gouy phase in degrees from beam parameters.

Space.optical_equations()

Calculates the optical equations for the space component.