Skip to content

Latest commit

 

History

History
45 lines (27 loc) · 1.67 KB

README.md

File metadata and controls

45 lines (27 loc) · 1.67 KB

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.