GithubHelp home page GithubHelp logo

vasilxu251 / cgnlse-python Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wust-fog/cgnlse-python

0.0 0.0 0.0 361 KB

Coupled Generalized Nonlinear Schrodringer Equation solver for birefringent fibers

License: MIT License

Python 100.00%

cgnlse-python's Introduction

Visits BadgeDOI

Nonlinear phenomena in birefringent microstructured fibers

We implemented model based on two coupled nonlinear Schrödinger equations that include both the Raman and the Kerr nonlinearities. We used it to study evolution of nonlinear phenomena in the temporal and spectral domains in optical fibers exhibiting high and low birefringence.

soliton_traping

Usage

Installation

  1. Create a virtual environment with python -m venv cgnlse or using conda by conda create -n cgnlse python=3.8.
  2. Activate it with source cgnlse/bin/activate or conda activate cgnlse.
  3. Install gnlse package pip install gnlse==2.0.0
  4. Clone this repository git clone https://github.com/WUST-FOG/cgnlse-python.git
python -m venv cgnlse
source cnlse/bin/activate
pip install -r requirements.txt
git clone https://github.com/WUST-FOG/cgnlse-python.git
cd cgnlse-python

Examples

Soliton trapping and orthogonal Raman scattering

Run test script to generate above figure and reproduce the manuscript results:

python draw_soliton_traping.py

Note that we also provided script tu run simulations (run_soliton_traping.py), however used input data is not publicly available at this time, but may be obtained from the authors upon reasonable request.

Inspiration: K. Stefańska et al., Soliton trapping and orthogonal Raman scattering in a birefringent microstructured fiber

Modulation instability in highly birefringent fibers

To run example of vector modulation instability in highly birefringent fibers with circularly polarized modes in the normal dispersion regime type:

python run_modulation_instability.py

Note that using also raman_polarisation and setting solver.fr to 0 one can simulate the case of low-birefringent fibers.

Inspiration: K. Zołnacz et al., Vector modulation instability in highly birefringent fibers with circularly polarized eigenmodes

Acknowledgement

cnlse-python is a Python set of scripts for solving Coupled Nonlinear Schrodringer Equation. It is one of the WUST-FOG projects developed by Fiber Optics Group, WUST.

The python code based on gnlse package, available at https://github.com/WUST-FOG/gnlse-python.

Citation

If you find this code useful in your research, please consider citing:

Soliton trapping and orthogonal Raman scattering in a birefringent photonic crystal fiber:

@article{Stefanska:22,
      author = {Karolina Stefa\'{n}ska and Sylwia Majchrowska and Karolina Gemza
                and Grzegorz Sobo\'{n} and Jaros{\l}aw Sotor and Pawe{\l} Mergo
                and Karol Tarnowski and Tadeusz Martynkien},
      journal = {Opt. Lett.},
      number = {16},
      pages = {4183--4186},
      publisher = {Optica Publishing Group},
      title = {Soliton trapping and orthogonal Raman scattering
               in a birefringent photonic crystal fiber},
      volume = {47},
      month = {Aug},
      year = {2022},
      url = {http://opg.optica.org/ol/abstract.cfm?URI=ol-47-16-4183},
      doi = {10.1364/OL.463643}
}

gnlse-python: Open Source Software to Simulate Nonlinear Light Propagation In Optical Fibers:

@misc{redman2021gnlsepython,
      title={gnlse-python: Open Source Software to Simulate
             Nonlinear Light Propagation In Optical Fibers}, 
      author={Pawel Redman and Magdalena Zatorska and Adam Pawlowski
              and Daniel Szulc and Sylwia Majchrowska and Karol Tarnowski},
      year={2021},
      eprint={2110.00298},
      archivePrefix={arXiv},
      primaryClass={physics.optics}
}

License

MIT

cgnlse-python's People

Contributors

majsylw avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.