Home » CANARIE Blog » Accelerating Discoveries in Materials Science through Software


Accelerating Discoveries in Materials Science through Software

on October 4, 2016

Posted by: Scott Henwood, Director, Research Software

In previous blog posts, I’ve described some of the cutting edge research software developed under CANARIE’s Research Software program. CANARIE is not the only organization funding research software in Canada, and in order to foster collaboration and re-use, it is important to highlight all Canadian-developed research software. With that in mind, this blog post will turn the spotlight on OpenPNM, a materials science package developed by Dr. Jeff Gostick and his team at McGill University.

Materials: Fundamental Scienceshutterstock_364214297

Materials science is not usually at the forefront of science reporting in media, which is unfortunate because it underpins much of the technology that we make use of every day. What exactly is your smartphone screen made of that it can withstand a drop of more than a metre (usually!)? Why isn’t the Confederation Bridge between Prince Edward Island and New Brunswick ground to dust by winter sea ice?

Understanding materials is so fundamental to science that researchers in many fields also do research into materials. Physicists may study the conductive, optical and magnetic properties of materials in order to advance the fields of electronics and communications. Chemists may study polymers in order to improve plastics and create new synthetic materials. Even biologists may work with biomaterials as they strive to find new ways to repair or replace damaged bodily tissues.

What do fuel cells, time-release capsules, toxic waste cleanups and concrete have in common?

They all rely on a branch of materials science called Pore Network Modelling (PNM). OpenPNM supports PNM research, which is the study of the flow of fluid through a porous material. Although that may sound rather esoteric, the world is full of porous materials and understanding how these materials behave and how to improve them has a significant impact on our day-to-day lives.

As an example, fuel cells convert hydrogen and oxygen to electricity and represent a ‘drop-in’ replacement for the internal combustion engine in cars. A class of fuel cells known as polymer electrolyte membrane fuel cells rely on the transport of hydrogen ion gas through porous electrodes. The cell must retain enough water to prevent it from overheating under high temperature operations but not so much that the water interferes with the gas transport. Simulation of the electrodes with a tool like OpenPNM allows researchers to design more efficient fuel cells without the need for time-consuming and complex experimentation.

Applications of PNM are by no means limited to fuel cells. The need to understand how fluids flow through other materials is surprisingly important to a wide range of modern technologies. In time-release pharmaceuticals, a capsule or casing must be designed to release its contents at the prescribed rate. Understanding how liquids flow through specific soil types can help first responders effectively contain a toxic waste spill. In construction, understanding how wood dries allows manufacturers to make lumber quickly and efficiently. Once a structure has been built, its longevity will depend on how water permeates porous construction materials like brick and concrete. Research into the effect of the environment on building components enables engineers to develop and test longer-lasting materials.

Accelerating PNM discoveries through software

OpenPNM supports research in all of these fields. Rather than doing everything a researcher needs in their research workflow, OpenPNM is what’s known as a software framework. It provides useful PNM-specific functions that users can integrate into their own simulations. Users tie these functions together in a way that supports their research.

To make it as accessible as possible to other researchers, the creators of OpenPNM have chosen to write it in Python, a computer language that is often used for engineering computation, is freely available, and runs on a variety of operating systems. Like a lot of research software, the source code for OpenPNM is available to everyone under an open source license so that others may add functionality as new research methodologies are developed.

It has joined the collection of reusable software tools available through CANARIE’s Research Software registry.

It’s world-class science, done right here in Canada.

For more information: