length_tuning.py 1.48 KB
Newer Older
Sean Leavey's avatar
Sean Leavey committed
1
2
3
4
5
6
7
8
9
10
11
# -*- coding: utf-8 -*-
"""
Created on Tue Dec 10 14:18:17 2013

@author: Sean
"""

import sys
sys.path.append("../")

import pykat
12
from pykat.optics.gaussian_beams import gauss_param
Sean Leavey's avatar
Sean Leavey committed
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import pykat.finesse as finesse
from pykat.commands import xaxis
import pylab as pl
import numpy as np
import math

code = """
%------------------------------------------------------------------------
% Finesse input file to plot the phase of light field reflected from a
% beam splitter to show the way lengths and positions are handled
% Andreas Freise 15.08.2009
%------------------------------------------------------------------------
                 
l l1 1 0 n1    % laser with P=1W at the default frequency
s s1 1 1 n1 n2 % space of 1m length
bs b1 1 0 0 0 n2 n3 dump dump % beam splitter as `turning mirror'
s s2 1 1 n3 n4 % another space of 1m length
ad ad1 0 n4     % amplitude detector
 
% for the plot we perform two sequenctial runs of Finesse
% 1) first trace: change microscopic position of beamsplitter
xaxis b1 phi lin 0 180 100
% 2) second trace: change length of space s1
% xaxis s1 L lin 1 2 100
 
yaxis deg     % plotting the phase of the results
"""

Sean Leavey's avatar
Sean Leavey committed
41
kat = finesse.kat(tempdir = "/home/sleavey/Desktop/")
Sean Leavey's avatar
Sean Leavey committed
42
43
44
45
kat.parseCommands(code)

maxtem = np.arange(0, 2, 2)

Sean Leavey's avatar
Sean Leavey committed
46
47
kat.trace = 17

Sean Leavey's avatar
Sean Leavey committed
48
49
50
51
52
53
54
55
56
57
58
for tem in maxtem:
    print "Calculating maxtem ", tem, "..."
    kat.maxtem = tem
    r = kat.run()
    pl.plot(r.x, r.y, label="maxtem={0}".format(tem))

pl.ylabel("Phase [deg]")
pl.xlabel("Tuning [deg]")
pl.legend()
pl.show()