Faster exact substrate thermorefractive noise calculation
For the "exact" calculation of substrate thermorefractive noise, pygwinc currently implements quadrature integration over wavevectors following P1400084 Eq. 17. However, BV04 Eq. E7 gives the solution in terms of a special function that is implemented in scipy.special
. The special function expression takes about 2 ms to evaluate, compared to 600 ms for the current quadrature integration.
Merge request reports
Activity
The agreement is suspiciously good... tr-faster_disp.pdf tr-faster_fracdiff.pdf
This is with the Voyager materials set and a 5 cm spot size.
Edited by Evan Hallmentioned in commit 8868ac93
@evan.hall whats the evaluation time between the exact and approximate solutions now? should we just use the exact solution by default now?
Seems to be 2 ms for the exact calculation versus 15 µs for the asymptotic approximation. I don't mind an extra 2 ms, but maybe others disagree. I suppose it will matter for optimizers.
Edited by Evan HallWe've defaulted to accuracy over speed in other cases, and the times are pretty low, so it doesn't seem like it would be a big deal, but I'll defer to @christopher.wipf and @kevin.kuns