Ferroelectric crystals are super cool. Wikipedia describes Ferroelectricity as a characteristic of materials that "have a spontaneous electric polarization that can be reversed by the application of an external electric field." The response of a ferroelectric polycrystal is unique since it is not only non-linear but also dependent on its history, creating a hysterisis loop in the polarization response (as seen in the image on the right). This hysterisis effect can be used as memory, and ferroelectrics are being investigated in a broad range of applications from ultrasound to diesel engine fuel injectors to computer memory.
This project started as my capstone for senior year at NYU Shanghai, where I worked with Carson Nemelka, Olivier Marin, and Romain Corcolle to distribute a simulation of a Ferroelectric Polycrystal. Professor Corcolle built a matlab simulation of a model for ferroelectric crystal behavior and was interested in improving its performance. I ported the simulation to both Python and Scala and distributed with Apache Spark. The project began as an attempt to improve one simulation's performance, and grew into a broader investigation of scala as a language for scientific computation. If you want a detailed description of the project you can read more here. We hope to publish our results sometime this year.
Hysterisis response image courtesy of wikipedia page for ferroelectricity