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 [1] analytic formalism.
See the function
make_modes()
for the arguments which should be passed via mode_selection_kwargs.- Parameters
qx1 :
BeamParam
or complexInput beam parameter in the tangential plane.
qx2 :
BeamParam
or complexOutput beam parameter in the tangential plane.
qy1 :
BeamParam
or complexInput beam parameter in the sagittal plane.
qy2 :
BeamParam
or complexOutput beam parameter in the sagittal plane.
xgamma : float
Misalignment angle in the tangential plane (in radians).
ygamma : float
Misalignment angle in the sagittal plane (in radians).
nr : float, optional; default: 1.0
Refractive index of the associated medium.
wavelength : float, optional; default: 1064 nm
Wavelength of the beam (in metres).
parallel : bool, 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_kwargs : keyword arguments
See
make_modes()
.- Returns
kmat :
KnmMatrix
The resulting scattering matrix as a
KnmMatrix
object.
Examples