As a part of Vlassak Group’s research on new metal alloys, I created a computational model for magnetron sputtering systems in Python. This model is used to predict the composition of alloys created through sputtering of different metals on a silicon wafer (“substrate”).
Before this model, the lab members had to individually (at each point) measure atomic composition with a scanning electron microscope. With this model, we can simulate compositions with average deviation of 2 to 4%.
This enables researchers to determine experimental parameters to generate a desired range of alloys. It also enables rapid analysis of alloy properties without time-consuming measurements.
My first model divided the “target” (where the sputtering originates) into discrete points, calculated the emission from each point, checked if the geometry permitted deposition, and thus calculated how much metal would arrive at the substrate (where the alloys are formed).
However, accurate simulation of the target required large number of simulated points, and checking the geometric condition for each simulated point proved to be computationally intensive. The code would take approximately an hour to run for a single experiment at a low (10x10) resolution.
At this point, I learned that a Python script only used a single thread at a time. I used the multiprocessing package to parallelize my independent calculations. The resulting model had computation speeds that scaled linearly with the number of cores. I used Harvard’s scientific research cluster to run my code on 64-core systems to maximize model resolution. With this hardware, each simulation took less than 10 minutes at 50x50 resolution.
For the 4th iteration, I removed the speed bottleneck of geometric condition checking (“shadowing condition”) by modeling the geometric condition with points in 3-D space. This method was justified by physics of sputtering and was 2 orders of magnitude faster than parallelized previous model on a consumer-grade processor. I also made changes to simulate interactions for simultaneous sputtering of several metals.
Furthermore, I devised an experiment to characterize target erosion due to sputtering without harming the expensive metal targets used for sputtering. This involved taking a negative mold of the target with clay, then slicing the clay and representing its radial profile as an probability distribution function.
To test my model, I used our lab’s sputtering system and Harvard Center for Nanoscale’s scanning electron microscope and 4-point probe devices to compare experimental and simulated results. The result is a model (5th and current iteration as of December 2021) where researchers can vary magnetron target metals, magnetron angles, powers, substrate distance, and chamber pressure and obtain expected thin film composition within minutes. The model also outputs a ‘composition space map’ which depicts which alloy compositions will be present in the final film. Below are sample plots comparing empirical and simulated results.
The research report can be viewed here.