Skip to content

Latest commit

 

History

History
46 lines (28 loc) · 2.54 KB

README.md

File metadata and controls

46 lines (28 loc) · 2.54 KB

pyiron_dpd - Tools for Defect Phase Diagrams

This repository contains tools and workflows to automatically calculate Defect Phase Diagrams (DPDs) for arbitrary crystalline defects in binary systems.

DPDs show which ordered phase is the most stable segregation pattern at a defect given a certain thermodynamic state variables. This implementation supports DPDs in $\Delta\mu$ and $\Delta\mu-T$ space. Here we understand $\Delta\mu = \mu_2 - \mu_1$ as the difference in the chemical potential of both binary species, i.e. we work in the semi-grandcanonical ensemble.

The two major workflows are SegregationFlow and IterativeSegregation. Examples are given in the notebooks folder. The former exhaustively enumerates all possible segregation patterns up to a configurable number of solutes. The latter has added methods to screen a large number of segregation patterns with an on-the-fly fitted proxy model before deciding which patterns are worth explicitely calculating. Both approaches reduce the number of calculations necessary by taking symmetry into account.

License

The software is provided here for reference only with all rights reserved. You may not copy it without permission. If you are interested in using this code or expanding it, please contact us first. We will likely open source this in the future.

Installation

Manual installations: 1. the latest HEAD of python-ace (the PyPI version is not sufficient) 2. a lammps binary, either your own or via conda -c conda-forge lammps

All other dependencies can be installed by

pip install .

from the repository root or with the conda environment in .ci_support/environment.yml.

Example DPDs

Below are the DPDs generated by the example notebooks for a grain boundary and a vacancy in fcc Cu decorated with Ag.

Cu/Ag $\Sigma 5$ [001] GB

CuAg_GB_DPD CuAg_GB_DPD_T

Cu/Ag Vacancy in Cu host

CuAg_V_DPD CuAg_V_DPD_T

Caveat

This repository also contains prototypes of various workflow ideas and utility functions. Do not rely on them in derived work. They will change, be removed or eventually be subsumed into other pyiron packages.