{jcomments on}

\(
\def\ket#1{{\left|{#1}\right\rangle}}
\def\bra#1{{\left\langle{#1}\right|}}
\def\braket#1#2{{\left\langle{#1}|{#2}\right\rangle}}
\)

[tutorial] pyMMF:  Simulating Multimode Fibers in Python

Part 1: Step Index Benchmark

 

I recently published a two-part tutorial on how to find the modes of an arbitrary multimode fiber without or with bending. Based on this tutorial, I published a (still experimental) version of a Python module to find the modes of multimode fibers and calculate their transmission matrix: pyMMF. The goal of this module is not to compete with commercial solutions in term of precision but to provide a way to easily simulate realistic fiber systems. To validate the approach, I use step-index multimode fibers as a benchmark test as the dispersion relation is analytically known (see my tutorial here) and for which the Linearly Polarized (LP) mode approximation yields good results. I focus my attention here on the precision of the numerically found propagation constants.

Read more...

{jcomments on}

\(
\def\ket#1{{\left|{#1}\right\rangle}}
\def\bra#1{{\left\langle{#1}\right|}}
\def\braket#1#2{{\left\langle{#1}|{#2}\right\rangle}}
\)

[tutorial] Numerical Estimation of Multimode Fiber Modes and Propagation Constants: 

Part 2: Bent Fibers 

 

We saw in the first part of the tutorial that the profiles and the propagation constants of the propagation modes of a straight multimode fiber can easily be avulated for an arbitrary index profile by inverting a large but sparse matrix. Under some approximations [1], a portion of fiber with a fixed radius of curvature satisfies a similar problem that can be solved with the same numerical tools, as we illustrate with the PyMMF Python module [2]. Moreover, when the modes are known for the straight fiber, the modes for a fixed radius can be approximate by inverting a square matrix of size the number of propagating modes [1]. It allows fast computation of the modes for different radii of curvature.    

Read more...

Additional information