PyFiberModes’ documentation#
Date: Aug 04, 2025, Version: 0.7.4
Meta |
||
Testing |
||
PyPi |
||
Anaconda |
PyFiberModes#
PyFiberModes is a Python package designed to simulate the propagation of modes in optical fibers. It supports all circularly symmetric geometries and provides tools for in-depth analysis of optical fiber properties and modal characteristics.
Key Features#
Comprehensive Simulations: Supports step-index fibers, multilayer fibers, and custom refractive index profiles.
Extensive Mode Analysis: Calculate mode profiles, propagation constants, effective indices, and more.
Open Source: Designed for customization and extensibility.
Documentation#
The latest documentation is always available here or via the badge below:
Installation#
Using Pip#
Install the PyFiberModes package directly from PyPi. Ensure you have Python 3.10 or later:
pip install PyFiberModes
Manual Installation#
To manually install the package:
git clone https://github.com/MartinPdeS/PyFiberModes.git
cd PyFiberModes
pip install .
Testing#
PyFiberModes includes comprehensive tests. To run the tests locally:
git clone https://github.com/MartinPdeS/PyFiberModes.git
cd PyFiberModes
pip install .
coverage run --source=PyFiberModes --module pytest --verbose tests
coverage report --show-missing
This will generate a coverage report detailing untested portions of the code.
Examples and Usage#
Learn how to use PyFiberModes with detailed examples in the Examples Section of the documentation. Examples include: - Calculating the effective index for a given mode. - Visualizing mode profiles in optical fibers. - Evaluating fiber parameters like V-number and dispersion.
Get Involved#
PyFiberModes is an actively maintained project, and contributions are highly encouraged! Whether it’s a bug fix, feature request, or enhancement, your input is valuable.
Report issues or request features on the GitHub Issue Tracker.
Open pull requests to improve the codebase.
Contact#
If you would like to collaborate, please reach out:
Author: Martin Poinsinet de Sivry-Houle
Email: martin.poinsinet-de-sivry@polymtl.ca