5.6.2 Michelson power
The power in the South port of a Michelson detector varies as the cosine squared of the microscopic arm length difference. The maximum output can be equal to the input power, but only if the Michelson interferometer is symmetric and lossless. The tuning for which the South port power is zero is referred to as the dark fringe (Fig. 35, generated here).
import finesse
import matplotlib.pyplot as plt
finesse.init_plotting()
base = finesse.Model()
base.parse(
"""
l l1 P=1 # laser with P=1W at the default frequency
s s1 l1.p1 bs1.p1 L=1 # space of 1m length
bs bs1 R=0.5 T=0.5 # 50:50 beam splitter
# The x-arm
m ETMx R=1 T=0 # east end mirror, lossless
s Lx bs1.p3 ETMx.p1 L=3k # east arm of 3km length
# The y-arm
m ETMy R=1 T=0 # north end mirror, lossless
s Ly bs1.p2 ETMy.p1 L=3k # north arm of 3km length
pd pd1 bs1.p4.o # photodetector in south port
"""
)
# using a series action to change the microscopic position of the north end mirror for
# three different reflectances and transmittances of the beam splitter. Note that the
# order of R and T inside the 'change' action is important as the parameters are changed
# from left to right and R + T + L may never exceed 1.
out = base.run("""
series(
xaxis(ETMy.phi, lin, 0, 300, 100),
change(bs1.R=0.4, bs1.T=0.6),
xaxis(ETMy.phi, lin, 0, 300, 100),
change(bs1.T=0.45, bs1.R=0.45),
xaxis(ETMy.phi, lin, 0, 300, 100)
)
""")
plt.figure()
plt.plot(out[0].x1, out[0]['pd1'], label='symmetric, lossless')
plt.plot(out[1].x1, out[1]['pd1'], label='asymmetric, lossless')
plt.plot(out[2].x1, out[2]['pd1'], label='symmetric, lossy')
plt.xlabel('North mirror tuning [deg]')
plt.ylabel('South power [W]')
plt.legend()
plt.show()