Top-level objects which specific optical, and otherwise, components should inherit from.


Connector(name, *args, **kwargs)

Base class for any component which connects nodes together.


The base class for components which generate optical frequencies.

LocalDegreeOfFreedom(name[, DC, AC_IN, ...])

A local degree of freedom definition that combines a DC parameter and AC nodes at some element.


The base class for components which generate some kind of noise.

Variable(name, *args, **kwargs)

The variable element acts slightly different to other elements. When added to a model it creates a new finesse.parameter.Parameter in the model it has been added to. This does the same as calling :function:`finesse.model.Model.add_parameter`. This new parameter can be used like a variable for making symbolic links to or for storing some useful number about the model.


CouplingType(value[, names, module, ...])

An enum describing the type of coupling between two nodes.

InteractionType(value[, names, module, ...])

An enum describing the type of interaction between two nodes.

NoiseType(value[, names, module, qualname, ...])

An enum describing the type of noise a component generates.



Flags that a ModelElement will be making references to nodes owner by other elements, or borrows a reference.

determine_coupling_type(from_node, to_node)

Retrieves the type of coupling (see CouplingType) between two nodes.


Flags that this element type is unique in a model.