
Project Ruby
During the spring semester of 2020, I undertook an independent study project with Professor Krebs of the Franklin & Marshall Physics & Astronomy department. Professor Krebs was investigating the growth of ruby crystals doped with cation impurities and the alterations to the crystals' properties that their distribution would cause. I was tasked with coding a program in Python that would simulate the growth of such ruby crystals, dope them with impurities, and then analyze the distribution of those impurities.
​
At the time, I had limited coding experience and so I learned to solve this problem independently. I researched, familiarized myself with, and applied the Monte Carlo method in my program to mimic the way crystals were grown and doped in professor Krebs's lab. After incorporating a simple loop to grow multiple crystals, I then wrote code to complete all the analyses of the impurity distributions within the crystals and return data clearly with uncertainties.
​
The last steps involved modulating and optimizing each segment of the program so that it may be used in future projects without the need for rewriting or updating. This program has continued to see use in later semesters by other research students, and faculty, and will be a feature in a published paper in the Journal of Luminescence.

Skills learned/improved by the end of the project:
​
-
Object Orientated Programming
-
Coding simulations using the Monte Carlo method
-
Python programming language
-
MATLAB programming language
-
Program modulation
-
Program documentation
-
Data optimization and analysis