7.5.3 Sagnac interferometer
This example demonstrates how to compute the frequency response of a simple Sagnac interferometer (Fig. 59, generated here). See section 7.4 for more information on the Sagnac interferometer.
import finesse
from finesse.analysis.actions import Xaxis
import numpy as np
import matplotlib.pyplot as plt
finesse.init_plotting()
base = finesse.Model()
base.parse(
"""
l l1 # laser with P=1W at the default frequency
s s1 l1.p1 bs1.p1 L=1 # space of 1m length
bs bs1 # 50-50 beam splitter
s s2 bs1.p2 my.p2 L=1k # north arm of 1km length
bs my R=1 T=0 # north end mirror, lossless
s s3 bs1.p3 mx.p1 L=1k # east arm of 1km length
bs mx R=1 T=0 # east end mirror, lossless
s s4 mx.p2 my.p1 L=1k # third arm of 1km length
# apply signal to north and east mirror positions, 180 degrees out of phase
fsig(1)
sgen sig1 mx.mech.z
sgen sig2 my.mech.z phase=180
ad signal bs1.p4.o fsig.f # amplitude detector in south port
"""
)
out = base.run(Xaxis(base.fsig.f, 'log', 100, 1e6, 1000))
plt.figure(figsize=(8, 4))
plt.loglog(out.x1, np.abs(out['signal']))
plt.xlabel(r'$f$ [Hz]')
plt.ylabel(r'Amplitude [$\sqrt{\mathrm{W}}$]')
plt.show()