Litcius/Paper detail

Microstructure Characterization and Reconstruction in Python: MCRpy

Paul Seibert, Alexander Raßloff, Karl A. Kalina, Marreddy Ambati, Markus Kästner

2022Integrating materials and manufacturing innovation48 citationsDOIOpen Access PDF

Abstract

Abstract Microstructure characterization and reconstruction (MCR) is an important prerequisite for empowering and accelerating integrated computational materials engineering. Much progress has been made in MCR recently; however, in the absence of a flexible software platform it is difficult to use ideas from other researchers and to develop them further. To address this issue, this work presents MCRpy as an easy-to-use, extensible and flexible open-source MCR software platform. MCRpy can be used as a program with graphical user interface, as a command line tool and as a Python library. The central idea is that microstructure reconstruction is formulated as a modular and extensible optimization problem. In this way, arbitrary descriptors can be used for characterization and arbitrary loss functions combining arbitrary descriptors can be minimized using arbitrary optimizers for reconstructing random heterogeneous media. With stochastic optimizers, this leads to variations of the well-known Yeong–Torquato algorithm. Furthermore, MCRpy features automatic differentiation, enabling the utilization of gradient-based optimizers. In this work, after a brief introduction to the underlying concepts, the capabilities of MCRpy are demonstrated by exemplarily applying it to typical MCR tasks. Finally, it is shown how to extend MCRpy by defining a new microstructure descriptor and readily using it for reconstruction without additional implementation effort.

Topics & Concepts

Python (programming language)Modular designComputer scienceExtensibilityGraphical user interfaceSoftwareCharacterization (materials science)Computational scienceSoftware frameworkInterface (matter)Programming languageTheoretical computer scienceSoftware developmentComponent-based software engineeringParallel computingMaximum bubble pressure methodMaterials scienceNanotechnologyBubbleMachine Learning in Materials ScienceElectron and X-Ray Spectroscopy TechniquesX-ray Diffraction in Crystallography
Microstructure Characterization and Reconstruction in Python: MCRpy | Litcius