Skip to content

MartinPdeS/PyFiberModes

Repository files navigation

Meta python Documentation Status
Testing Unittest Status Unittest coverage
PyPi PyPi PyPi_download
Anaconda Anaconda version Anaconda downloads

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:

Documentation Status


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: [email protected]


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages