Yuan (Cyrus) Chiang commited on
Commit
2613ace
·
unverified ·
1 Parent(s): 1d1ee87

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
- " \n",
 
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\", #size=\"total\", size_max=15,\n",
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",