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:
- "QCLexample.py" (Requires a supported simulation program)
- "example_sewself.py" (Requires the sewself program)
- "example_sewlab.py" (Requires sewlab version 4.6.4 or later)
- "test_optim.py" (No requirements, this is a test of the optimization scheme)
Good luck!
Release files for aftershoq 1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aftershoq-1.0.tar.gz | 87.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aftershoq-1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 202.5 kB
Release files / aftershoq-1.0.tar.gz
| Download URL | aftershoq-1.0.tar.gz |
|---|---|
| Size | 87.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
05212017d37fb44d0b5fa0dfb1d3919322639612467e5c8d5409e64f96f6ec46
|
|
BLAKE2b-256 checksum How to use checksums |
9246d4a0266a558908efd1c768f24db587b6c0bbd2265c0f379e723caabbf8cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3
|
Release files / aftershoq-1.0-py3-none-any.whl
| Download URL | aftershoq-1.0-py3-none-any.whl |
|---|---|
| Size | 114.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
af67f1b0e9c21cf496bebedfadc01f7ca5ad7882f17f415e8f170457bb84c11b
|
|
BLAKE2b-256 checksum How to use checksums |
2bfc5295193f8836766c8a864a8b4497eb7c04ee925ea5b01156ea11f102f858
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3
|