Simulation software with humble beginnings receives $1.7 million from NSF

math software simulation
Flow field for a fluid that flows easily in the bottom layer but has a more viscous, nonlinear viscoplastic behavior in the top two-thirds of the  region. This material exhibits starkly changing behavior in the hyperbolic arc. (Computation with the ASPECT code by Menno Fraters, University of Utrecht; visualization by Wolfgang Bangerth, Colorado State University.)

In 1998, Wolfgang Bangerth was a master’s student in Germany who needed to solve a math problem. He wrote a few lines of software code that helped him solve the problem (and get his thesis written).

Then a couple of colleagues joined him, and “in 2000, there was this new thing called the Internet, so we put the software on the Web … it’s been quite the ride since then,” said Bangerth, now a professor in the Department of Mathematics at Colorado State University.

Earlier this year, Bangerth and collaborator Timo Heister of the University of Utah received $1.7 million in National Science Foundation support to continue development of their open-source software library, called deal.II. The software has a worldwide community of users, and is now on version 9.0. Bangerth and Heister previously received NSF funding for the project from 2011 through 2017, during which they grew the user base, provided trainings and updates, and taught workshops all over the world. 

Custom-built simulations

deal.II is a toolbox that provides the mathematical pieces for building custom simulations. For example, if someone wanted to simulate how air flows over the wing of an airplane, deal.II subdivides the volume of flowing air into uniform boxes called cells. A collection of cells is called a mesh. The software contains algorithms and data structures to manage these cells and meshes. deal.II works with datasets from small simulations on a personal laptop all the way to large simulations with billions of cells, performed on supercomputers with hundreds of thousands of processing cores.

Simulating real-life processes on a computer to solve a math or engineering problem is not in itself new. The aerospace industry, for example, has been simulating aircraft since the 1960s, and using simulation software is part of any engineering curriculum. What sets deal.II apart is its core utility as a research tool, providing flexibility for niche applications for which commercial software doesn’t exist. And its code is open source and supported by an enthusiastic community of coders, most of whom are volunteers.

Bangerth also writes a second software package called ASPECT, which is built on deal.II. ASPECT simulates how the Earth’s mantle, located below the crust, moves like a fluid over millions of years.

math software simulation
Simulation of a simplified model of convection in the Earth’s mantle, the region between the metallic Earth core and the solid crust. Hot material rises up in complex plumes, as cold material wells down. This computation required 1,200 processors on a supercomputer for more than two weeks.(Computation and visualization with the ASPECT code by Wolfgang Bangerth, Colorado State University.)

From statues to plant roots

deal.II has helped researchers and students all over the world, in every imaginable field. One researcher used it to study how statues in Rome decay due to air pollution. Others have used it to track the growth of plant roots. So far, more than 1,100 scientific publications have resulted from using deal.II, and the number keeps growing by about one every other day.

“It’s really super fun to see that,” Bangerth said. “I would say that in the vast majority of cases, I don’t understand much about the field of a publication that uses our software.”

The new NSF funding will support a postdoctoral researcher and a graduate student to continue improving the software, including scaling foundational features to make the entire package more self-sustaining. It will also allow Bangerth and others to expand documentation and training modules; to continue integrating and packaging infrastructure to better support pace of development; and to support the thriving user community through workshops, hackathons, and mentoring of newcomers.