Berkeley Lab Powers Worldwide Materials Research with Dash and Python
Industry
Energy & Utilities
Summary
- Written with Dash in Python, the Materials Project website gives over 200,000 registered users access to the supercomputing, software, and data resources to discover new materials for a wide range of applications, including clean energy.
- Interactive Dash apps and components written by and for materials scientists enable the exploration and analysis of nearly 150,000 inorganic materials and their associated properties.
- With over 5,000 research citations, the project promotes connectivity between researchers in areas such as carbon capture, better battery technology, and energy-efficient cooling and heating.
Introduction
Lawrence Berkeley National Laboratory (Berkeley Lab) is managed by the University of California for the U.S. Department of Energy’s Office of Science. Scientists and developers from multiple divisions at Berkeley Lab have built a core infrastructure to support worldwide collaboration on a suite of open-source tools that are accelerating materials science research around the world.
Challenge
Inventing innovative materials to address the world’s energy challenges is incredibly time-insensitive and costly. Solar cells, batteries, and lasers are some of the key technologies that utilize special crystalline materials. Identifying and making new crystalline materials in a lab setting is excruciatingly long. As an example, gallium nitride, the material used in LED lighting, is the product of several decades of research before commercialization was possible! Calculating even the basic properties of these materials requires extensive quantum physics calculations; without resources like a supercomputer, the right software, and broad access to data, progress is slow.
Solution
The Materials Project brings the required resources together in a single, free, open-source platform, where researchers who might not have access to all the necessities can benefit from pre-computed data. Over the last decade, a large, multi-institution collaboration of scientists and researchers across the world coalesced into the project as it stands today, where over 200,000 registered users have access to applications for exploring and analyzing nearly 150,000 different inorganic materials.
The core infrastructure staff consists of four individuals who administer the project’s website, API, and database infrastructure while also creating new tools for hundreds of thousands of users — no easy task. The small team leveraged the power of Python and Dash as an efficient and accessible way to tackle the work.
The project website itself is a Dash application written in Python. This approach eliminated the need for a full-stack web development team and capitalized on the Python skill sets of the team’s materials science researchers. A previous version of the website had been built with the Django framework, but with only a single web developer on the team, adding new front end features was slow. Switching to the Dash framework enabled the entire team to contribute to the website using Python and set the stage for end users to contribute their own applications as well.
The Materials Explorer is one of over a dozen interactive Dash apps available for use by the global materials science community via the Materials Project website.
Results
Fourteen applications for data exploration and analysis are available on the project website. Furthermore, the project team also open-sourced their own library of Dash components, giving researchers the ability to more easily create their own applications using analytics and user interface components specific to the domain of materials science.
The team has also used Dash to develop a user contribution framework for the website, enabling scientists around the world to upload their own data on new crystal structures they have discovered; an automated Python pipeline performs the requisite quantum physics calculations, identifies and corrects errors, and exports the data to a database that all users can freely download to further their own research.
Running 100 million CPU hours each year, the project has helped the global research community screen through nearly 150,000 fundamental new materials and nearly 25,000 molecules for use in technologies such as new batteries.
Because Dash is a Python framework, the Materials Project benefits from leveraging the broader Python ecosystem in its tooling. This reduces the time costs of innovation and connects materials science domain experts more directly with tool development and data sharing. Since its creation, peer-reviewed publications associated with the project have been cited in research over 19,000 times and have helped foster collaborations across the public and private sectors. Applications in areas including carbon capture, better battery technology, and energy-efficient cooling and heating suggest an optimistic role for open-source science in addressing climate change and its impacts.
About Plotly
Plotly is a software company whose mission is to enable every company, around the world, to build data apps. Our product, Dash Enterprise, is a platform of best-in-class development tools to quickly and easily visualize data in Python from virtually any data source. With customers across the Fortune 500, Plotly is a category-defining leader in enabling data-driven decisions from advanced analytics, machine learning, and artificial intelligence. For more information, visit https://plotly.com.