Optics

Common optical building blocks are provided for building up an optical system. Some have more detailed pages which are listed in the table of contents below.

Directional Beamsplitter

directional_beamsplitter
dbs
DirectionalBeamsplitter

Represents a directional beamsplitter optical component. Connections made between ports:

  • port 1 to port 3 * port 3 to port 4 * port 4 to port 2 * port 2 to port 1

Syntax:
dbs name 
Required:

name: Name of newly created directional beamsplitter.

Ports and nodes overview

Ports

NameTypeNodes
p1OPTICALi, o
p2OPTICALi, o
p3OPTICALi, o
p4OPTICALi, o

Nodes

NameTypeUnit
p1.ioptical√(W)
p1.ooptical√(W)
p2.ioptical√(W)
p2.ooptical√(W)
p3.ioptical√(W)
p3.ooptical√(W)
p4.ioptical√(W)
p4.ooptical√(W)

Couplings

FromToUnitsCoupling Type
p1.ip3.o√(W) / √(W)optical➡optical
p2.ip1.o√(W) / √(W)optical➡optical
p3.ip4.o√(W) / √(W)optical➡optical
p4.ip2.o√(W) / √(W)optical➡optical

Isolator

isolator
isol
Isolator

Represents an isolator optical component with a suppression factor. Suppresses the light field transmitted from p2 to p1. The field from p1 to p2 is.

Syntax:
isol name S=0.0
Required:

name: Name of newly created isolator.

S: Power suppression in dB. Defaults to 0

Parameters

NameDescriptionUnitsData typeCan change during simualation
SPower suppressionNonefloat

Ports and nodes overview

Ports

NameTypeNodes
p1OPTICALi, o
p2OPTICALi, o

Nodes

NameTypeUnit
p1.ioptical√(W)
p1.ooptical√(W)
p2.ioptical√(W)
p2.ooptical√(W)

Couplings

FromToUnitsCoupling Type
p1.ip2.o√(W) / √(W)optical➡optical
p2.ip1.o√(W) / √(W)optical➡optical

Lens

lens
Lens

Represents a thin lens optical component with an associated focal length.

Syntax:
lens name f=inf
Required:

name: Name of newly created lens.

Optional:

f: Focal length of the lens in metres; defaults to infinity.

Parameters

NameDescriptionUnitsData typeCan change during simualation
fFocal lengthmfloat

Ports and nodes overview

Ports

NameTypeNodes
p1OPTICALi, o
p2OPTICALi, o

Nodes

NameTypeUnit
p1.ioptical√(W)
p1.ooptical√(W)
p2.ioptical√(W)
p2.ooptical√(W)

Couplings

FromToUnitsCoupling Type
p1.ip2.o√(W) / √(W)optical➡optical
p2.ip1.o√(W) / √(W)optical➡optical

AstigmaticLens

alens
AstigmaticLens

Represents a thin astigmatic lens optical component with an associated focal lengths.

Syntax:
alens name fx=inf fy=inf
Required:

name: Name of newly created lens.

Optional:

fx: Focal length in x-z plane of the lens in metres; defaults to infinity.

fy: Focal length of y-z plane the lens in metres; defaults to infinity.

Parameters

NameDescriptionUnitsData typeCan change during simualation
fxFocal length (x-z plane)mfloat
fyFocal length (y-z plane)mfloat

Ports and nodes overview

Ports

NameTypeNodes
p1OPTICALi, o
p2OPTICALi, o

Nodes

NameTypeUnit
p1.ioptical√(W)
p1.ooptical√(W)
p2.ioptical√(W)
p2.ooptical√(W)

Couplings

FromToUnitsCoupling Type
p1.ip2.o√(W) / √(W)optical➡optical
p2.ip1.o√(W) / √(W)optical➡optical

Modulator

modulator
mod
Modulator

Represents a modulator optical component with associated properties such as modulation frequency, index and order.

Syntax:
mod name f midx order=1 mod_type=pm phase=0.0 positive_only=false
Required:

name: Name of newly created modulator.

midx: Modulation index, >= 0.

Optional:

f: Frequency of the modulation (in Hz) or Frequency object.

order: Maximum order of modulations to produce. Must be 1 for amplitude modulation. Defaults to 1.

