{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Introduction\n", "\n", "This notebook shows how to plot and analyze a phase diagram." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Uncomment the subsequent lines in this cell to install dependencies for Google Colab.\n", "# !pip install pymatgen==2022.7.19" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from pymatgen.analysis.phase_diagram import PDPlotter, PhaseDiagram\n", "from pymatgen.ext.matproj import MPRester\n", "\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Generating the phase diagram\n", "\n", "To generate a phase diagram, we obtain entries from the Materials Project and call the PhaseDiagram class in pymatgen." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# This initializes the REST adaptor. You may need to put your own API key in as an arg.\n", "mpr = MPRester()\n", "\n", "# Entries are the basic unit for thermodynamic and other analyses in pymatgen.\n", "# This gets all entries belonging to the Ca-C-O system.\n", "entries = mpr.get_entries_in_chemsys([\"Ca\", \"C\", \"O\"])\n", "\n", "# With entries, you can do many sophisticated analyses, like creating phase diagrams.\n", "pd = PhaseDiagram(entries)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plotting the phase diagram\n", "\n", "To plot a phase diagram, we send our phase diagram object into the PDPlotter class." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Let's show all phases, including unstable ones\n", "plotter = PDPlotter(pd, show_unstable=0.2, backend=\"matplotlib\")\n", "plotter.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Calculating energy above hull and other phase equilibria properties" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Materials ID Composition Ehull Decomposition\n", "0 mp-611448 C 0.142597 1.00 C4\n", "1 mp-1097832 C 2.605766 1.00 C4\n", "2 mp-1205283 C 0.697407 1.00 C4\n", "3 mp-24 C 0.833079 1.00 C4\n", "4 mp-1078845 C 0.265893 1.00 C4\n", "5 mp-1244913 C 0.993796 1.00 C4\n", "6 mp-1008374 C 0.436517 1.00 C4\n", "7 mp-579909 C 0.943112 1.00 C4\n", "8 mp-1181996 C 2.634925 1.00 C4\n", "9 mp-1194362 C 1.502474 1.00 C4\n", "10 mp-1188817 C 0.763339 1.00 C4\n", "11 mp-1182684 C 1.527767 1.00 C4\n", "12 mp-1197903 C 1.408604 1.00 C4\n", "13 mp-568286 C 0.006294 1.00 C4\n", "14 mp-683919 C 0.348517 1.00 C4\n", "15 mp-1008395 C 0.333186 1.00 C4\n", "16 mp-569416 C 0.028760 1.00 C4\n", "17 mp-568806 C 0.010042 1.00 C4\n", "18 mp-606949 C 0.008344 1.00 C4\n", "19 mp-611426 C 0.145803 1.00 C4\n", "20 mp-1147718 C 0.386797 1.00 C4\n", "21 mp-570002 C 0.763687 1.00 C4\n", "22 mp-616440 C 0.141158 1.00 C4\n", "23 mp-1018088 C 1.305495 1.00 C4\n", "24 mp-1040425 C 0.007888 1.00 C4\n", "25 mp-937760 C 0.004164 1.00 C4\n", "26 mp-990448 C 0.007545 1.00 C4\n", "27 mp-1096869 C 0.115975 1.00 C4\n", "28 mp-568028 C 0.528968 1.00 C4\n", "29 mp-66 C 0.136419 1.00 C4\n" ] } ], "source": [ "import collections\n", "\n", "data = collections.defaultdict(list)\n", "for e in entries:\n", " decomp, ehull = pd.get_decomp_and_e_above_hull(e)\n", " data[\"Materials ID\"].append(e.entry_id)\n", " data[\"Composition\"].append(e.composition.reduced_formula)\n", " data[\"Ehull\"].append(ehull)\n", " data[\"Decomposition\"].append(\n", " \" + \".join([f\"{v:.2f} {k.composition.formula}\" for k, v in decomp.items()])\n", " )\n", "\n", "from pandas import DataFrame\n", "\n", "df = DataFrame(data, columns=[\"Materials ID\", \"Composition\", \"Ehull\", \"Decomposition\"])\n", "\n", "print(df.head(30))" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3.10.5 64-bit", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.5" }, "vscode": { "interpreter": { "hash": "8022b3e932e045c760cb4633b91dd1cb8bc60d104ca9808334cbd1645adbe837" } } }, "nbformat": 4, "nbformat_minor": 1 }