Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

A Flexible Tool for QCL/QCD Opitmization

Project description

aftershoq

A Flexible Tool for Em-Radiation-emitting Semiconductor Heterostructure Optimization using Quantum models

This Tool aims to aid in the simulation of quantum cascade structures (such as QC lasers, detectors, or QWIPs) using a variety of different simulation models. It also contains routines for optimization of such structures. It contains a libraty of common materials and structures used in the Litterature, and provides a framework for simulations. It does not contain any simualation code, this has to be provided by the users themselves (for now). The respective simulation code can be linked to [aftershoq] by the implementation of a subclass to Interface, which writes input files, executes the model, computes the merit function, and gathers the results data.

This is a program written for Python 3.6. You need to have Python 3 installed to use and modify this software to your needs. The current implentation also uses numpy, scipy, matplotlib, and lxml for some features.

Installation

When cloning, use the --recursive option:

git clone --recursive https://github.com/mfranckie/aftershoq.git

(or

git clone --recurse-submodules https://github.com/mfranckie/aftershoq.git

depending on your git version) so that the project "hilbert_curve" appears in the base directory of aftershoq. To install aftershoq and all its dependencies, execute

python setup.py install

from the aftershoq/ directory. To install on a system without root privileges, run

python setyp.py install --user

insead.

Tutorials

For a demonstration, see the Jupyter notebooks located in examples/notebooks. To install Jupyter, run

python -m pip install jupyter

then run with

jupyter notebook

Materials_guide.ipynb Shows how to create materials and alloys with varying composition and strain.

QCL_guide.ipynb Shows how to generate structures from scratch, how to load them from the library and how to generate them automatically.

Opt_guide.ipynb Shows how to setup and run an optimization with Gaussian Processs (GP) regression for a test function and for a real QCL (requires ownership of a separate QCL simulation model).

If you don't want to/can't use jupyter, the following examples have a similar content:

  1. "QCLexample.py" (Requires a supported simulation program)
  2. "example_sewself.py" (Requires the sewself program)
  3. "example_sewlab.py" (Requires sewlab version 4.6.4 or later)
  4. "test_optim.py" (No requirements, this is a test of the optimization scheme)

Good luck!

Project details


Download files

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

Files for aftershoq, version 1.0
Filename, size File type Python version Upload date Hashes
Filename, size aftershoq-1.0-py3-none-any.whl (114.7 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size aftershoq-1.0.tar.gz (87.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page