Simulating Atomic Force Microscope Imagery
Summer 2020 (ongoing). Using Python, MATLAB, COMSOL Multiphysics, FEMM, and private finite-element modelling software
In the Grutter lab at McGill University, we focus on single-electron charging of quantum dots (QD), which are nano-structures engineered to have discrete energy levels. These are super interesting because their behaviour, while atomic-like, is much easier to study since they are so much bigger than an atom. Namely, we use an atomic force microscope to study the charging rings of the QD, caused by single electron tunnelling.
Unfortunately, AFM imagery is notoriously finicky and tough to interpret due to its sensitivity to ambient electrostatic noise. Often times, a human eye is required to distinguish interesting sample activity from the noise. To solve this problem, I am going to train a neural network (NN) in image recognition to pick out the interesting behaviour itself. Not only could this help us catch details in the imagery we would otherwise miss, but if successfully incorporated into the AFM software, it could reduce the need for large, expensive images. To train the NN, I have designed and tested a variety of different finite-element models of the AFM tip-sample interaction.
I am currently building a Python code to use these models' results in order to simulate AFM imagery of a quantum dot's charging rings, which I will use as training data. This code relies on 3 main modules: determining ring radius with model's results, determining ring width with the physics of the AFM tip, and determining the amplitude of frequency shift in the tip by calculating electromotive forces.