{ "cells": [ { "cell_type": "markdown", "id": "eb52046e-b278-4693-948f-9384a87a0b4a", "metadata": {}, "source": [ "# Mg/Ca Worked Example\n", "\n", "In practice, you will calculate the free energies for each phase from some method (e.g. [calphy](https://calphy.org/en/latest/))\n", "and then use `landau` for the plotting. This data was obtained from Atomic Cluster Expansion models run by `calphy`." ] }, { "cell_type": "markdown", "id": "696de56f-f276-456f-ad81-0c3bf139dcc1", "metadata": {}, "source": [ "## Load Free Energies into Landau\n", "\n", "Here, we read the free energies as a function of temperature from a dataframe." ] }, { "cell_type": "markdown", "id": "d720fd62-82e2-4dfe-8868-d728e04a397c", "metadata": {}, "source": [ "### Prelude" ] }, { "cell_type": "code", "execution_count": 2, "id": "c1ddbd38-f0ae-412b-9df8-8e28e4f7cd4f", "metadata": { "tags": [] }, "outputs": [], "source": [ "import pandas as pd\n", "import landau as ld" ] }, { "cell_type": "markdown", "id": "adc3eacf-8665-4679-b00d-a9ae5cec6eee", "metadata": {}, "source": [ "### Load Free Energies" ] }, { "cell_type": "code", "execution_count": 3, "id": "93a0a6d5-2285-4b8d-b537-6cc2953a2e9a", "metadata": { "tags": [] }, "outputs": [], "source": [ "df = pd.read_pickle(\"MgCaFreeEnergies.pckl.gz\")" ] }, { "cell_type": "code", "execution_count": 4, "id": "3d101e3e-69e4-405a-a02d-bd363d2445c8", "metadata": { "tags": [] }, "outputs": [], "source": [ "def build(row):\n", " return ld.phases.TemperatureDependentLinePhase(row.phase, row.composition, row.temperature, row.free_energy, interpolator=ld.interpolate.SGTE(4))" ] }, { "cell_type": "code", "execution_count": 5, "id": "9e6848cf-12bc-48f7-9415-1fb293ac48e3", "metadata": { "tags": [] }, "outputs": [], "source": [ "df['phaseobj'] = df.apply(build, axis=1)" ] }, { "cell_type": "code", "execution_count": 6, "id": "24f0659a-2f29-4279-ab1f-39555809b3a7", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/html": [ "
| \n", " | phase | \n", "composition | \n", "temperature | \n", "free_energy | \n", "state | \n", "phaseobj | \n", "
|---|---|---|---|---|---|---|
| 0 | \n", "hcp Mg | \n", "0.000000 | \n", "[300.0, 300.0042000588008, 300.0084002352066, ... | \n", "[-1.5225154593605692, -1.5225168694102966, -1.... | \n", "solid | \n", "TemperatureDependentLinePhase(\"hcp Mg\") | \n", "
| 1 | \n", "bcc Ca | \n", "1.000000 | \n", "[300.0, 300.00461545700705, 300.0092310560326,... | \n", "[-1.9342844504225414, -1.9342865724018383, -1.... | \n", "solid | \n", "TemperatureDependentLinePhase(\"bcc Ca\") | \n", "
| 2 | \n", "Mg$_2$Ca | \n", "0.333333 | \n", "[300.0, 300.0042000588008, 300.0084002352066, ... | \n", "[-1.781469669607899, -1.7814711895104098, -1.7... | \n", "solid | \n", "TemperatureDependentLinePhase(\"Mg$_2$Ca\") | \n", "
| 4 | \n", "fcc Ca | \n", "1.000000 | \n", "[300.0, 300.0042000588008, 300.0084002352066, ... | \n", "[-1.9365957848456883, -1.9365976398227, -1.936... | \n", "solid | \n", "TemperatureDependentLinePhase(\"fcc Ca\") | \n", "
| 14 | \n", "liquid | \n", "0.333273 | \n", "[800.0, 800.0053333635558, 800.0106667982238, ... | \n", "[-2.020797043491122, -2.020801126471374, -2.02... | \n", "liquid | \n", "TemperatureDependentLinePhase(\"liquid\") | \n", "
| 15 | \n", "liquid | \n", "0.666636 | \n", "[800.0, 800.0053333635558, 800.0106667982238, ... | \n", "[-2.161913993730873, -2.1619183103650097, -2.1... | \n", "liquid | \n", "TemperatureDependentLinePhase(\"liquid\") | \n", "
| 18 | \n", "liquid | \n", "0.000000 | \n", "[600.0, 600.0060000600006, 600.0120002400048, ... | \n", "[-1.632069098400621, -1.6320727216435675, -1.6... | \n", "liquid | \n", "TemperatureDependentLinePhase(\"liquid\") | \n", "
| 19 | \n", "liquid | \n", "1.000000 | \n", "[1000.0, 1000.0057143126531, 1000.011428690613... | \n", "[-2.3851575945277173, -2.3851625203296583, -2.... | \n", "liquid | \n", "TemperatureDependentLinePhase(\"liquid\") | \n", "
| 22 | \n", "liquid | \n", "0.166636 | \n", "[800.0, 800.0053333635558, 800.0106667982238, ... | \n", "[-1.9109840875275999, -1.9109880541330522, -1.... | \n", "liquid | \n", "TemperatureDependentLinePhase(\"liquid\") | \n", "
| 23 | \n", "liquid | \n", "0.500000 | \n", "[800.0, 800.0053333635558, 800.0106667982238, ... | \n", "[-2.1026342137400933, -2.102638434385509, -2.1... | \n", "liquid | \n", "TemperatureDependentLinePhase(\"liquid\") | \n", "
| 24 | \n", "liquid | \n", "0.833273 | \n", "[800.0, 800.0053333635558, 800.0106667982238, ... | \n", "[-2.2026799550501632, -2.2026842763304164, -2.... | \n", "liquid | \n", "TemperatureDependentLinePhase(\"liquid\") | \n", "
| \n", " | T | \n", "phase | \n", "phi | \n", "mu | \n", "c | \n", "stable | \n", "border | \n", "refined | \n", "f | \n", "f_excess | \n", "
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "100.000000 | \n", "Mg$_2$Ca | \n", "-1.480066 | \n", "-0.757406 | \n", "0.333333 | \n", "True | \n", "True | \n", "no | \n", "-1.732535 | \n", "-0.123050 | \n", "
| 1 | \n", "100.000000 | \n", "Mg$_2$Ca | \n", "-1.482567 | \n", "-0.749905 | \n", "0.333333 | \n", "True | \n", "True | \n", "no | \n", "-1.732535 | \n", "-0.123050 | \n", "
| 2 | \n", "100.000000 | \n", "Mg$_2$Ca | \n", "-1.485065 | \n", "-0.742411 | \n", "0.333333 | \n", "True | \n", "True | \n", "no | \n", "-1.732535 | \n", "-0.123050 | \n", "
| 3 | \n", "100.000000 | \n", "Mg$_2$Ca | \n", "-1.487513 | \n", "-0.735066 | \n", "0.333333 | \n", "True | \n", "True | \n", "no | \n", "-1.732535 | \n", "-0.123050 | \n", "
| 4 | \n", "100.000000 | \n", "Mg$_2$Ca | \n", "-1.489922 | \n", "-0.727839 | \n", "0.333333 | \n", "True | \n", "True | \n", "no | \n", "-1.732535 | \n", "-0.123050 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 38576 | \n", "549.789157 | \n", "Mg$_2$Ca | \n", "-1.805706 | \n", "-0.265398 | \n", "0.333333 | \n", "True | \n", "True | \n", "delaunay-triple | \n", "-1.894172 | \n", "0.058977 | \n", "
| 38577 | \n", "549.789157 | \n", "bcc Ca | \n", "-1.805706 | \n", "-0.265398 | \n", "1.000000 | \n", "True | \n", "True | \n", "delaunay-triple | \n", "-2.071104 | \n", "0.000000 | \n", "
| 38578 | \n", "736.553962 | \n", "liquid | \n", "-1.730833 | \n", "-0.808065 | \n", "0.083914 | \n", "True | \n", "True | \n", "delaunay-triple | \n", "-1.798641 | \n", "-0.045205 | \n", "
| 38579 | \n", "736.553962 | \n", "hcp Mg | \n", "-1.730833 | \n", "-0.808065 | \n", "0.000000 | \n", "True | \n", "True | \n", "delaunay-triple | \n", "-1.730833 | \n", "0.000000 | \n", "
| 38580 | \n", "736.553962 | \n", "Mg$_2$Ca | \n", "-1.730833 | \n", "-0.808065 | \n", "0.333333 | \n", "True | \n", "True | \n", "delaunay-triple | \n", "-2.000188 | \n", "-0.179570 | \n", "
38581 rows × 10 columns
\n", "