solve(solver=’eig’)#
- pyMMF.propagationModeSolver.solve(self, solver: str = 'default', curvature: bool = None, storeData: bool = True, options: dict = {})
Find the first modes of a multimode fiber. The index profile has to be set. Returns a Modes structure containing the mode information. This method is slow and requires a high resolution (so very slow) to converge to the correct modes. It is thus suitable for a low number of modes. However, it is the more general method and can be used for any index profile, even non-rotationally symmetric ones.
See also
For documentation for the rest of the parameters, see
pyMMF.propagationModeSolver.solve()
- Options:
- nmodesMax: int, optional
Maximum number of modes the solver will try to find. This value should be higher than the estimated maximum number of modes if one want to be sure to find all the modes. One can use the helper function pyMMF.estimateNumModesSI to estimate the number of modes and add a few more modes for safety. Default is 6
- curvature: float or List[float] or None, optional
Curvature of the fiber in meters. If a list is provided, the first element is the curvature in the x direction and the second element is the curvature in the y direction. x and y directions are the ones defined in the index profile. If a single value is provided, the curvature is assumed to be in the x direction. If None, the curvature is not taken into account. Default is None
- propag_only: bool, optional
If True, only propagating modes are returned, the others are rejected. It thus can return a number of modes lower than nmodesMax. If False, all the modes are returned, potentially including non-propagating modes with an non-zero imaginary part of the propagation constant. Default is True
- poisson: float, optional
Poisson coefficient of the material. It is used to take into account the effect of compression/dilatation when the fiber is bent (curvature is not None). Default is 0.5
- boundary: string, optional
boundary type, ‘close’ or ‘periodic’ EXPERIMENTAL. It should not make any difference for propagating modes. Default is ‘close’