pyMMF.propagationModeSolver#
- class pyMMF.propagationModeSolver[source]#
Class for solving the scalar wave equation in multimode fiber.
Methods
setIndexProfile
(indexProfile)Set the index profile for the MMF.
setPoisson
(poisson)Set the poisson coefficient.
setWL
(wl)Set the wavelength (in microns).
solve
([solver, curvature, storeData, options])Find the propagation constants and mode profile of a multimode fiber.
Methods
__init__
()setIndexProfile
(indexProfile)Set the index profile for the MMF.
setPoisson
(poisson)Set the poisson coefficient.
setWL
(wl)Set the wavelength (in microns).
solve
([solver, curvature, storeData, options])Find the propagation constants and mode profile of a multimode fiber.
- setIndexProfile(indexProfile)[source]#
Set the index profile for the MMF.
- Parameters:
- indexProfileIndexProfile
The index profile object representing the fiber section geometry.
- Returns:
- None
- setPoisson(poisson)[source]#
Set the poisson coefficient. The default value is 0.5 (no effect of compression/dilatation)
- Parameters:
- poissonfloat
Poisson coefficient of the fiber material.
- solve(solver='default', curvature=None, storeData=True, options={})[source]#
Find the propagation constants and mode profile of a multimode fiber. For an arbitrary index profile, it finds the solution of the eigenvalue problem of the scalar wave equation in a discretized space [1].
- Parameters:
- storeData: bool
Stores data in the propagationModeSolver object is set to True defaults to True
- curvature: float
Curvature of the fiber in meters defaults to None
- solver: string (‘default’, ‘radial’, ‘eig’, ‘SI’, or ‘WKB’)
solver to be used.Type of solver. Should be one of
‘radial’ solves the 1D radial wave equation for axisymmetric profiles. It requires the profile to be defined by a radial function with the
initFromRadialFunction
method.‘eig’ solves the eigenvalue problem in the discretized space. Slower and less precise, but allows for non-axisymmetric profiles and bend curvature.
‘SI’ solves numerically the analytical dispersion relation for step index fibers and approximate modes to LP modes.
‘WKB’ uses the WKB approximation for GRIN profiles.
‘default’ tries to find the optimal solver for the given index profile.
Default is ‘default’ ;)
- options: dict
A dictionary of solver options. They are specific to the solver used, read the documentation of the solver for more information.
- Returns:
- modesModes
Modes object containing all the mode information.
- Parameters:
solver (str)
curvature (bool)
storeData (bool)
options (dict)