mod_type: Modulation type: - ‘am’ (amplitude modulation) - ‘pm’ (phase modulation) - ‘yaw’ (alignment modulation) (EXPERIMENTAL) - ‘pitch’ (alignment modulation) (EXPERIMENTAL) Defaults to ‘pm’.

phase: Relative phase of modulation (in degrees). Defaults to 0.0.

positive_only: If True, only produce positive-frequency sidebands. Defaults to False.

Parameters

NameDescriptionUnitsData typeCan change during simualation
fFrequencyHzfloat
midxModulation indexNonefloat
phasePhasedegreesfloat
orderMaximum modulation orderNoneint
mod_typeModulation type ('am', 'pm', 'yaw', 'pitch')Noneint
positive_onlyPositive onlyNonebool

Ports and nodes overview

Ports

NameTypeNodes
p1OPTICALi, o
p2OPTICALi, o
ampELECTRICALi
phsELECTRICALi

Nodes

NameTypeUnit
p1.ioptical√(W)
p1.ooptical√(W)
p2.ioptical√(W)
p2.ooptical√(W)
amp.ielectrical√(W)
phs.ielectricaldeg

Couplings

FromToUnitsCoupling Type
p1.ip2.o√(W) / √(W)optical➡optical
p2.ip1.o√(W) / √(W)optical➡optical
amp.ip1.o√(W) / √(W)electrical➡optical
amp.ip2.o√(W) / √(W)electrical➡optical

Optical Bandpass

optical_bandpass
obp
OpticalBandpassFilter

An idealised optical bandpass filter that will transmit an optical frequency around some central frequency with a 3dB bandwidth.

Syntax:
obp name fc=0 bandwidth=1000 filter_hom=none
Required:

name: Name of element

fc: Central frequency

bandwidth: Filter 3dB bandwidth

Optional:

filter_hom: Individual higher order modes can be filtered and transmitted by setting this to a tuple of (n, m). If None then no mode filtering is done. This cannot be changed during a simulation.

Parameters

NameDescriptionUnitsData typeCan change during simualation
fcCentral frequencyHzfloat
bandwidthBandpass bandwidthHzfloat

Ports and nodes overview

Ports

NameTypeNodes
p1OPTICALi, o
p2OPTICALi, o

Nodes

NameTypeUnit
p1.ioptical√(W)
p1.ooptical√(W)
p2.ioptical√(W)
p2.ooptical√(W)

Couplings

FromToUnitsCoupling Type
p1.ip2.o√(W) / √(W)optical➡optical
p2.ip1.o√(W) / √(W)optical➡optical

Frequency Loss

floss
FrequencyLoss

Represents an unphysical element which introduces a loss and/or phase for a particular frequency.

Syntax:
floss name f loss=0 phase=0
Required:

name: Name of newly created lens.

Optional:

f: Frequency to apply loss and phase to.

loss: Fractional loss at the frequency

phase: Phase change at the frequency

Parameters

NameDescriptionUnitsData typeCan change during simualation
lossLossNonefloat
phasePhaseDegreesfloat
fFrequencyHzfloat

Ports and nodes overview

Ports

NameTypeNodes
p1OPTICALi, o
p2OPTICALi, o

Nodes

NameTypeUnit
p1.ioptical√(W)
p1.ooptical√(W)
p2.ioptical√(W)
p2.ooptical√(W)

Couplings

FromToUnitsCoupling Type
p1.ip2.o√(W) / √(W)optical➡optical
p2.ip1.o√(W) / √(W)optical➡optical
Telescope
telescope
tel
Telescope

This component represents a perfectly matching and adapting telescope. It will not change the beam parameter on transmission of the component and any field coming in will be transmitted to the other side into the other beam parameter. This should be used in cases when you want to connect to optical systems but do not want to design a complicated optical telescope system to mode-match them both, or in cases where one system has a changing parameter but you don’t care about the details of the telescope.

No beam is traced through the telescope so you must specify a beam parameter or a cavity on both sides of the telescope. If not, a tracing error will occur. Currently no losses, mismatch, or misalignments can be induced at this telescope. There is no accumulated Gouy phase or plane-wave propagation phase.

Syntax:
tel name 
Required:

name: Name of newly created telescope