finesse.knm.bayerhelms.make_bayerhelms_matrix¶
- finesse.knm.bayerhelms.make_bayerhelms_matrix(qx1, qx2, qy1, qy2, double xgamma, double ygamma, double nr=1.0, double wavelength=1064e-9, bool reverse_gouy=False, bool parallel=True, **mode_selection_kwargs)¶
 Constructs and computes a coupling coefficient scattering matrix using the Bayer-Helms [29] analytic formalism.
See the function
make_modes()for the arguments which should be passed via mode_selection_kwargs.- Parameters
 - qx1
BeamParamor complex Input beam parameter in the tangential plane.
- qx2
BeamParamor complex Output beam parameter in the tangential plane.
- qy1
BeamParamor complex Input beam parameter in the sagittal plane.
- qy2
BeamParamor complex Output beam parameter in the sagittal plane.
- xgammafloat
 Misalignment angle in the tangential plane (in radians).
- ygammafloat
 Misalignment angle in the sagittal plane (in radians).
- nrfloat, optional; default: 1.0
 Refractive index of the associated medium.
- wavelengthfloat, optional; default: 1064 nm
 Wavelength of the beam (in metres).
- reverse_gouybool, optional
 Removing Gouy phase terms from calculated matrix
- parallelbool, optional; default: True
 Whether to enable multi-threaded execution via OpenMP. The number of threads used scales with the number of modes; bounded by the maximum thread count as given by
omp_get_max_threads.- mode_selection_kwargskeyword arguments
 See
make_modes().
- qx1
 - Returns
 
Examples