The software ErwinJr2 is publicly available at:
https://github.com/ErwinJr2/ErwinJr2
Details on using the laser transition code to build QCL datasets to be used in machine learning can be found in:
A. C. Hernandez and C. F. Gmachl, “Application of Machine Learning to Quantum Cascade Laser Design,” in 2023 57th Annual Conference on Information Sciences and Systems, CISS 2023, 2023. doi: 10.1109/CISS56502.2023.10089756.
More details on building QCL datasets can be found:
A. C. Hernandez, M. Lyu and C. F. Gmachl, "Generating Quantum Cascade Laser Datasets for Applications in Machine Learning," 2022 IEEE Photonics Society Summer Topicals Meeting Series (SUM), 2022, pp. 1-2, doi: 10.1109/SUM53465.2022.9858281
An example of a QCL dataset is found:
Andres Correa, H., Gmachl, C. F., & Lyu, M. (2023). QCL Dataset, 10 Layer Structure, Tolerance [-2, +3] A, Electric Field [0,10,150] kV/cm [Data set]. Princeton University. https://doi.org/10.34770/R7NR-EE50A code to identify the laser transition for a quantum cascade laser design based on the figure of merit. Variables such as the number of layers, and layer thicknesses, as well the applied electric field, materials composition, number of period repetitions, and layer tolerance ranges to generate random designs are specified. A folder containing a .csv file with all electronic state-pair transitions collected, a .png file of the bandstructure and the laser transition chosen (in red), for all electric field iterations, and a summary .csv file of all these laser transitions for a structure at each electric field is generated by the code. To use, first install ErwinJr2 on your computer. Then locate the "ErwinJr2" folder and copy these 6 files into that directory, overwriting the previous five files (Material.py, QCLayers.py, QCPlotter.py, QuantumTab.py, rFittings.py). Lastly, run the "acej-qcl-layer_10-lwrandom-v23.py" script using Python.
The "summary-fomstar-3lu-eVmiddle-19.csv" file is generated after running the laser transition code, with all of the data collected for one structure at many electric fields. Running the script various times will generate random structures with the same electric field range. Joining these "summary" .csv files makes a QCL dataset.acej-qcl-layer_10-lwrandom-v23.py, Material.py, QCLayers.py, QCPlotter.py, QuantumTab.py, rFittings.p