Skip to content

Commit

Permalink
add nonlinearity page to documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
majsylw committed Sep 2, 2021
1 parent 77f65c8 commit c242f75
Show file tree
Hide file tree
Showing 5 changed files with 60 additions and 4 deletions.
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,12 @@ And you expect to visualise supercontinuum generation process in use of 3 types

## Release History

v1.1.1 was released in 28/8/2021.
v1.1.2 was released in 30/8/2021.
The master branch works with **python 3.7**.

* **1.1.2 -> Aug 30th, 2021**
* ADD: Continious wave envelope
* FIX: Shift scalling data for nonlinear coefficient
* **1.1.1 -> Aug 28th, 2021**
* CHANGE: Minor bug fix with scaling
* CHANGE: Few minor changes in the documentation
Expand Down
15 changes: 15 additions & 0 deletions docs/code_documentation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,21 @@ and calculated from effective refractive indices.
gnlse.DispersionFiberFromTaylor
gnlse.DispersionFiberFromInterpolation

Nonlinear coefficient
---------------------

The guided fiber mode has a certain effective mode area, which in general
depends on frequency. Package supports two possibilites to account
the parameter: by giving the scalar value for gamma at central wavelength
or calculated values for freqency range from effective refractive indices
and effective mode area (experimantal or simulated data)
Mode profile dispersion in GNLSE is accounted based on algorithm
described in [J07]_.

.. autosummary::

gnlse.NonlinearityFromEffectiveArea

Raman responses
---------------

Expand Down
7 changes: 5 additions & 2 deletions docs/dispersion.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,8 @@
Dispersion operators
====================

.. autoclass::DispersionFiberFromTaylor
.. autoclass::DispersionFiberFromInterpolation
Package supports two dispersion operators: calculated from a Taylor expansion
and calculated from effective refractive indices.

.. autoclass:: gnlse.DispersionFiberFromTaylor
.. autoclass:: gnlse.DispersionFiberFromInterpolation
7 changes: 6 additions & 1 deletion docs/gnlse_intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,9 @@ Major features
and temporal characteristics of a third-order soliton,
* ``test_dispersion.py``, an example of supercontinuum generation using
different dispersion operators,
* ``test_nonlinearity.py``, an example of supercontinuum generation using
different GNLSE and M-GNLSE
(take into account mode profile dispersion),
* ``test_Dudley``, an example of supercontinuum generation using
different input impulse envelopes,
* ``test_gvd``, showing impulse broadening due to group velocity
Expand All @@ -107,12 +110,14 @@ Major features
Release information
-------------------

v1.1.1 was released on August 28, 2021. The master branch works with
v1.1.2 was released on August 30, 2021. The master branch works with
**Python 3.7.**

======= =============== ====================================================
Version Date Notes
======= =============== ====================================================
1.1.2 August 30, 2021 * ADD: Continious wave envelope
* FIX: Shift scalling data for nonlinear coefficient
1.1.1 August 28, 2021 * CHANGE: Minor bug fix with scaling
* CHANGE: Few minor changes in the documentation
1.1.0 August 21, 2021 * Modified-GNLSE extension
Expand Down
30 changes: 30 additions & 0 deletions docs/nonlinearity.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
:orphan:

Nonlinear coefficient
=====================

The time derivative term inside GNLSE models the dispersion of
the nonlinearity. This is usually assiociated with effects such
as self-steepening and optical shock formation, characterized by
a timescale :math:`\tau_0 = 1/\omega_0`. In the context of fibre
propagation, additional disperison of the nonlinearity arises
from the frequency dependence of the effective area,
and :math:`\tau_0 = 1/\omega_0` can be generalized for this in
an approximate manner.

A better aproach is to include the dispersion of the nonlinear response is to
describe it directly in the frequency domain [J07]_.
In this case we can derive a GNLSE for the pulse evolution using
:math:`\gamma(\omega)` defined as

.. math::
\gamma(\omega) = \frac{n_2 n_0 \omega}{c n_{eff}( \omega ) A_{eff}^{1/4}(\omega )},
with the substitution for the envelope of amplitude as scaled variable

.. math::
C(z, \omega) = \frac{A_{eff}^{1/4}(\omega_0 )}{A_{eff}^{1/4}(\omega )} A(z, \omega).
.. autoclass:: gnlse.NonlinearityFromEffectiveArea

0 comments on commit c242f75

Please sign in to comment.