Skip to content

Releases: mjungo/VISTAS

VISTAS_py v2.3

01 Aug 20:45
Compare
Choose a tag to compare

VISTAS_py v2.3 includes all the features of previous releases, plus:

  • improved visualization, including a new plot showing side-by-side the carrier and optical profiles in the cavity at t = tmax
  • improved logic in the GUI to define the allowed parameters combos (disabled GUI elements)
  • computation of the individual wavelength of each optical mode
  • maintenance and bug fixes

VISTAS_py v2.3 comes with the following files:

  • 'default_params.json': a working set of simulation and VCSEL parameters that is loaded when clicking the "initialize params" button (recovery option)
  • 'last_params.json': the last set of automatically saved parameters that is automatically loaded when launching the GUI
  • 'ttips.json': the help texts appearing when hovering over the GUI elements
  • 'VISTAS_algorithm.py': the core algorithm (modified rate equations) and its integration with the adjacent elements (modes, overlap parameters, modulation signal, etc.)
  • 'VISTAS_gui.py': the GUI to manage the simulation and VCSEL parameters, the logic that handles the allowed combinations of parameters, and the data management for saving to/reading from files
  • 'VISTAS_modes.py': the self consistent LP modes solver for the VCSEL cavity
  • 'VISTAS_visualization.py': a series of visualization functions, called from the GUI
  • 'LICENSE': the MIT license
  • 'README.md': the VISTAS_py project description on GitHub

To run a simulation:

  1. make sure Python and the required packages (numpy, scipy, matplotlib, PySimpleGUI) are installed
  2. copy the files above in the same working directory
  3. run the script 'VISTAS_gui.py'

VISTAS_py v2.3 was tested on an Intel machine running windows 10 Pro 64 bit with:

  • Python 3.9.6
  • numpy 1.21.1
  • scipy 1.7.0
  • matplotlib 3.4.2
  • PySimpleGUI 4.43

Previous releases:

VISTAS_py v2.2 includes all the features of previous releases, plus:

  • electrical parasitics, and their effect on both small- and large-signal responses
  • fixed bug in the calculation of the frequency response H(f)
  • enhanced visualization of the frequency response, with the intrinsic and parasitics responses plotted separately
  • small fixes

VISTAS_py v2.1 includes all the features of previous releases, plus:

  • noise
  • Relative Intensity Noise (RIN) computation and visualization
  • improved logic to manage allowed/sensible parameters combos
  • small fixes

VISTAS_py v2.0 includes all the features of VISTAS_py v1.0, plus:

  • carrier transport across the barriers into the quantum wells (QWs)
  • updated Jacobian, now implemented both for both the static (scipy's fsolve) and dynamic (scipy's solve_ivp) solvers
  • new and renamed variables to improve readability
  • numerous smaller improvements

