Skip to content

Computational-Nonlinear-Optics-ORC/Single-mode-FOPO

 
 

Repository files navigation

SM-FOPO

Build Status

DOI

The repository holds the model of a unidirectional single mode FOPO based upon the system.

Updates in Version 2.0:

  • Introduction of the 7-band Banded Generalised Nonlinear Schrodinger equation for pulse propagation

  • Introduction of the Phase-modulation at every round trip for resonance to be reached

  • Use of Cython Memoryviews and Intel MKL libraries for compilation

  • Requirements:

    • Tested on Ubuntu Xenian.
    • Python 3.6 tested
    • mpi4py futures
    • The Conda Intel Python distribution found here
    • MKL libraries for compilation of the Cython code here

Installation:

bash build_install.sh

Note: Pass 'cluster' as an argument if you do not have sudo. sudo is used to install mpich for multinode computations.

Testing (unit-tests):

source activate intel && pytest code_testing/test*.py

Execution of FOPO:

bash run_oscilator.sh rounds cores library && bash run_posprocess.sh

Note:

  • rounds: Number of round trips
  • cores: Number of cores to use
  • library: mpi (Code uses mpi4py, needed for multiple nodes on cluster), joblib: Multicore computations, MKL: Runs with MKL libraries

Example: bash run_oscilator.sh 1000 4 mpi; will run the oscillator for 1000 rounds over 4 cores using mpi4py.

About

This is a public repository of a Single mode FOPO system

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 50.5%
  • Python 47.5%
  • C++ 1.2%
  • Shell 0.8%