Sources

Sources are components which generate some kind of input, such as a laser which generates some optical field, or a signal generator which produces some electronic signal.

Laser

laser
l
Laser

Represents a laser producing a beam with associated properties such as power and frequency.

Syntax:
l name P=1 f=0 phase=0 signals_only=false
Required:

name: Name of the newly created laser.

Optional:

P: Power of the laser (in Watts), defaults to 1 W.

f: Frequency-offset of the laser from the default (in Hz) or Frequency object. Defaults to 0 Hz offset.

phase: Phase-offset of the laser from the default, defaults to zero.

signals_only: When True, this laser component will only inject signal sidebands. They will use the current carrier value as a scaling terms but the carrier will not be injected into the simulation. This allows a user to just inject signal sidebands into a model.

Example:

Create a 10 W laser at the carrier frequency with zero phase:

laser l1 P=10 f=0 phase=0

Ports and nodes overview

Ports

NameTypeNodes
p1OPTICALi, o
ampELECTRICALi
dxELECTRICALi
dyELECTRICALi
frqELECTRICALi
phsELECTRICALi
pitchELECTRICALi
pwrELECTRICALi
yawELECTRICALi
mechMECHANICALx, y, z, yaw, pitch

Nodes

NameTypeUnit
p1.ioptical√(W)
p1.ooptical√(W)
pwr.ielectricalW
amp.ielectrical√(W)
phs.ielectricaldeg
frq.ielectricalhz
dx.ielectricalm
dy.ielectricalm
yaw.ielectricaldeg
pitch.ielectricaldeg
mech.xmechanicalm
mech.ymechanicalm
mech.zmechanicalm
mech.yawmechanicaldeg
mech.pitchmechanicaldeg

Couplings

FromToUnitsCoupling Type
amp.ip1.o√(W) / √(W)electrical➡optical
frq.ip1.o√(W) / hzelectrical➡optical
phs.ip1.o√(W) / degelectrical➡optical
pwr.ip1.o√(W) / Welectrical➡optical
mech.xp1.o√(W) / mmechanical➡optical
mech.yp1.o√(W) / mmechanical➡optical
mech.zp1.o√(W) / mmechanical➡optical
mech.yawp1.o√(W) / degmechanical➡optical
mech.pitchp1.o√(W) / degmechanical➡optical

Squeezer

squeezer
sq
Squeezer

Represents a squeezer producing a squeezed-light beam with a given squeezing in decibels and angle. The upper and conjugate of the lower sidebands can be excited in a signal analysis by injecting into the .upper and .lower_conj signal nodes.

Syntax:
sq name db f=0 angle=0
Required:

name: Name of the newly created squeezer.

db: Squeezing factor (in amplitude decibels). 6dB gives a factor of 2 reduction in noise.

Optional:

f: Frequency-offset of the squeezer from the default (in Hz) or Frequency object. Defaults to 0 Hz offset.

angle: Squeezing angle (in degrees). Defaults to zero.

Ports and nodes overview

Ports

NameTypeNodes
p1OPTICALi, o
lower_conjELECTRICALi
upperELECTRICALi

Nodes

NameTypeUnit
p1.ioptical√(W)
p1.ooptical√(W)
upper.ielectricalW
lower_conj.ielectricalW

Couplings

FromToUnitsCoupling Type
lower_conj.ip1.o√(W) / Welectrical➡optical
upper.ip1.o√(W) / Welectrical➡optical

Signal generator

signal_generator
sgen
SignalGenerator

Represents a signal generator which produces a signal with a given amplitude and phase.

Syntax:
sgen name node amplitude=1 phase=0
Required:

name: Name of newly created signal generator.

node: A node to inject a signal into.

Optional:

amplitude: Amplitude of the signal in volts.

phase: Phase-offset of the signal from the default in degrees, defaults to zero.

Ports and nodes overview

Ports

NameTypeNodes
portELECTRICALi

Nodes

NameTypeUnit
amp.ielectrical√(W)

Couplings

FromToUnitsCoupling Type

Noise source

noise
ClassicalNoise
Syntax:
noise name node ASD