finesse.components.beamsplitter.Beamsplitter

Overview

class finesse.components.beamsplitter.Beamsplitter(name, R=None, T=None, L=None, phi=0, alpha=0, Rc=inf, xbeta=0, ybeta=0)[source]

Bases: Surface

The beamsplitter component represents a thin dielectric surface with associated properties such as reflectivity, tuning, and radius of curvature. It has four optical ports p1, p2, p3, and p4 which describe the four beams incident on either side of this surface. p1 and p2 are on side 1 and p3 and p4 are on side 2. A 100% transmissive beamsplitter will transmit all of the light incident at p1 to p3.

It also has a mechanical port mech which has nodes for longitudinal, yaw, and pitch motions. These mechanical nodes are purely for exciting small signal oscillations of the mirror. Static offsets in longitudinal displacements are set by the phi parameter (in units of degrees), misalignments in yaw by the xbeta parameter, and pitch the ybeta parameter. Macroscopic angle of incidence of the beamsplitter is set by the alpha parameter.

Beamsplitters physically operate the same as mirror components, except for the non-normal angle of incidence option.

Parameters:
namestr

Name of newly created beamsplitter.

Rfloat, optional

Reflectivity of the beamsplitter.

Tfloat, optional

Transmissivity of the beamsplitter.

Lfloat, optional

Loss of the beamsplitter.

phifloat, optional

Microscopic tuning of the beamsplitter (in degrees).

alphafloat, optional

Angle of incidence (in degrees)

Rcfloat, optional

Radius of curvature (in metres); defaults to numpy.inf to indicate a planar surface.

xbeta, ybetafloat, optional

Angle of misalignment in the yaw plane (xbeta) and pitch (ybeta), respectively (in radians); defaults to 0.

Attributes:
Attributes are set via the Python API and not available via KatScript.
surface_mapfinesse.knm.Map

Decsribes the surface distortion of this beamsplitter component. Coordinate system to the map is right-handed with the postive-z direction as the surface normal on the port 1 side of the beamsplitter.

Properties

Beamsplitter.abcd12x

Numeric ABCD matrix from port 1 to port 2 in the tangential plane.

Beamsplitter.abcd12y

Numeric ABCD matrix from port 1 to port 2 in the sagittal plane.

Beamsplitter.abcd13x

Numeric ABCD matrix from port 1 to port 3 in the tangential plane.

Beamsplitter.abcd13y

Numeric ABCD matrix from port 1 to port 3 in the sagittal plane.

Beamsplitter.abcd21x

Numeric ABCD matrix from port 2 to port 1 in the tangential plane.

Beamsplitter.abcd21y

Numeric ABCD matrix from port 2 to port 1 in the sagittal plane.

Beamsplitter.abcd24x

Numeric ABCD matrix from port 2 to port 4 in the tangential plane.

Beamsplitter.abcd24y

Numeric ABCD matrix from port 2 to port 4 in the sagittal plane.

Beamsplitter.abcd31x

Numeric ABCD matrix from port 3 to port 1 in the tangential plane.

Beamsplitter.abcd31y

Numeric ABCD matrix from port 3 to port 1 in the sagittal plane.

Beamsplitter.abcd34x

Numeric ABCD matrix from port 3 to port 4 in the tangential plane.

Beamsplitter.abcd34y

Numeric ABCD matrix from port 3 to port 4 in the sagittal plane.

Beamsplitter.abcd42x

Numeric ABCD matrix from port 4 to port 2 in the tangential plane.

Beamsplitter.abcd42y

Numeric ABCD matrix from port 4 to port 2 in the sagittal plane.

Beamsplitter.abcd43x

Numeric ABCD matrix from port 4 to port 3 in the tangential plane.

Beamsplitter.abcd43y

Numeric ABCD matrix from port 4 to port 3 in the sagittal plane.

Beamsplitter.alpha2

Angle of incidence on side 2 in degrees, i.e. port 3 and 4 side.

Beamsplitter.refractive_index_1

Refractive index on size 1 (port 1 and 2)

Beamsplitter.refractive_index_2

Refractive index on size 2 (port 3 and 4)

Methods

Beamsplitter.__init__(name[, R, T, L, phi, ...])

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

Returns the ABCD matrix of the beam splitter for the specified coupling.

Beamsplitter.get_adjacent_port(p)

Get the port adjacent (on the same side of the surface) as p.