VISTAS_py v1.0 includes:

  • the basic 1D (no azimuthal dependency -> 'doughnut-shaped" modes) algorithm...
  • ... implemented in a fully vectorized manner with numpy arrays
  • a clean architecture with four clearly delimited scripts (1. core algorithm, 2. GUI, 3. modes solver, 4. visualization)
  • static (LI) solution using scipy’s built-in fsolve with analytical Jacobian
  • time-domain dynamic solution using either finite differences or scipy’s built-in solve_ivp
  • logarithmic gain model in the time domain (linear gain model across the cavity area)
  • a simple data model consisting of three dictionaries: 1. simulation parameters, 2. VCSEL parameters, and 3. simulation results
  • a GUI to manage the simulation parameters, the VCSEL parameters, the data management for writing to / reading from JSON files, and the logic that handles permitted combinations of parameters
  • basic visualization

VISTAS_py v2.2

25 Jul 17:58
Compare
Choose a tag to compare

VISTAS_py v2.2 includes all the features of previous releases, plus:

  • electrical parasitics, and their effect on both small- and large-signal responses
  • fixed bug in the calculation of the frequency response H(f)
  • enhanced visualization of the frequency response, with the intrinsic and parasitics responses plotted separately
  • small fixes

VISTAS_py v2.2 comes with the following files:

  • 'default_params.json': a working set of simulation and VCSEL parameters that is loaded when clicking the "initialize params" button (recovery option)
  • 'last_params.json': the last set of automatically saved parameters that is automatically loaded when launching the GUI
  • 'ttips.json': the help texts appearing when hovering over the GUI elements
  • 'VISTAS_algorithm.py': the core algorithm (modified rate equations) and its integration with the adjacent elements (modes, overlap parameters, modulation signal, etc.)
  • 'VISTAS_gui.py': the GUI to manage the simulation and VCSEL parameters, the logic that handles the allowed combinations of parameters, and the data management for saving to/reading from files
  • 'VISTAS_modes.py': the self consistent LP modes solver for the VCSEL cavity
  • 'VISTAS_visualization.py': a series of visualization functions, called from the GUI
  • 'LICENSE': the MIT license
  • 'README.md': the VISTAS_py project description on GitHub

To run a simulation:

  1. make sure Python and the required packages (numpy, scipy, matplotlib, PySimpleGUI) are installed
  2. copy the files above in the same working directory
  3. run the script 'VISTAS_gui.py'

VISTAS_py v2.2 was tested on an Intel machine running windows 10 64 bit with:

  • Python 3.9.5
  • numpy 1.20.3
  • scipy 1.6.3
  • matplotlib 3.4.2
  • PySimpleGUI 4.43

Previous releases:

VISTAS_py v2.1 includes all the features of previous releases, plus:

  • noise
  • Relative Intensity Noise (RIN) computation and visualization
  • improved logic to manage allowed/sensible parameters combos
  • small fixes

VISTAS_py v2.0 includes all the features of VISTAS_py v1.0, plus:

  • carrier transport across the barriers into the quantum wells (QWs)
  • updated Jacobian, now implemented both for both the static (scipy's fsolve) and dynamic (scipy's solve_ivp) solvers
  • new and renamed variables to improve readability
  • numerous smaller improvements

VISTAS_py v1.0 includes:

  • the basic 1D (no azimuthal dependency -> 'doughnut-shaped" modes) algorithm...
  • ... implemented in a fully vectorized manner with numpy arrays
  • a clean architecture with four clearly delimited scripts (1. core algorithm, 2. GUI, 3. modes solver, 4. visualization)
  • static (LI) solution using scipy’s built-in fsolve with analytical Jacobian
  • time-domain dynamic solution using either finite differences or scipy’s built-in solve_ivp
  • logarithmic gain model in the time domain (linear gain model across the cavity area)
  • a simple data model consisting of three dictionaries: 1. simulation parameters, 2. VCSEL parameters, and 3. simulation results
  • a GUI to manage the simulation parameters, the VCSEL parameters, the data management for writing to / reading from JSON files, and the logic that handles permitted combinations of parameters
  • basic visualization

VISTAS_py v2.1

11 Jul 12:42
Compare
Choose a tag to compare

VISTAS_py v2.1 includes all the features of previous releases, plus:

  • noise
  • Relative Intensity Noise (RIN) computation and visualization
  • improved logic to manage allowed/sensible parameters combos
  • small fixes

VISTAS_py v2.1 comes with the following files:

  • 'default_params.json': a working set of simulation and VCSEL parameters that is loaded when clicking the "initialize params" button (recovery option)
  • 'last_params.json': the last set of automatically saved parameters that is automatically loaded when launching the GUI
  • 'ttips.json': the help texts appearing when hovering over the GUI elements
  • 'VISTAS_algorithm.py': the core algorithm (modified rate equations) and its integration with the adjacent elements (modes, overlap parameters, modulation signal, etc.)
  • 'VISTAS_gui.py': the GUI to manage the simulation and VCSEL parameters, the logic that handles the allowed combinations of parameters, and the data management for saving to/reading from files
  • 'VISTAS_modes.py': the self consistent LP modes solver for the VCSEL cavity
  • 'VISTAS_visualization.py': a series of visualization functions, called from the GUI
  • 'LICENSE': the MIT license
  • 'README.md': the VISTAS_py project description on GitHub

To run a simulation:

  1. make sure Python and the required packages (numpy, scipy, matplotlib, PySimpleGUI) are installed
  2. copy the files above in the same working directory
  3. run the script 'VISTAS_gui.py'

VISTAS_py v2.1 was tested on an Intel machine running windows 10 64 bit with:

  • Python 3.9.5
  • numpy 1.20.3
  • scipy 1.6.3
  • matplotlib 3.4.2
  • PySimpleGUI 4.43

Previous releases:

VISTAS_py v2.0 includes all the features of VISTAS_py v1.0, plus:

  • carrier transport across the barriers into the quantum wells (QWs)
  • updated Jacobian, now implemented both for both the static (scipy's fsolve) and dynamic (scipy's solve_ivp) solvers
  • new and renamed variables to improve readability
  • numerous smaller improvements

VISTAS_py v1.0 includes:

  • the basic 1D (no azimuthal dependency -> 'doughnut-shaped" modes) algorithm...
  • ... implemented in a fully vectorized manner with numpy arrays
  • a clean architecture with four clearly delimited scripts (1. core algorithm, 2. GUI, 3. modes solver, 4. visualization)
  • static (LI) solution using scipy’s built-in fsolve with analytical Jacobian
  • time-domain dynamic solution using either finite differences or scipy’s built-in solve_ivp
  • logarithmic gain model in the time domain (linear gain model across the cavity area)
  • a simple data model consisting of three dictionaries: 1. simulation parameters, 2. VCSEL parameters, and 3. simulation results
  • a GUI to manage the simulation parameters, the VCSEL parameters, the data management for writing to / reading from JSON files, and the logic that handles permitted combinations of parameters
  • basic visualization

VISTAS_py v2.0

27 Jun 19:40
cb673ef
Compare
Choose a tag to compare

VISTAS_py v2.0 is a major release as the core algorithm has been substantially reworked to account for carrier transport across the barriers into the quantum wells (QWs).

VISTAS_py v2.0 includes all the features of VISTAS_py v1.0, plus:

  • carrier transport across the barriers into the quantum wells (QWs)
  • updated Jacobian, now implemented both for both the static (scipy's fsolve) and dynamic (scipy's solve_ivp) solvers
  • new and renamed variables to improve readability
  • numerous smaller improvements

VISTAS_py v2.0 comes with the following files:

  • 'default_params.json': a working set of simulation and VCSEL parameters that is loaded when clicking the "initialize params" button (recovery option)
  • 'last_params.json': the last set of automatically saved parameters that is automatically loaded when launching the GUI
  • 'ttips.json': the help texts appearing when hovering over the GUI elements
  • 'VISTAS_algorithm.py': the core algorithm (modified rate equations) and its integration with the adjacent elements (modes, overlap parameters, modulation signal, etc.)
  • 'VISTAS_gui.py': the GUI to manage the simulation and VCSEL parameters, the logic that handles the allowed combinations of parameters, and the data management for saving to/reading from files
  • 'VISTAS_modes.py': the self consistent LP modes solver for the VCSEL cavity
  • 'VISTAS_visualization.py': a series of visualization functions, called from the GUI
  • 'LICENSE': the MIT license
  • 'README.md': the VISTAS_py project description on GitHub

To run a simulation:

  1. make sure Python and the required packages (numpy, scipy, matplotlib, PySimpleGUI) are installed
  2. copy the files above in the same working directory
  3. run the script 'VISTAS_gui.py'

VISTAS_py v2.0 was tested on an Intel machine running windows 10 64 bit with:

  • Python 3.9.5
  • numpy 1.20.3
  • scipy 1.6.3
  • matplotlib 3.4.2
  • PySimpleGUI 4.43

Previous release:

VISTAS_py v1.0 includes:

  • the basic 1D (no azimuthal dependency -> 'doughnut-shaped" modes) algorithm...
  • ... implemented in a fully vectorized manner with numpy arrays
  • a clean architecture with four clearly delimited scripts (1. core algorithm, 2. GUI, 3. modes solver, 4. visualization)
  • static (LI) solution using scipy’s built-in fsolve with analytical Jacobian
  • time-domain dynamic solution using either finite differences or scipy’s built-in solve_ivp
  • logarithmic gain model in the time domain (linear gain model across the cavity area)
  • a simple data model consisting of three dictionaries: 1. simulation parameters, 2. VCSEL parameters, and 3. simulation results
  • a GUI to manage the simulation parameters, the VCSEL parameters, the data management for writing to / reading from JSON files, and the logic that handles permitted combinations of parameters
  • basic visualization

VISTAS_py v1.0

15 Jun 21:50
Compare
Choose a tag to compare

VISTAS_py v1.0 includes:

  • the basic 1D (no azimuthal dependency -> 'doughnut-shaped" modes) algorithm...
  • ... implemented in a fully vectorized manner with numpy arrays
  • a clean architecture with four clearly delimited scripts (1. core algorithm, 2. GUI, 3. modes solver, 4. visualization)
  • static (LI) solution using scipy’s built-in fsolve with analytical Jacobian
  • time-domain dynamic solution using either finite differences or scipy’s built-in solve_ivp
  • logarithmic gain model in the time domain (linear gain model across the cavity area)
  • a simple data model consisting of three dictionaries: 1. simulation parameters, 2. VCSEL parameters, and 3. simulation results
  • a GUI to manage the simulation parameters, the VCSEL parameters, the data management for writing to / reading from JSON files, and the logic that handles permitted combinations of parameters
  • basic visualization

This release comes with the following files:

  • 'default_params.json': a working set of simulation and VCSEL parameters that is loaded when clicking the "initialize params" button (recovery option)
  • 'last_params.json': the last set of automatically saved parameters that is automatically loaded when launching the GUI
  • 'ttips.json': the help texts appearing when hovering over the GUI elements
  • 'VISTAS_algorithm.py': the core algorithm (modified rate equations) and its integration with the adjacent elements (modes, overlap parameters, modulation signal, etc.)
  • 'VISTAS_gui.py': the GUI to manage the simulation and VCSEL parameters, the logic that handles the allowed combinations of parameters, and the data management for saving to/reading from files
  • 'VISTAS_modes.py': the self consistent LP modes solver for the VCSEL cavity
  • 'VISTAS_visualization.py': a series of visualization functions, called from the GUI
  • 'LICENSE': the MIT license
  • 'README.md': the VISTAS_py project description on GitHub

To run a simulation:

  1. make sure Python and the required packages (numpy, scipy, matplotlib, PySimpleGUI) are installed
  2. copy the files above in the same working directory
  3. run the script 'VISTAS_gui.py'

VISTAS_py v1.0 was tested on an intel machine running windows 10 64 bit with:

  • Python 3.9.5
  • numpy 1.20.3
  • scipy 1.6.3
  • matplotlib 3.4.2
  • PySimpleGUI 4.43