Skip to content

Commit d2341f1

Browse files
committed
Add formation energy comparison for MACE and CHGNet
1 parent 03550b5 commit d2341f1

1 file changed

Lines changed: 19 additions & 3 deletions

File tree

example/python_pkg/visualisation/descriptor.ipynb

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
"from ase import Atoms\n",
1313
"from raffle.generator import raffle_generator\n",
1414
"from mace.calculators import mace_mp\n",
15+
"from chgnet.model import CHGNetCalculator\n",
1516
"import matplotlib.pyplot as plt\n",
1617
"import numpy as np\n",
1718
"import pandas as pd"
@@ -26,7 +27,9 @@
2627
"source": [
2728
"generator = raffle_generator()\n",
2829
"generator.distributions.set_history_len(10)\n",
29-
"calc = mace_mp(model=\"medium\", dispersion=False, default_dtype=\"float32\", device='cpu')"
30+
"mace = mace_mp(model=\"medium\", dispersion=False, default_dtype=\"float32\", device='cpu')\n",
31+
"chgnet = CHGNetCalculator()\n",
32+
"calc = mace"
3033
]
3134
},
3235
{
@@ -232,10 +235,23 @@
232235
"outputs": [],
233236
"source": [
234237
"viability_dict = {}\n",
238+
"ab_stack.calc = mace\n",
239+
"ab_stack_energy_per_atom_mace = ab_stack.get_potential_energy() / len(ab_stack)\n",
240+
"ab_stack.calc = chgnet\n",
241+
"ab_stack_energy_per_atom_chgnet = ab_stack.get_potential_energy() / len(ab_stack)\n",
235242
"for struc_name, structure in structures_dict.items():\n",
243+
" structure.calc = mace\n",
244+
" total_energy_mace = structure.get_potential_energy()\n",
245+
" struc_energy_per_atom_mace = structure.get_potential_energy() / len(structure)\n",
246+
" struc_chgnet = structure.copy()\n",
247+
" struc_chgnet.calc = chgnet\n",
248+
" total_energy_chgnet = struc_chgnet.get_potential_energy()\n",
249+
" struc_energy_per_atom_chgnet = struc_chgnet.get_potential_energy() / len(struc_chgnet)\n",
236250
" viability_dict[struc_name] = {\n",
237-
" \"total energy\": structure.get_potential_energy()/len(structure),\n",
238-
" \"formation energy\": structure.get_potential_energy()/len(structure) - ab_stack.get_potential_energy()/len(ab_stack),\n",
251+
" \"total energy (MACE)\": total_energy_mace,\n",
252+
" \"total energy (CHGNet)\": total_energy_chgnet,\n",
253+
" \"formation energy (MACE)\": struc_energy_per_atom_mace - ab_stack_energy_per_atom_mace,\n",
254+
" \"formation energy (CHGNet)\": struc_energy_per_atom_chgnet - ab_stack_energy_per_atom_chgnet,\n",
239255
" }\n",
240256
"for key, value in n_body_dict.items():\n",
241257
" generator.distributions.set_radius_distance_tol(value)\n",

0 commit comments

Comments
 (0)