Spaces:
Running
Running
Yuan (Cyrus) Chiang
commited on
HT EOS workflow on alloy system; Add notebook comments (#30, #31)
Browse files
mlip_arena/tasks/eos_alloy/run.ipynb
CHANGED
@@ -283,17 +283,14 @@
|
|
283 |
" )\n",
|
284 |
" \n",
|
285 |
" for i, method in enumerate(methods):\n",
|
286 |
-
" \n",
|
287 |
" ev0s = []\n",
|
288 |
" for fi, formula in enumerate(formulae):\n",
|
289 |
-
" \n",
|
290 |
" filtered_data = df[(df['formula'] == formula) & (df['method'] == method)]\n",
|
291 |
" filtered_data = filtered_data.drop_duplicates(subset=['method', 'formula', 'volume'], keep='last')\n",
|
292 |
" \n",
|
293 |
" ev0s.append((filtered_data['v0'].drop_duplicates()[0], filtered_data['e0'].drop_duplicates()[0]))\n",
|
294 |
-
" \n",
|
295 |
" c = Formula(formula) // Formula('Cr') / len(Formula(formula))\n",
|
296 |
-
"\n",
|
297 |
" axes[i].plot(\n",
|
298 |
" filtered_data['volume'], filtered_data['energy'],\n",
|
299 |
" c=cmap(norm(c)),\n",
|
@@ -302,9 +299,9 @@
|
|
302 |
" axes[i].set(\n",
|
303 |
" title=method\n",
|
304 |
" )\n",
|
305 |
-
"
|
|
|
306 |
" ev0s = np.array(sorted(ev0s, key=lambda x: x[1]))\n",
|
307 |
-
" \n",
|
308 |
" axes[i].plot(ev0s[:, 0], ev0s[:, 1], \"--\", color=\"black\", lw=1)\n",
|
309 |
" axes[i].set(\n",
|
310 |
" xlabel='volume', ylabel='energy'\n",
|
@@ -314,7 +311,6 @@
|
|
314 |
" sm.set_array([])\n",
|
315 |
" cbar = fig.colorbar(sm, ax=axes, orientation='vertical', aspect=20)\n",
|
316 |
" cbar.set_label(\"Cr fraction\", rotation=270, labelpad=15)\n",
|
317 |
-
" \n",
|
318 |
" plt.show()"
|
319 |
]
|
320 |
},
|
@@ -567,6 +563,7 @@
|
|
567 |
}
|
568 |
],
|
569 |
"source": [
|
|
|
570 |
"elements = set().union(*[set(Formula(f)) for f in df['formula']])\n",
|
571 |
"\n",
|
572 |
"data = df.assign(**{\n",
|
@@ -37017,14 +37014,12 @@
|
|
37017 |
"source": [
|
37018 |
"import plotly.express as px\n",
|
37019 |
"\n",
|
37020 |
-
"\n",
|
37021 |
"for i, method in enumerate(methods):\n",
|
37022 |
" filtered_data = data[data['method'] == method]\n",
|
37023 |
" filtered_data = filtered_data.drop_duplicates(subset=['method', 'formula', 'volume'], keep='last')\n",
|
37024 |
" \n",
|
37025 |
" fig = px.scatter_ternary(\n",
|
37026 |
-
" filtered_data, a=\"Fe\", b=\"Ni\", c=\"Cr\", color=\"b0\",
|
37027 |
-
" # color_discrete_map = {\"Joly\": \"blue\", \"Bergeron\": \"green\", \"Coderre\":\"red\"} \n",
|
37028 |
" )\n",
|
37029 |
" \n",
|
37030 |
" fig.update_layout(title=method)\n",
|
|
|
283 |
" )\n",
|
284 |
" \n",
|
285 |
" for i, method in enumerate(methods):\n",
|
|
|
286 |
" ev0s = []\n",
|
287 |
" for fi, formula in enumerate(formulae):\n",
|
|
|
288 |
" filtered_data = df[(df['formula'] == formula) & (df['method'] == method)]\n",
|
289 |
" filtered_data = filtered_data.drop_duplicates(subset=['method', 'formula', 'volume'], keep='last')\n",
|
290 |
" \n",
|
291 |
" ev0s.append((filtered_data['v0'].drop_duplicates()[0], filtered_data['e0'].drop_duplicates()[0]))\n",
|
|
|
292 |
" c = Formula(formula) // Formula('Cr') / len(Formula(formula))\n",
|
293 |
+
" # Plot EOS curves at different compositions\n",
|
294 |
" axes[i].plot(\n",
|
295 |
" filtered_data['volume'], filtered_data['energy'],\n",
|
296 |
" c=cmap(norm(c)),\n",
|
|
|
299 |
" axes[i].set(\n",
|
300 |
" title=method\n",
|
301 |
" )\n",
|
302 |
+
"\n",
|
303 |
+
" # Plot equilibrium volume and energy line\n",
|
304 |
" ev0s = np.array(sorted(ev0s, key=lambda x: x[1]))\n",
|
|
|
305 |
" axes[i].plot(ev0s[:, 0], ev0s[:, 1], \"--\", color=\"black\", lw=1)\n",
|
306 |
" axes[i].set(\n",
|
307 |
" xlabel='volume', ylabel='energy'\n",
|
|
|
311 |
" sm.set_array([])\n",
|
312 |
" cbar = fig.colorbar(sm, ax=axes, orientation='vertical', aspect=20)\n",
|
313 |
" cbar.set_label(\"Cr fraction\", rotation=270, labelpad=15)\n",
|
|
|
314 |
" plt.show()"
|
315 |
]
|
316 |
},
|
|
|
563 |
}
|
564 |
],
|
565 |
"source": [
|
566 |
+
"# Calculate compositions\n",
|
567 |
"elements = set().union(*[set(Formula(f)) for f in df['formula']])\n",
|
568 |
"\n",
|
569 |
"data = df.assign(**{\n",
|
|
|
37014 |
"source": [
|
37015 |
"import plotly.express as px\n",
|
37016 |
"\n",
|
|
|
37017 |
"for i, method in enumerate(methods):\n",
|
37018 |
" filtered_data = data[data['method'] == method]\n",
|
37019 |
" filtered_data = filtered_data.drop_duplicates(subset=['method', 'formula', 'volume'], keep='last')\n",
|
37020 |
" \n",
|
37021 |
" fig = px.scatter_ternary(\n",
|
37022 |
+
" filtered_data, a=\"Fe\", b=\"Ni\", c=\"Cr\", color=\"b0\", \n",
|
|
|
37023 |
" )\n",
|
37024 |
" \n",
|
37025 |
" fig.update_layout(title=method)\n",
|