:orphan:
.. _sphx_glr_auto_tutorials:
.. _extended-user-guide:
Extended user guide
===================
Step-by-step demonstration of basic and more specific `py-fmas` functionality.
Click on any image to see the full demo including source code.
For further examples that illustrate how to work with the `fmas` package, see
our :ref:`usage-examples` page.
.. raw:: html
.. _sphx_glr_auto_tutorials_basics:
Basic examples
--------------
The step-by-step demonstrations in this gallery show how to perfom basic
simulations using the provided software.
.. raw:: html
.. only:: html
.. figure:: /auto_tutorials/basics/images/thumb/sphx_glr_g_app_thumb.png
:alt: Using `fmas` as a black-box application
:ref:`sphx_glr_auto_tutorials_basics_g_app.py`
.. raw:: html
.. toctree::
:hidden:
/auto_tutorials/basics/g_app
.. raw:: html
.. only:: html
.. figure:: /auto_tutorials/basics/images/thumb/sphx_glr_g_code_listing_01_thumb.png
:alt: Basic workflow
:ref:`sphx_glr_auto_tutorials_basics_g_code_listing_01.py`
.. raw:: html
.. toctree::
:hidden:
/auto_tutorials/basics/g_code_listing_01
.. raw:: html
.. only:: html
.. figure:: /auto_tutorials/basics/images/thumb/sphx_glr_ng_generate_infile_thumb.png
:alt: Generating an input file
:ref:`sphx_glr_auto_tutorials_basics_ng_generate_infile.py`
.. raw:: html
.. toctree::
:hidden:
/auto_tutorials/basics/ng_generate_infile
.. raw:: html
.. _sphx_glr_auto_tutorials_specific:
More specific examples
----------------------
The step-by-step demonstrations in this gallery show how the
functionality of the provided software can be used to customize
the implemented models and to compute spectrograms.
.. raw:: html
.. only:: html
.. figure:: /auto_tutorials/specific/images/thumb/sphx_glr_g_list_prop_const_thumb.png
:alt: Implemented propagation constants
:ref:`sphx_glr_auto_tutorials_specific_g_list_prop_const.py`
.. raw:: html
.. toctree::
:hidden:
/auto_tutorials/specific/g_list_prop_const
.. raw:: html
.. only:: html
.. figure:: /auto_tutorials/specific/images/thumb/sphx_glr_g_list_raman_models_thumb.png
:alt: Implemented Raman response functions
:ref:`sphx_glr_auto_tutorials_specific_g_list_raman_models.py`
.. raw:: html
.. toctree::
:hidden:
/auto_tutorials/specific/g_list_raman_models
.. raw:: html
.. only:: html
.. figure:: /auto_tutorials/specific/images/thumb/sphx_glr_g_user_guide_PropConst_thumb.png
:alt: Using the `PropConst` convenience class
:ref:`sphx_glr_auto_tutorials_specific_g_user_guide_PropConst.py`
.. raw:: html
.. toctree::
:hidden:
/auto_tutorials/specific/g_user_guide_PropConst
.. raw:: html
.. only:: html
.. figure:: /auto_tutorials/specific/images/thumb/sphx_glr_g_spectrogram_thumb.png
:alt: Computing spectrograms
:ref:`sphx_glr_auto_tutorials_specific_g_spectrogram.py`
.. raw:: html
.. toctree::
:hidden:
/auto_tutorials/specific/g_spectrogram
.. raw:: html
.. only:: html
.. figure:: /auto_tutorials/specific/images/thumb/sphx_glr_g_raman_response_thumb.png
:alt: Using a specific Raman response function
:ref:`sphx_glr_auto_tutorials_specific_g_raman_response.py`
.. raw:: html
.. toctree::
:hidden:
/auto_tutorials/specific/g_raman_response
.. raw:: html
.. only:: html
.. figure:: /auto_tutorials/specific/images/thumb/sphx_glr_g_custom_propagation_model_thumb.png
:alt: Implementing a custom model
:ref:`sphx_glr_auto_tutorials_specific_g_custom_propagation_model.py`
.. raw:: html
.. toctree::
:hidden:
/auto_tutorials/specific/g_custom_propagation_model
.. raw:: html
.. _sphx_glr_auto_tutorials_photon_number_conservation:
Photon number conservation
--------------------------
The examples provided in this gallery demonstrate the conservation of the
photon number for the different models. Having available a proper conservation
law is particularly important when the conservation quantity error method (CQE)
is used for guiding step size adaption.
.. raw:: html
.. only:: html
.. figure:: /auto_tutorials/photon_number_conservation/images/thumb/sphx_glr_g_FMAS_S_thumb.png
:alt: FMAS_S
:ref:`sphx_glr_auto_tutorials_photon_number_conservation_g_FMAS_S.py`
.. raw:: html
.. toctree::
:hidden:
/auto_tutorials/photon_number_conservation/g_FMAS_S
.. raw:: html
.. only:: html
.. figure:: /auto_tutorials/photon_number_conservation/images/thumb/sphx_glr_g_FMAS_S_R_thumb.png
:alt: FMAS_S_R
:ref:`sphx_glr_auto_tutorials_photon_number_conservation_g_FMAS_S_R.py`
.. raw:: html
.. toctree::
:hidden:
/auto_tutorials/photon_number_conservation/g_FMAS_S_R
.. raw:: html
.. only:: html
.. figure:: /auto_tutorials/photon_number_conservation/images/thumb/sphx_glr_g_FMAS_thumb.png
:alt: FMAS
:ref:`sphx_glr_auto_tutorials_photon_number_conservation_g_FMAS.py`
.. raw:: html
.. toctree::
:hidden:
/auto_tutorials/photon_number_conservation/g_FMAS
.. raw:: html
.. _sphx_glr_auto_tutorials_attenuation:
Attenuation
-----------
The examples provided in this gallery demonstrate how to use models that
incorporate loss in terms of an absorption constant or a frequency dependent
absorption profile.
.. raw:: html
.. only:: html
.. figure:: /auto_tutorials/attenuation/images/thumb/sphx_glr_g_absorption_profile_thumb.png
:alt: Attenuation of a NLPM750 fiber
:ref:`sphx_glr_auto_tutorials_attenuation_g_absorption_profile.py`
.. raw:: html
.. toctree::
:hidden:
/auto_tutorials/attenuation/g_absorption_profile
.. raw:: html
.. only:: html
.. figure:: /auto_tutorials/attenuation/images/thumb/sphx_glr_g_NSE_absorption_constant_thumb.png
:alt: Nonlinear Schrödinger equation with loss
:ref:`sphx_glr_auto_tutorials_attenuation_g_NSE_absorption_constant.py`
.. raw:: html
.. toctree::
:hidden:
/auto_tutorials/attenuation/g_NSE_absorption_constant
.. raw:: html
.. only:: html
.. figure:: /auto_tutorials/attenuation/images/thumb/sphx_glr_ng_fiber_details_nlpm750_thumb.png
:alt: NLPM750 fiber model with loss
:ref:`sphx_glr_auto_tutorials_attenuation_ng_fiber_details_nlpm750.py`
.. raw:: html
.. toctree::
:hidden:
/auto_tutorials/attenuation/ng_fiber_details_nlpm750
.. raw:: html
.. _sphx_glr_auto_tutorials_tests:
Performance tests
-----------------
The step-by-step demonstrations in this gallery illustrate performance tests
for the various implemented solver types.
All test cases are implemented on basis of the standard nonlinear Schrödinger
equation.
.. raw:: html
.. only:: html
.. figure:: /auto_tutorials/tests/images/thumb/sphx_glr_g_performance_LEM_thumb.png
:alt: Stepsize adaption in the LEM method
:ref:`sphx_glr_auto_tutorials_tests_g_performance_LEM.py`
.. raw:: html
.. toctree::
:hidden:
/auto_tutorials/tests/g_performance_LEM
.. raw:: html
.. only:: html
.. figure:: /auto_tutorials/tests/images/thumb/sphx_glr_g_performance_CQE_thumb.png
:alt: Stepsize adaption in the CQE method
:ref:`sphx_glr_auto_tutorials_tests_g_performance_CQE.py`
.. raw:: html
.. toctree::
:hidden:
/auto_tutorials/tests/g_performance_CQE
.. raw:: html
.. only:: html
.. figure:: /auto_tutorials/tests/images/thumb/sphx_glr_g_error_scaling_thumb.png
:alt: Scaling behavior of global errors
:ref:`sphx_glr_auto_tutorials_tests_g_error_scaling.py`
.. raw:: html
.. toctree::
:hidden:
/auto_tutorials/tests/g_error_scaling
.. raw:: html
.. _sphx_glr_auto_tutorials_errors:
Propagation errors
------------------
The step-by-step demonstrations in this gallery demonstrate propagation errors
that can occur when the computational domain does not properly support the
intendet propagation scenario. We include these to assist users to identify
possible error sources, and to raise awareness to ensure that the propagation
:math:`z`-increment is small enough, the computational domain is large enough,
and to bear in mind the periodic boundary conditions along the time-axis.
All test cases are implemented on basis of the standard nonlinear Schrödinger
equation.
.. raw:: html
.. only:: html
.. figure:: /auto_tutorials/errors/images/thumb/sphx_glr_g_error_dealiasing_thumb.png
:alt: Implementing an anti-aliasing technique with a model
:ref:`sphx_glr_auto_tutorials_errors_g_error_dealiasing.py`
.. raw:: html
.. toctree::
:hidden:
/auto_tutorials/errors/g_error_dealiasing
.. raw:: html
.. only:: html
.. figure:: /auto_tutorials/errors/images/thumb/sphx_glr_g_error_3rdOrderSoliton_thumb.png
:alt: Propagation errors caused by a too narrow frequency window
:ref:`sphx_glr_auto_tutorials_errors_g_error_3rdOrderSoliton.py`
.. raw:: html
.. toctree::
:hidden:
/auto_tutorials/errors/g_error_3rdOrderSoliton
.. raw:: html
.. only:: html
.. figure:: /auto_tutorials/errors/images/thumb/sphx_glr_g_instabilities_dz_thumb.png
:alt: Numerical instabilities of the Nonlinear Schrödinger Equation
:ref:`sphx_glr_auto_tutorials_errors_g_instabilities_dz.py`
.. raw:: html
.. toctree::
:hidden:
/auto_tutorials/errors/g_instabilities_dz
.. raw:: html
.. only :: html
.. container:: sphx-glr-footer
:class: sphx-glr-footer-gallery
.. container:: sphx-glr-download sphx-glr-download-python
:download:`Download all examples in Python source code: auto_tutorials_python.zip `
.. container:: sphx-glr-download sphx-glr-download-jupyter
:download:`Download all examples in Jupyter notebooks: auto_tutorials_jupyter.zip `
.. only:: html
.. rst-class:: sphx-glr-signature
`Gallery generated by Sphinx-Gallery `_