symbolic beam propagation unusable in large models
The symbolic beam propagation is essentially unusable for larger models. Tracing a beam from PRM to SRM in the LIGO model takes forever to compute
import finesse
import time
from finesse.ligo import make_aligo
ligo = make_aligo()
prop = ligo.propagate_beam(
from_node="PRM.p1.i",
to_node="OMC_IC.p1.i",
via_node="ITMY.p1.i",
symbolic=True
)
t0 = time.time()
q = prop.q("ITMY.p1.i")
print(q.eval(), time.time()-t0)
t0 = time.time()
q = prop.q("SRM.p1.i")
print(q.eval(), time.time()-t0)
While it maybe fine for small models, larger ones need to have some prior information about which parameters to keep as symbolic or something:
prop = ligo.propagate_beam(
from_node="PRM.p1.i",
to_node="OMC_IC.p1.i",
via_node="ITMY.p1.i",
symbolic=('ITMY.Rc', 'ITMY.lens')
)
As we're never going to be varying every single parameter.
Edited by finesse importer