Skip to content

MT24DSDV/PyFiberModes

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%