1D PC-based Interactive Photonics Systems Simulator (IPSS)

M. Matus, M. Kolesik and J.V. Moloney


A C++ object-oriented interactive simulation tool built on the microscopically computed semiconductor material optical response and highly efficient digital filter-based numerical algorithms provides a modular integrated optical system design tool
The simulator runs on a fast PC. The user can set up an optical system prior to startup that can include semiconductor or fiber amplifier/laser modules, internal gratings (DFB or DBR) and contacts (single, multiple, forward/reverse bias), external optics such as mirrors, beam splitters etc. Critical system parameters can be adjusted on-the-fly.
All-Optical Mach-Zehnder Pulse Sampler


IPSS Features



  • The goal of the Interactive Photonics System Simulator(IPSS) is to provide a common platform for the analysis and design of isolated optical devices and entire optical systems.
  • The IPSS is able to simulate optical devices such as ideal optical sources, semiconductor lasers, passive cavities, mirrors, beam splitter etc. Individual modules can be integrated into a complete optical system.
  • Once the optical system is defined, the user is able to simulate it interactively using a set of GUIs that allows display of selected variables, sensor outputs and adjustment of system parameters.
  • Based on Posix threads and CORBA, the simulation core allows one to parallelize the intensive computation and/or to allocate expensive tasks, such as the spectral analyzer, transparently on another processor or machine.





The IPSS(1D) Working Environment




The IPSS(1D) is built around platform independent subsystems, such as CORBA for communications between the processes, Python for scripting the definition of a system and as a GUI builder, and a set of C++ libraries that code the hierarchy of modules available for simulation and allows integration of existing C/Fortran code.


IPSS(1D) Module-Interface Abstraction


In order to represent a real optical system with IPSS(1D), it is necessary to apply the Module-Interface abstraction.
In the Module-Interface abstraction, every component, such as a laser or cavity, is a optical module, and every interface, such as a mirror or the natural interface between two materials, is an optical interface.
Optical modules are connected to each other one through an optical interface. Modules are "spatial entities" where the optical field must be represented with at least two spatial values. Interfaces by the other hand, have no spatial dimension, and the optical fields in it correspond to boundary conditions.
Each optical module is responsible for computing the optical field in its spatial extension, and for propagating the optical field through their ports. Each interface is responsible for computing the boundary conditions for the modules connected to it, and for propagating those values through its layers.
back to top