Skip to main content

A Quantum Cascade Laser Design Tool

Project description

A software for Quantum Cascade Laser design and simulation

master: master Build Status dev: dev Build Status doc: Documentation Status

This is a Quantum Cascade Laser (QCL) modeling and design software produced at Princeton University, Gmachl group.

See https://erwinjr2.readthedocs.io/ for details.

Main Window Screenshot

In the following a simple installation guide is included. A more comprehensive documents can be found here

Installation

The software is based on Python (>=3.6) and uses setuptools for installation. The easiest way to install the software is via pip the Python package manager.

Fist to make sure you have the latest pip installed (depending on your environment, python maybe python3):

python -m pip install pip --upgrade

Than install ErwinJr2 by:

python -m pip install ErwinJr2

Now you can start the software via

ErwinJr

or if you want to, you can create a shortcut on the desktop via

ErwinJr-genshortcut

For reasonably new versions of Windows, MacOS with x86_64 CPU or Linux this should work out of box. For other platform the compiled library may not work, you may see C library is not compiled. Features are limited. warning if that happens. In that case, refer to The Documents for more detail about how to install it from source code and compile the library locally.

TODO list

  • OpenMP support
  • Add a linear algebra solver
  • ?NEGF solver
  • upload to pip
  • register to OS
  • remove unnecessary C lib
  • Add IFR scattering
  • Add impurity scattering (may be important for transport)
  • Add finite temperature (to improve population distribution)
  • Add gain spectrum
  • global optimizer for QCLayers
  • optimizer for optical stratum
  • save to excel (to growth sheet)
  • Test case improve:
    • LO and IFR scattering results
    • Consistency with and without C lib
    • Electron population check
  • Documents
    • make type hint consistent
  • GUI indication of running computation
  • EJcanvas.config to qt setting
  • plot style to global settings
  • Profile
  • Travis CI automatic testing
  • upload to pip as a library
  • ?coveralls.io
  • ?codacy
  • ?CFFI or SWIG
  • Provide binary

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

erwinjr2-2.2.5.tar.gz (454.6 kB view hashes)

Uploaded Source

Built Distributions

ErwinJr2-2.2.5-cp312-cp312-win_amd64.whl (581.2 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

ErwinJr2-2.2.5-cp312-cp312-musllinux_1_2_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

ErwinJr2-2.2.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

ErwinJr2-2.2.5-cp312-cp312-macosx_11_0_arm64.whl (580.5 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

ErwinJr2-2.2.5-cp312-cp312-macosx_10_9_x86_64.whl (591.3 kB view hashes)

Uploaded CPython 3.12 macOS 10.9+ x86-64

ErwinJr2-2.2.5-cp311-cp311-win_amd64.whl (581.6 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

ErwinJr2-2.2.5-cp311-cp311-musllinux_1_2_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

ErwinJr2-2.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

ErwinJr2-2.2.5-cp311-cp311-macosx_11_0_arm64.whl (579.7 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

ErwinJr2-2.2.5-cp311-cp311-macosx_10_9_x86_64.whl (590.0 kB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

ErwinJr2-2.2.5-cp310-cp310-win_amd64.whl (581.6 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

ErwinJr2-2.2.5-cp310-cp310-musllinux_1_2_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

ErwinJr2-2.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

ErwinJr2-2.2.5-cp310-cp310-macosx_11_0_arm64.whl (579.5 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

ErwinJr2-2.2.5-cp310-cp310-macosx_10_9_x86_64.whl (589.9 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

ErwinJr2-2.2.5-cp39-cp39-win_amd64.whl (582.1 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

ErwinJr2-2.2.5-cp39-cp39-musllinux_1_2_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

ErwinJr2-2.2.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

ErwinJr2-2.2.5-cp39-cp39-macosx_11_0_arm64.whl (580.2 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

ErwinJr2-2.2.5-cp39-cp39-macosx_10_9_x86_64.whl (590.5 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page