diff --git a/bin/test_zernike.py b/bin/test_zernike.py new file mode 100644 index 0000000000000000000000000000000000000000..9a228a8945126868b2899112e9974bb6a55cf6ea --- /dev/null +++ b/bin/test_zernike.py @@ -0,0 +1,55 @@ +import numpy as np +from pykat.utilities.maps import zernikemap +import random +import pykat +import pylab +import os + +r = 0.0125 +size = np.array([200, 200]) + +pylab.figure() +legends = [] +for n in xrange(0,3): + for m in range(-n, n+1): + legends.append("%i,%i" % (m,n)) + + zmap = zernikemap('dsad', size, 2*r / size, 2*r, 1e-7) + zmap.setZernike(m, n, 10) + zmap.type = 'phase reflection' + zmap.write_map("zernike.map") + + kat = pykat.finesse.kat() + + kat.parseCommands(""" + l l1 1 0 n0 + m m1 0.99 0.01 0 n0 n1 + s s1 12 n1 n2 + m m2 0.999 0.001 0 n2 n3 + attr m1 Rc -20 + attr m2 Rc 20 + + cav c1 m1 n1 m2 n2 + + pd refl n0 + pd circ n1 + pd tran n3 + bp wz x w n2 + trace 2 + + yaxis re:im + map m2 %s/zernike.map + + maxtem 4 + xaxis m2 phi lin -10 190 2000 + """ % os.path.realpath(os.path.curdir)) + + out = kat.run(printerr=1) + + print out["wz"][0] + + pylab.semilogy(out.x, out["tran"]) + +pylab.legend(legends) +pylab.xlim(min(out.x), max(out.x)) +pylab.show()