Microstructure Characterization and Reconstruction in Python: MCRpy

Research output: Contribution to journalResearch articleContributedpeer-review

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.

Details

Original languageEnglish
Pages (from-to)450-466
Number of pages17
JournalIntegrating materials and manufacturing innovation
Volume11
Issue number3
Publication statusPublished - Sep 2022
Peer-reviewedYes

External IDs

Scopus 85138026719
Mendeley b217ff8d-4d5a-325b-8caa-6c50c6ea57e0
WOS 000854052500001

Keywords

Keywords

  • Characterization, ICME, Reconstruction, Descriptor, Software, Microstructure