A package for light propagation in fiber optics.
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyfibermodes-0.8.0.tar.gz.
File metadata
- Download URL: pyfibermodes-0.8.0.tar.gz
- Upload date:
- Size: 240.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6f4ad23400c05b3b1a6000c9575009670dc1bb08d404b4593fb18c20e019d39
|
|
| MD5 |
8e204197804f3f703075f3985f890669
|
|
| BLAKE2b-256 |
69eca948c2e6a7a19c33b4d8db7454b6650581253fb1d3676ad0b48269e09e51
|
File details
Details for the file pyfibermodes-0.8.0-py3-none-any.whl.
File metadata
- Download URL: pyfibermodes-0.8.0-py3-none-any.whl
- Upload date:
- Size: 74.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bf5d300379c662c8af64421afa11c1591b125180c31e2ea4e880a28ae753b930
|
|
| MD5 |
2d9d12b11f5945bdbee7c2c31a25634d
|
|
| BLAKE2b-256 |
9228a10a987d529eb92cbc80a0e609df8f3ed2c92507d311ef5812951dcbda3e
|