10.9.1 Higher-order mode resonances

This example illustrates the different resonance conditions of the higher-order modes in an optical cavity. In the simulation an input beam made up of 6 different order modes is generated using the tem command. This beam is injected into an Advanced LIGO style cavity and the cavity length is tuned. Using an amplitude_detector for each order mode, the different order modes are individually detected (Fig. 112, generated here).

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
    modes(maxtem=5)                     # include modes up to n+m=5
    tem(l1, 1, 0, 0.5, 0)               # HG coefficients of input beam
    tem(l1, 2, 0, 0.3, 0)
    tem(l1, 3, 0, 0.2, 0)
    tem(l1, 4, 0, 0.1, 0)
    tem(l1, 5, 0, 0.15, 0)

    s s1 l1.p1 ITM.p1 L=1               # a space of 1m length
    m ITM R=0.986 T=0.014 Rc=-1934      # cavity input mirror
    s scav ITM.p2 ETM.p1 L=4000         # cavity length of 4km
    m ETM R=1 T=0 Rc=2245               # cavity end mirror
    cav arm ITM.p2                      # computing cavity parameters

    ad order0 ETM.p1.i f=0 n=0 m=0      # amplitude detectors for each order mode
    ad order1 ETM.p1.i f=0 n=1 m=0
    ad order2 ETM.p1.i f=0 n=2 m=0
    ad order3 ETM.p1.i f=0 n=3 m=0
    ad order4 ETM.p1.i f=0 n=4 m=0
    ad order5 ETM.p1.i f=0 n=5 m=0
    """
)

out = base.run(Xaxis(base.ETM.phi, 'lin', -90, 90, 1000))

plt.figure()
for i in range(6):
    plt.plot(out.x1, np.abs(out[f'order{i}']), label=f'order {i}')
plt.legend()
plt.show()
../_images/00e96ff51ecd4427779e5f8c4f3da5813a88b724ffbf64e38692a7d0458a6878.svg