solve(solver=’WKB’)#
- pyMMF.propagationModeSolver.solve(self, solver: str = 'default', curvature: bool = None, storeData: bool = True, options: dict = {})
Find the propagation constants of parabolic GRIN multimode fibers under the WKB approximation [1]. This approximation leads to inaccurate results for groups of modes close to the cutoff, hence is not suitable when a limited number of modes is considered. It is provided only for comparison. The IndexProfile must be initialized with the
initParabolicGRIN
method.See also
For documentation for the rest of the parameters, see
pyMMF.propagationModeSolver.solve()
- Options:
- tolfloat, optional
Tolerance on the propagation constant. Default is 1e-9.
- degenerate_mode{‘exp’, ‘sin’}, optional
Choice for degenerate subspaces.
‘exp’: returns the orbital angular momentum modes. For an azimuthal index (m > 0), the azimuthal function is (exp(i cdot -m cdot theta)) and (exp(i cdot m cdot theta)).
‘sin’: returns the linearly polarized modes. These modes have real-valued fields with azimuthal functions (sin(m cdot theta)) and (cos(m cdot theta)) for (m > 0).
Default is ‘exp’.
- n_jobsint, optional
Number of parallel jobs to run. Default is -2, which means using all available processors.
Notes
Propagation constants under the WKB approximation:
\[\beta_{l,m} = \sqrt{k_o^2 n_1^2 - 2\alpha \left( |l| + 2m + 1 \right)}\]\[\alpha = \frac{k_o n_1}{b}\]with
\[b = \frac{ \text{radius} \times n_1 }{ \text{NA} }\]Mode profiles under the WKB approximation:
\[\psi_{l,m}(r, \phi) = A e^{- \frac{\alpha r^2}{2}} (\alpha r^2)^{|m|/2} L_l^{|m|}(\alpha r^2) e^{im\phi}\]where \(L_l^{|m|}\) are the Laguerre polynomials.