Perturbo calculates at a quantum level how electrons interact and move within a material, providing useful microscopic details about so-called electron dynamics. This kind of simulation allows researchers to predict how well something like a metal or semiconductor will conduct electricity at a given temperature, or how the electrons in a material will respond to light, for example. The software now has roughly 250 active users, says Marco Bernardi, assistant professor of applied physics and materials science. Perturbo was developed by Bernardi's lab, in a team effort led by Bernardi and Jin-Jian Zhou, a former postdoctoral scholar who is now an assistant professor at the Beijing Institute of Technology.
Perturbo can model how electrons moving through a material interact with the atoms that make up the material. As the electrons flow through, they collide with these atoms, which are always vibrating. The way those collisions occur and how often they occur determine the electrical properties of a material. The same interactions also govern the behavior of materials excited with light, for example in a solar cell or in ultrafast spectroscopy experiments. The latter investigate the movement of electrons and atoms on very short timescales (down to a millionth billionth of a second, a femtosecond), and Perturbo provides new computational tools to interpret these advanced experiments.
"Typically, the main mechanism that limits the transport of electrons is atomic movement, or so-called phonons," Bernardi says. "Being able to calculate these electron–phonon interactions makes these studies of transport and ultrafast dynamics possible, accurate, and efficient. One could investigate the microscopic physics of a large number of compounds with this method and use that information to engineer better materials."
Bernardi says Perturbo represents a big advancement in the field, which has in the past mostly relied on simple models based on real-world experiments.
"In the 1980s, papers studying electrical transport in even simple semiconductors contained tables with tens of parameters to describe electron interactions. The field since then has not really evolved that much," he says.
The first version of Perturbo was released a little over a year ago, and it has steadily gained users since then. Two virtual workshops held by Bernardi's group last fall have trained hundreds of new users of Perturbo, including some from research groups at Caltech, Bernardi says.
Perturbo was designed to run on modern supercomputers, Bernardi says, and in a paper published this month in the journal Computer Physics Communications, the Perturbo research team demonstrates that it is able to run efficiently on a computer with thousands of processing cores. It has also been designed to fully take advantage of the next generation of large computers, the so-called exascale supercomputers.
"Over the next decade, we will continue to expand the capabilities of our code, and make it the go-to for first-principles calculations of electron dynamics," Bernardi says. "We are extremely ambitious for what we have in mind for this code. It can currently investigate both transport processes and ultrafast dynamics, but in the future the code capabilities and the type of problems we can address will continue to grow."
The paper describing Perturbo, titled, "Perturbo: A software package for ab initio electron–phonon interactions, charge transport and ultrafast dynamics," appears in Computer Physics Communications. Jin-Jian Zhou is the first author. Co-authors are Jinsoo Park (MS '20), graduate student in applied physics; former graduate student and current postdoctoral scholar I-Te Lu (PhD '20); Ivan Maliyov, postdoctoral scholar in applied physics and materials science working in the Liquid Sunlight Alliance (LiSA) hub at Caltech (LiSA is the successor to the Joint Center for Artificial Photosynthesis); Xiao Tong, graduate student in materials science; and Marco Bernardi.