The printed pattern on the wafer suffers from aberration, diffraction and interference effects when light travels through lenses and apertures. OPC (optical proximity correction) modifies the mask to achieve the desired pattern on the wafer.
In the toy example shown here, I use "genetic algorithm" to search for a mask which will result in a printed serif "I" pattern: in each iteration, randomly mutated offsprings of the previous winners are tested and the best performers are chosen for the next round. An acceptable mask is approached after 12 iterations.
In this project (my Master's thesis, published on PRB), the dynamics of nuclear spin polarization in bilayer Quantum Hall system is simulated using C++ on Linux: Spin polarization is "pumped" in the Front layer and diffuses to the Back layer. Fitted results from the simulation are consistent with experimental data.
The field switching of magnetoresistive memory (MRAM) is simulated with Python and OOMMF: How the individual spins and collective magnetization of the free layer of MRAM switch under the bias magnetic field.
 This simulation was used to understand the impact of the device shape and orange-peel coupling between the two layers on the switching dynamics of the device.
Superconducting wires cannot have abrupt turns and corners to avoid current-crowding issue (current density in those areas becomes too high and destroys the superconductivity). It would be ideal if superconducing wires conform to the electrical field lines.
The curvy layout of the circuit shown in the picture was drawn programmatically using Python, following the analytical equations of electrical field lines. The circuit was successfully fabricated and tested. The results are published on Scientific Reports.