Database for design of solar cell active layer through genetic algorithm
Microstructure design is a crucial part of developing organic solar cells. Organic solar cells have the potential to become ubiquitous amongst power generation due to their inexpensiveness and ease of fabrication. Although achievements in the chemical properties of the solar cells have been achieved in recent years, a lack of progress in morphology has greatly inhibited organic solar cell adoption. In this, it is illustrated how high-performance microstructures can be developed rapidly via a graph-based strategy. This is in stark contrast to the trial-and-error methods currently employed for organic solar cell microstructure optimization. Treating the microstructure of a material system as graphs allows modular and extensible models that are simple to query and evaluate. The graph surrogate model quickly maps the microstructures properties and integrates well with optimization algorithms while elegantly integrating prior domain knowledge into the microstructure design process. This use of graph-based modeling and probabilistic optimization results in a microstructure design with a 40.29% higher efficiency than conventional solar designs. Fractal analysis was also used to further prove the validity of the designed morphologies. This was accomplished through analyzing models analogous to the function of the solar cell and comparing their similarity with the designed fractal structure. To conclude, graph-based probabilistic optimization led to the identification of a class of microstructures that feature significantly higher efficiencies than currently leading solar cells. It is anticipated that coupling this method with fractal analysis techniques will be widespread for use in optimizing material morphologies. The following dataset includes all code used in microstructure design and fractal analysis, specifically: the creation of a weighted, undirected graph representing the microstructure configuration of chemicals in the solar cell; the approximation of solar cell efficiency through graph-based querying; the optimization of the system through a probabilistic genetic algorithm; and fractal dimension calculator.
Steps to reproduce
The following code requires MATLAB version MATLAB_R2018a or greater. To create a solar cell microstructure, run main.m. This will output an m-by-n matrix probability distribution of the two microstructure phases (donor and acceptor) and an image of the final microstructure. The parameters of the main function include: R, the length and width of the solar cell; Gen, the number of time steps of evolution to execute; Pop, the number of sample microstructures to be produced each generation; and Search, the amount to 'mutate' each generated microstructure per generation.