ICAMS / Interdisciplinary Centre for Advanced Materials Simulation

PyMob – Python Automated Atomic Mobility Assessment

PyMob is an open source software library for assessment of the atomic mobility parameters for CALPHAD-type Kinetic Databases using the raw data which are the experimental tracer diffusion coefficients.

The software contains the completely automated assessment procedure. This framework handles the storage and weighting of raw data, model selection, assessment of model parameters, storage of assessed parameters and reassessment procedures. This is first general software for the mobility parameters assessment which contains the modified Cross-Validation approach for weighting of data and the parameter selection method by AICc (Akaike Information Criteria).

The software written in Python (version 3.7) handles end-member assessments and the fitting of binary and ternary interaction terms. In the CALPHAD-type Kinetic Database due to the pyramidal structure, the binary interaction terms depend on the end-member results and the ternary interaction terms on the end-member and on the binary interaction terms. These three assessment stages are encapsulated and treated independently in the subsequent order. All stages contain the fitting procedure and parameters selection. Cross-Validation approach is applied for end-member parameters.

For every subsystem on the given stage, the following steps are executed: 1) check if the assessment result exists, 2) if yes, the assessment is not repeated and the next subsystem is chosen. If the result has not been already stored, the available raw data are collected, the assessment is conducted and the new results are stored and then the next subsystem is chosen for the assessment. Raw data, tracer diffusivities and Arrhenius parameters are tested against duplication and reasonability, and then they are stored in a SQL (Structured Query Language) database. This handling additionally ensures that data are reusable in prospective assessments and it preserves resources, since the raw data do not have to be entered again, which also decreases the error rate.

The assessment results are also stored in SQL databases. This allows encapsulation of each assessment stage and fast accessing, e.g., to check if the results exist already and thus an assessment is not necessary for a given subsystem or to construct a ddb-file for further applications.

A quick introduction on how to compile and use the PyMob is given in the USER_MANUAL file.


Julia Kundin


Download the most recent version:
PyMob.V2.0 (ZIP file)


  • Katrin Abrahams
  • Julia Kundin
  • Ahmadreza Riyahi Khorasgani