: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 `_