Skip to main content

Optical fibre system simulator

Project description

Pyofss allows construction of an optical fibre system from separate modules. A typical system consists of a Gaussian pulse generator module and an optical fibre module. The field generated is propagated through the fibre by numerical integration of an appropriate Schrödinger-type equation.

Simulated effects include that of dispersion (second, third, and higher order), attenuation, self-phase modulation, self-steepening, and Raman scattering. Resulting field profiles (including multiple traces for the fibre module) can be visualised using a range of plot types. These include standard x-y plots, top-down “map” plots, three-dimensional “waterfall” plots, and animation videos.


Pyofss is available on PyPI and can be retrieved using the pip program:

sudo aptitude install python-pip
pip install pyofss

Then import pyofss within scripts or in an interactive session:

>>> import pyofss


Pyofss depends on Numpy, Scipy, and Matplotlib. They can be installed on Linux distributions using aptitude:

sudo aptitude install python-numpy python-scipy python-matplotlib


It is recommended to install pyofss into a virtual environment, which can be initialised using:

sudo aptitude install python-virtualenv
sudo pip install virtualenvwrapper
mkvirtualenv pyofss
workon pyofss

Pyofss dependencies can then be satisfied using:

pip install numpy
pip install scipy
sudo aptitude build-dep python-matplotlib
pip install matplotlib

Install the latest development version of pyofss from GitHub:

pip install git+


Tests can be run within the pyofss package:

python test

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyofss-0.9.tar.gz (69.1 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page