finesse.components.general.Connector

Overview

class finesse.components.general.Connector(name)[source]

Bases: finesse.element.ModelElement

Base class for any component which connects nodes together.

Internally it stores the nodes and the connections associated with the component. During the matrix build this class will then ensure that the matrix elements for each coupling requested are allocated and and the required matrix view for editing their values is retrieved.

The inheriting class should call _register_node and _register_coupling to define the connections it wants to use.

Parameters

name : str

Name of the new Connector instance.

Properties

Connector.all_optical_connections

Connector.electrical_nodes

The electrical nodes stored by the connector.

Connector.mechanical_nodes

The mechanical nodes stored by the connector.

Connector.nodes

All the nodes of all the ports at this component.

Connector.optical_nodes

The optical nodes stored by the connector.

Connector.ports

Retrieves the ports available at the object.

Methods

Connector.__init__(self, name)

Connector.ABCD(from_node, to_node[, ...])

Parameters

Connector.check_coupling(from_node, to_node)

Checks that a coupling exists between from_node -> to_node and raises a ValueError if not.

Connector.coupling_type(from_node, to_node)

Obtains the type of coupling (see CouplingType) between the two specified nodes at this component.

Connector.interaction_type(from_node, to_node)

Obtains the type of interaction (see InteractionType) between the two specified nodes at this component.

Connector.is_valid_coupling(from_node, to_node)

Flags whether the provided node coupling exists at this connector.

Connector.register_abcd_matrix(M_sym, *couplings)

Register an ABCD matrix of the given symbolic form for a sequence of coupling(s).