beam trace problem with multiple cavities
When using the legacy parse with multiple cavities, changing the order of the mirrors in one cav command can produce a wrong results. The following code shows the problem
import finesse code = """ l l1 1 0 n1 s s1 1 n1 n2 m m1 0.9 0.1 0 n2 n3 s s2 1000 n3 n4 m m2 0.9 0.1 0 n4 n5 attr m2 Rc 1200 s s3 1000 n5 n6 m m3 0.9 0.1 0 n6 n7 attr m3 Rc 1500 maxtem 0 noxaxis cav c0 m2 n5 m3 n6 cav c1 m1 n3 m2 n4 #cav c1 m2 n4 m1 n3 """ base = finesse.Model() base.parse_legacy(code) base.run() print(base.m1.p2.o.qx)
Using the two different definitions for
c1 produces a different output. They should be the same. I cannot re-produce it with a simple cavity, so it must be related to some issue with the tracing. The same code in F3 syntax seems not to have this problem.