From c242f7571846b2d65410f045683b5c385002ab0f Mon Sep 17 00:00:00 2001 From: majsylw <58003896+majsylw@users.noreply.github.com> Date: Mon, 30 Aug 2021 19:51:04 +0200 Subject: [PATCH] add nonlinearity page to documentation --- README.md | 5 ++++- docs/code_documentation.rst | 15 +++++++++++++++ docs/dispersion.rst | 7 +++++-- docs/gnlse_intro.rst | 7 ++++++- docs/nonlinearity.rst | 30 ++++++++++++++++++++++++++++++ 5 files changed, 60 insertions(+), 4 deletions(-) create mode 100644 docs/nonlinearity.rst diff --git a/README.md b/README.md index e384720..79d95e4 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/docs/code_documentation.rst b/docs/code_documentation.rst index 786c9ae..d3ed70c 100644 --- a/docs/code_documentation.rst +++ b/docs/code_documentation.rst @@ -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 --------------- diff --git a/docs/dispersion.rst b/docs/dispersion.rst index f3df9a1..a15b561 100644 --- a/docs/dispersion.rst +++ b/docs/dispersion.rst @@ -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 diff --git a/docs/gnlse_intro.rst b/docs/gnlse_intro.rst index cead93c..83e3de9 100644 --- a/docs/gnlse_intro.rst +++ b/docs/gnlse_intro.rst @@ -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 @@ -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 diff --git a/docs/nonlinearity.rst b/docs/nonlinearity.rst new file mode 100644 index 0000000..7299f6e --- /dev/null +++ b/docs/nonlinearity.rst @@ -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