finesse.components.general.Connector.ABCD¶
- Connector.ABCD(from_node, to_node, direction='x', symbolic=False, copy=True, retboth=False, allow_reverse=False)[source]¶
- Parameters
- from_node
OpticalNode
orPort
or str or int Input node. If a port, or string repr of a port, is given then the input optical node of that port will be used.
- to_node
OpticalNode
orPort
or str or int Output node. If a port, or string repr of a port, is given then the output optical node of that port will be used.
- directionstr, optional; default: ‘x’
Direction of ABCD matrix computation, default is ‘x’ for tangential plane.
- symbolicbool, optional; default: False
Whether to return the symbolic matrix (as given by equations above). Defaults to False such that the numeric matrix is returned.
- copybool, optional; default: True
Whether to return a copy of ABCD matrix (or matrices if retboth is true). Defaults to True so that the internal matrix cannot be accidentally altered. Use caution if switching this flag off.
- retbothbool, optional; default: False
Whether to return both the symbolic and numeric matrices as a tuple in that order.
- allow_reversebool, optional
When True, if the coupling does not exist at the component from_node->to_node but to_node->from_node does exist, it will return the ABCD from that. Otherwise a NoCouplingError will be raised.
- from_node
- Returns
- M
numpy.ndarray
The ABCD matrix of the specified coupling for the mirror. This is symbolic if either of symbolic or retboth flags are True.
- M2
numpy.ndarray
Only returned if retboth is True, otherwise just M above is returned. This will always be the numeric matrix.
- M
- Raises
- err
ValueError
If no coupling exists between from_node and to_node.
- err