Have a look around our new website for the discovery and sharing of research data and let us know what you think. See How to Submit for instructions on how to publish your research data and code.
This item contains two files. A multi-layer perceptron (MLP) neural network is built using the MATLAB Deep Network Designer (.m file). It imports a quantum cascade laser (QCL) dataset and splits it into 70% training, 15% validation, and 15% testing subsets. The network consists of an input layer, three hidden layers (each having a normalization and activation layer), and a regression output layer. All of the layers are fully connected, and the root-mean-square error (RMSE) is used to evaluate the accuracy of the network. An algorithm is trained on the [-2, +3] QCL dataset using 50 neurons, ReLU activation function, solver Adam, 0.001 learning rate, over 150 epochs, and is saved to be used in the prediction of figure of merit values for QCL designs (.mat file).
A 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.