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 [26] analytic formalism.
See the function
make_modes()
for the arguments which should be passed via mode_selection_kwargs.- Parameters:
- qx1
BeamParam
or complex Input beam parameter in the tangential plane.
- qx2
BeamParam
or complex Output beam parameter in the tangential plane.
- qy1
BeamParam
or complex Input beam parameter in the sagittal plane.
- qy2
BeamParam
or 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