{ "cells": [ { "cell_type": "markdown", "id": "8aa651ab", "metadata": {}, "source": [ "# A Complete Workflow for a Single Element\n", "\n", "This notebook runs the full ASSYST pipeline end-to-end on a unary system\n", "(copper). The four canonical steps are:\n", "\n", "1. **Sampling** — generate symmetric random structures for every space group.\n", "2. **Relaxing** — minimise volume first, then full cell + positions, to find\n", " the relevant pockets of the potential energy surface.\n", "3. **Perturbing** — apply random rattles and stretches around those minima\n", " to populate the surrounding PES.\n", "4. **Combining** — collect everything, filter unphysical configurations,\n", " evaluate the reference and store the resulting training data.\n", "\n", "In a real workflow the relaxations and final evaluations are carried out\n", "with DFT (or any other reference); here we use a Morse potential so the\n", "notebook runs quickly." ] }, { "cell_type": "markdown", "id": "28e70bb9", "metadata": {}, "source": [ "## Imports" ] }, { "cell_type": "code", "execution_count": 1, "id": "223212d4", "metadata": {}, "outputs": [], "source": [ "import pickle\n", "from pathlib import Path\n", "\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "from tqdm.auto import tqdm\n", "\n", "from assyst.crystals import Formulas, sample\n", "from assyst.filters import DistanceFilter, AspectFilter, VolumeFilter\n", "from assyst.relaxations import VolumeRelax, FullRelax, relax\n", "from assyst.perturbations import RandomChoice, Rattle, Stretch, perturb" ] }, { "cell_type": "markdown", "id": "17e36b8e", "metadata": {}, "source": [ "## Configuration\n", "\n", "`max_num` is the largest number of atoms per generated structure. `2` keeps\n", "the example fast; `10` is the typical production value and yields ~10k\n", "training structures." ] }, { "cell_type": "code", "execution_count": 2, "id": "55aa5375", "metadata": {}, "outputs": [], "source": [ "max_num = 2\n", "out_dir = Path(f\"Unary/{max_num}\")\n", "out_dir.mkdir(parents=True, exist_ok=True)" ] }, { "cell_type": "markdown", "id": "91de86fe", "metadata": {}, "source": [ "### Reference potential\n", "\n", "Any ASE calculator works. We pick a Morse potential whose parameters were\n", "chosen so that its minimum sits near the experimental Cu-Cu bond length.\n", "\n", "For more interesting reference data the universal `Grace` graph-ACE models\n", "in `assyst.calculators` are a good drop-in replacement (they require the\n", "optional `tensorpotential` dependency)." ] }, { "cell_type": "code", "execution_count": 3, "id": "8c01df7c", "metadata": {}, "outputs": [], "source": [ "from ase.calculators.morse import MorsePotential\n", "\n", "reference = MorsePotential(epsilon=0.3, r0=2.55265548 * 1.10619396, rho0=4)" ] }, { "cell_type": "markdown", "id": "721dfa7c", "metadata": {}, "source": [ "## 1. Sampling random structures\n", "\n", "Build the formulas to sample (`Cu`, `Cu_2`, ..., up to `max_num`) and let\n", "`sample` generate one structure for every compatible space group.\n", "\n", "`AspectFilter(6)` filters out very elongated unit cells that pyxtal\n", "occasionally produces." ] }, { "cell_type": "code", "execution_count": 4, "id": "f80eb4c4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Formulas(atoms=({'Cu': 0}, {'Cu': 1}, {'Cu': 2}))" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "formulas = Formulas.range('Cu', max_num + 1)\n", "formulas" ] }, { "cell_type": "code", "execution_count": 5, "id": "432d03ba", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "7a2c1d260dd745109d81bb7d278816a7", "version_major": 2, "version_minor": 0 }, "text/plain": [ " 0%| | 0/3 [00:00\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ase_atomsenergyforcesnumber_of_atoms
0(Atom('Cu', [-1.3265240321355765, -7.353189190...-1.802887[[6.071532165918825e-18, -7.979727989493313e-1...1
1(Atom('Cu', [0.0, 0.0, 0.24375080364530244], i...-2.192044[[7.556889142223966e-17, 2.886146183156413e-16...1
2(Atom('Cu', [0.0, 0.0, 0.0], index=0))-1.702372[[4.5102810375396984e-17, 1.708702623837155e-1...1
3(Atom('Cu', [-1.1459510315187336, -1.145951031...-1.921211[[6.895525817007808e-17, -3.673276960380889e-1...1
4(Atom('Cu', [-0.7029469904758565, 1.2175399025...-2.453490[[5.204170427930421e-18, 7.28583859910259e-17,...1
\n", "" ], "text/plain": [ " ase_atoms energy \\\n", "0 (Atom('Cu', [-1.3265240321355765, -7.353189190... -1.802887 \n", "1 (Atom('Cu', [0.0, 0.0, 0.24375080364530244], i... -2.192044 \n", "2 (Atom('Cu', [0.0, 0.0, 0.0], index=0)) -1.702372 \n", "3 (Atom('Cu', [-1.1459510315187336, -1.145951031... -1.921211 \n", "4 (Atom('Cu', [-0.7029469904758565, 1.2175399025... -2.453490 \n", "\n", " forces number_of_atoms \n", "0 [[6.071532165918825e-18, -7.979727989493313e-1... 1 \n", "1 [[7.556889142223966e-17, 2.886146183156413e-16... 1 \n", "2 [[4.5102810375396984e-17, 1.708702623837155e-1... 1 \n", "3 [[6.895525817007808e-17, -3.673276960380889e-1... 1 \n", "4 [[5.204170427930421e-18, 7.28583859910259e-17,... 1 " ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rows = []\n", "for s in tqdm(everything, desc='evaluating'):\n", " s.calc = reference\n", " rows.append({\n", " 'ase_atoms': s,\n", " 'energy': s.get_potential_energy(),\n", " 'forces': s.get_forces(),\n", " 'number_of_atoms': len(s),\n", " })\n", "df = pd.DataFrame(rows)\n", "df.to_pickle(out_dir / 'everything_training_data.pckl.gz')\n", "df.head()" ] }, { "cell_type": "markdown", "id": "ab14cb93", "metadata": {}, "source": [ "### Inspect the training data\n", "\n", "Energy per atom, energy vs volume and force component distributions are a\n", "quick sanity check that the dataset spans the expected ranges." ] }, { "cell_type": "code", "execution_count": 16, "id": "e0c24cf0", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABdIAAAGGCAYAAAB/pnNVAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAA2EdJREFUeJzs3Xl8XHXZ///XmX0mmUy2Jk1Lmq50oQWhVGiRpSC9KQoKWlCklEXvm5sgm4ggtwh4I94qWJGw/VQKot5YERXbL9AbocgqLRQoLYWuCWm6ZJuZZPZzzu+PNLFp0jZpk06Svp8+8oA5c+acaxZJ+57rXB/Dtm0bERERERERERERERHpliPbBYiIiIiIiIiIiIiIDGQK0kVERERERERERERE9kFBuoiIiIiIiIiIiIjIPihIFxERERERERERERHZBwXpIiIiIiIiIiIiIiL7oCBdRERERERERERERGQfFKSLiIiIiIiIiIiIiOyDgnQRERERERERERERkX1wZbuAbLMsi61btxIMBjEMI9vliIjIYcK2baLRKCNGjMDh0PfaB0O/y0VEJFv0+7xv6He5iIhkS29+lx/2QfrWrVspLy/PdhkiInKYqqmp4Ygjjsh2GYOafpeLiEi26ff5wdHvchERybae/C4/7IP0YDAItL1YeXl5Wa5GREQOF5FIhPLy8o7fQ3Lg9LtcRESyRb/P+4Z+l4uISLb05nf5YR+kt182lpeXp1/YIiJyyOny5YOn3+UiIpJt+n1+cPS7XEREsq0nv8s1xE1EREREREREDrmqqiqmTJnCjBkzsl2KiIjIfilIFxEREREREZFDrrKykjVr1vDWW29luxQREZH9UpAuIiIiIiIiIiIiIrIPCtJFRERERERERERERPZh0AfpNTU1nHbaaUyZMoWjjz6axYsXZ7skERERERERERERERlCXNku4GC5XC4WLlzIpz71KXbs2MFxxx3H2WefTU5OTrZLExEREREREREREZEhYNB3pJeVlfGpT30KgJKSEgoLC2lsbMxuUSIiIiIiIiKyT1VVVUyZMoUZM2ZkuxQREZH9ynqQ/vLLL3POOecwYsQIDMPgz3/+c5d9HnjgAcaMGYPP52P69On84x//6PZYK1aswLIsysvL+7lqERERERERETkYlZWVrFmzhrfeeivbpYiIiOxX1oP01tZWjjnmGO6///5u73/yySe57rrruPXWW3nnnXc4+eSTmTt3LtXV1Z32a2ho4JJLLuGRRx45FGWLiIiIiIiIiIiIyGEi6zPS586dy9y5c/d6/7333ssVV1zB17/+dQAWLlzIc889x4MPPsjdd98NQDKZ5LzzzuOWW25h1qxZ+zxfMpkkmUx23I5EIn3wLERERERERGRfook0zbE0+QE3QZ872+WIiIiI9ErWO9L3JZVKsXLlSubMmdNp+5w5c3jttdcAsG2bSy+9lNNPP5358+fv95h33303oVCo40djYERERERERPrX6towP31+Hfc8v46fPr+O1bXhbJckIiIi0isDOkivr6/HNE1KS0s7bS8tLWXbtm0AvPrqqzz55JP8+c9/5lOf+hSf+tSneP/99/d6zFtuuYVwONzxU1NT06/PQURERERE5HAWTaRZvLKGxpYUJUEfjS0pFq+sIZpIZ7s0ERERkR7L+miXnjAMo9Nt27Y7tn3mM5/BsqweH8vr9eL1evu0vt2NvnlJx79v/tHn+u08IiIiIiIig0FzLE04lqYs5MfvcVIW8rMjmqA5ltaIFxGRPrJ7HgXKpET6w4DuSC8uLsbpdHZ0n7fbsWNHly51ERERERERGXjyA25CATd14TjxlEldOE4o4CY/oBBdREREBo8BHaR7PB6mT5/OsmXLOm1ftmzZfhcVFRERERERkewL+tzMm15OYa6HHdEEhbke5k0vVze6UFVVxZQpU5gxY0a2SxEREdmvrI92aWlpYf369R23N23axKpVqygsLGTUqFHccMMNzJ8/n+OPP56ZM2fyyCOPUF1dzZVXXpnFqkVERERERKSnpo4MUVEUoDmWJj/gVoguAFRWVlJZWUkkEiEUCmW7HBERkX3KepC+YsUKZs+e3XH7hhtuAGDBggUsWrSICy+8kIaGBu68807q6uqYOnUqS5cupaKiIlsli4iIiIiISC8FfQrQRUREZPDKepB+2mmnYdv2Pve56qqruOqqq/r0vFVVVVRVVWGaZp8eV0RERCTboom0uj5FRERERET6UNaD9GzRJWQiIiIyFK2uDbN4ZQ3hWJpQoG0u8dSR+rOOiIiIiIjIwRjQi42KiIiISM9FE2kWr6yhsSVFSdBHY0uKxStriCbS2S5NRERERERkUFOQLiIiIjJENMfShGNpykJ+/B4nZSE/4VjbmBcRERERERE5cArSRURERIaI/ICbUMBNXThOPGVSF44TCrjJD2hOuoiIiIiIyMFQkC4iIiIyRAR9bTPRC3M97IgmKMz1MG96uRYcFREREREROUiH7WKjIiIiIkPR1JEhKooCNMfS5AfcfRqiRxPpfjmuiIiIiIjIQHfYBulVVVVUVVVhmma2S+kXo29e0vHvm3/0uSxWIiIiIoda0Nf3Qffq2jCLV9YQjqUJBdo636eODPXpOURE5PAy1P9eLiIiQ8thO9qlsrKSNWvW8NZbb2W7FBEREZEBLZpIs3hlDY0tKUqCPhpbUixeWUM0oUVMRUTkwOnv5SIiMpgctkG6iIiIiPRMcyxNOJamLOTH73FSFvITjrWNeRERERERETkcKEgXERERkX3KD7gJBdzUhePEUyZ14TihgJv8gOaki4iIiIjI4UFBuoiIiIjsU9DXNhO9MNfDjmiCwlwP86aXa8FRERERERE5bBy2i42KiIiISM9NHRmioihAcyxNfqDvFzMVEREREREZyNSRLiIiIn3qgQceYMyYMfh8PqZPn84//vGPve770ksvYRhGl58PP/zwEFYsPRX0uSkvDChEFxERERGRw46CdBEREekzTz75JNdddx233nor77zzDieffDJz586lurp6n49bt24ddXV1HT8TJkw4RBWLiIiIiIiI7J+CdBEREekz9957L1dccQVf//rXmTx5MgsXLqS8vJwHH3xwn48rKSlh+PDhHT9Op/MQVSwiIiIiIiKyf4dtkF5VVcWUKVOYMWNGtksREREZElKpFCtXrmTOnDmdts+ZM4fXXnttn4899thjKSsr44wzzuDFF1/c577JZJJIJNLpR0RERERERKQ/HbZBemVlJWvWrOGtt97KdikiIiJDQn19PaZpUlpa2ml7aWkp27Zt6/YxZWVlPPLIIzz11FP86U9/YuLEiZxxxhm8/PLLez3P3XffTSgU6vgpLy/v0+chIiIiIiIisidXtgsQERGRocUwjE63bdvusq3dxIkTmThxYsftmTNnUlNTw09/+lNOOeWUbh9zyy23cMMNN3TcjkQiCtNFRERERESkXx22HekiIiLSt4qLi3E6nV26z3fs2NGlS31fTjzxRD7++OO93u/1esnLy+v0IyIiIiIiItKfFKSLiIhIn/B4PEyfPp1ly5Z12r5s2TJmzZrV4+O88847lJWV9XV5IiIiIiIiIgdMo11ERESkz9xwww3Mnz+f448/npkzZ/LII49QXV3NlVdeCbSNZamtreXxxx8HYOHChYwePZqjjjqKVCrFE088wVNPPcVTTz2VzachIiIih0BVVRVVVVWYppntUkRERPZLQbqIiIj0mQsvvJCGhgbuvPNO6urqmDp1KkuXLqWiogKAuro6qqurO/ZPpVLceOON1NbW4vf7Oeqoo1iyZAlnn312tp6CiIiIHCKVlZVUVlYSiUQIhULZLkdERGSfFKSLiIhIn7rqqqu46qqrur1v0aJFnW7fdNNN3HTTTYegKhEREREREZEDpxnpIiIiIiIiIiIiIiL7oCBdRERERERERERERGQfDtvRLlrUREREREREREREBqPRNy/Jdgkih53DtiO9srKSNWvW8NZbb2W7FBEREREREREREREZwA7bIF1EREREREREREREpCcUpIuIiIiIiIiIiIiI7IOCdBERERERERERERGRfThsFxuV/rHnYhebf/S5LFUiIiIiIiIiIiIi0jfUkS4iIiIiIiIiIiIisg8K0kVERERERERERERE9kFBuoiIiIiIiIiIiIjIPmhG+mFIc8xFREREREREREREek4d6SIiIiIiIiIiIiIi+3DYBulVVVVMmTKFGTNmZLsUERERERERERERERnADtsgvbKykjVr1vDWW29luxQRERERERERERERGcA0I32I2HPueU/vExERkTbRRJrmWJr8gJugz53tckRERAaVaDTK6aefTjqdxjRNrrnmGr7xjW9kuywREZE+oyBdREREDnura8MsXllDOJYmFHAzb3o5U0eGsl2WiIjIoBEIBFi+fDmBQIBYLMbUqVM5//zzKSoqynZpIiIifeKwHe0iIiIiAm2d6ItX1tDYkqIk6KOxJcXilTVEE+lslyYiIjJoOJ1OAoEAAIlEAtM0sW07y1WJiIj0HQXpIiIiclhrjqUJx9KUhfz4PU7KQn7CsbYxLyIiIoeLl19+mXPOOYcRI0ZgGAZ//vOfu+zzwAMPMGbMGHw+H9OnT+cf//hHp/ubm5s55phjOOKII7jpppsoLi4+RNWLiIj0PwXpsl+jb17S8SMiIjLU5AfchAJu6sJx4imTunCcUMBNfkBz0mXoiybS1DTGdAWGiNDa2soxxxzD/fff3+39Tz75JNdddx233nor77zzDieffDJz586l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ta3DICJyGjV1CQaUPVB/8MEH+OCDD6qdX/ka7unpia1bt5pMq/xQam23Z5VjkkgkePrpp/H0009XG4s1fvnllxrn9ezZ02JXYxVbflV0//33Iz4+3mRaxXV16NABR48erbJcbfcvYN2+IiKipuVOXqy+8sorcHFxwauvvoqUlBQEBgZi7ty5AOr2Etrc+u40Vksqjp0mk8mqjJ1WH9uujxfzNb0gr+8YzDV2qPxy/04bCxBVJhG8wyQiIiIichpDhgzBkSNHoFAocPToUZOBzupi9erVePTRR2s92Hljmzt3Lr788ksUFBRg+/btmDBhgq1DIiIiMmvIkCHo0aMH1q5da+tQ6k1D1mn8+PEYOHAglixZUud1SCQS3idQjdhHOhERERGRE9myZQvi4+MRFxeHjh073vH6lixZYvdJdAB4/fXXERcXh0uXLmH48OG2DoeIiMhpNcT4ZwAwcOBAPProo3Vadu7cufDw8KjXeMjxsEU6ERERERERERGRnXHEFuk3b940Gf9MoVDYOKIy6enpyM3NBQAEBgbC3d3dxhGRPWIinYiIiIiIiIiIiIjIDHbtQkRERERERERERERkBhPpRERERERERERERERmMJFORERERERERERERGQGE+lERERERERERERERGYwkU5EREREREREREREZAYT6UREREREREREREREZjCRTkRERERERERERERkBhPpRERERERERERERERmMJFORERERERERERERGQGE+lERERERERERERERGYwkU5EREREREREREREZMb/A5mR7orWhPf4AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(1, 3, figsize=(15, 4))\n", "\n", "(df['energy'] / df['number_of_atoms']).plot.hist(bins=100, log=True, ax=axes[0])\n", "axes[0].set_xlabel('Energy per atom [eV/atom]')\n", "axes[0].set_ylabel('# Structures')\n", "\n", "axes[1].scatter(\n", " df['ase_atoms'].map(lambda s: s.cell.volume / len(s)),\n", " df['energy'] / df['number_of_atoms'],\n", " marker='.', alpha=0.5,\n", ")\n", "axes[1].set_xlim(0, 300)\n", "axes[1].set_xlabel(r'Volume [$\\mathrm{\\AA}^3$/atom]')\n", "axes[1].set_ylabel('Energy per atom [eV/atom]')\n", "\n", "df['forces'].explode().explode().infer_objects().plot.hist(bins=100, log=True, ax=axes[2])\n", "axes[2].set_xlabel(r'Force component [eV/$\\mathrm{\\AA}$]')\n", "axes[2].set_ylabel('# Components')\n", "\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "id": "ee44867e", "metadata": {}, "source": [ "### Optional: post-hoc filtering\n", "\n", "If the resulting energies and forces still cover ranges that are too\n", "extreme, `EnergyFilter` and `ForceFilter` (or pandas `query`) can prune\n", "them. These act on `ase.Atoms` objects that carry a\n", "`SinglePointCalculator`, which is what `relax` and the loop above\n", "attach." ] }, { "cell_type": "code", "execution_count": 17, "id": "d4c51d8b", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ase_atomsenergyforcesnumber_of_atoms
0(Atom('Cu', [-1.3265240321355765, -7.353189190...-1.802887[[6.071532165918825e-18, -7.979727989493313e-1...1
1(Atom('Cu', [0.0, 0.0, 0.24375080364530244], i...-2.192044[[7.556889142223966e-17, 2.886146183156413e-16...1
2(Atom('Cu', [0.0, 0.0, 0.0], index=0))-1.702372[[4.5102810375396984e-17, 1.708702623837155e-1...1
3(Atom('Cu', [-1.1459510315187336, -1.145951031...-1.921211[[6.895525817007808e-17, -3.673276960380889e-1...1
4(Atom('Cu', [-0.7029469904758565, 1.2175399025...-2.453490[[5.204170427930421e-18, 7.28583859910259e-17,...1
...............
1568(Atom('Cu', [0.07877639345419643, 0.3276080267...-5.287408[[-2.5511153646601943, 0.8436956669030645, -1....2
1569(Atom('Cu', [0.0, 0.0, 0.0], index=0), Atom('C...-4.389131[[-5.963111948670274e-17, -3.4876615484513707e...2
1570(Atom('Cu', [0.0, 0.0, 0.0], index=0), Atom('C...-4.417568[[-2.8027710360922775e-15, -1.7008963681952594...2
1571(Atom('Cu', [0.0, 0.0, 0.0], index=0), Atom('C...-5.346236[[-2.4824977143400595e-15, -1.9329156331071573...2
1572(Atom('Cu', [0.0, 0.0, 0.0], index=0), Atom('C...-4.695105[[-2.8142381681322062e-15, 3.803390538441569e-...2
\n", "

1573 rows × 4 columns

\n", "
" ], "text/plain": [ " ase_atoms energy \\\n", "0 (Atom('Cu', [-1.3265240321355765, -7.353189190... -1.802887 \n", "1 (Atom('Cu', [0.0, 0.0, 0.24375080364530244], i... -2.192044 \n", "2 (Atom('Cu', [0.0, 0.0, 0.0], index=0)) -1.702372 \n", "3 (Atom('Cu', [-1.1459510315187336, -1.145951031... -1.921211 \n", "4 (Atom('Cu', [-0.7029469904758565, 1.2175399025... -2.453490 \n", "... ... ... \n", "1568 (Atom('Cu', [0.07877639345419643, 0.3276080267... -5.287408 \n", "1569 (Atom('Cu', [0.0, 0.0, 0.0], index=0), Atom('C... -4.389131 \n", "1570 (Atom('Cu', [0.0, 0.0, 0.0], index=0), Atom('C... -4.417568 \n", "1571 (Atom('Cu', [0.0, 0.0, 0.0], index=0), Atom('C... -5.346236 \n", "1572 (Atom('Cu', [0.0, 0.0, 0.0], index=0), Atom('C... -4.695105 \n", "\n", " forces number_of_atoms \n", "0 [[6.071532165918825e-18, -7.979727989493313e-1... 1 \n", "1 [[7.556889142223966e-17, 2.886146183156413e-16... 1 \n", "2 [[4.5102810375396984e-17, 1.708702623837155e-1... 1 \n", "3 [[6.895525817007808e-17, -3.673276960380889e-1... 1 \n", "4 [[5.204170427930421e-18, 7.28583859910259e-17,... 1 \n", "... ... ... \n", "1568 [[-2.5511153646601943, 0.8436956669030645, -1.... 2 \n", "1569 [[-5.963111948670274e-17, -3.4876615484513707e... 2 \n", "1570 [[-2.8027710360922775e-15, -1.7008963681952594... 2 \n", "1571 [[-2.4824977143400595e-15, -1.9329156331071573... 2 \n", "1572 [[-2.8142381681322062e-15, 3.803390538441569e-... 2 \n", "\n", "[1573 rows x 4 columns]" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.query('-3 <= energy / number_of_atoms < 10')" ] }, { "cell_type": "markdown", "id": "4096a047", "metadata": {}, "source": [ "## Next steps\n", "\n", "This notebook stops at the training set. Fitting a potential is then the\n", "job of a downstream MLIP package — e.g. ACE via `python-ace`, MTP via\n", "`mlip-3`, or any other framework that reads a list of structures with\n", "energies and forces. The dataframe saved in\n", "`Unary//everything_training_data.pckl.gz` is in the format\n", "consumed by `pyace.linearacefit.LinearACEDataset`.\n", "\n", "The companion notebook `ACEFitting.ipynb` walks through training a small linear ACE potential on the dataset produced here." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.12.0" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "0371edc08ca9436cbae6d98258d02d69": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": { "children": [ "IPY_MODEL_3594e5a9804b4142a303f6de02fec527", "IPY_MODEL_d2ed1cd4f2ee4b99acd53349f10e31ea", "IPY_MODEL_8fb611145d9c43c7be15fbfac4f1709b" ], "layout": "IPY_MODEL_6ff4236267644734951d04b341142426" } }, "09af24b793da4048944a502093adb23a": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "0c3764dd70a34caf959142dc51676d56": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "description_width": "", "font_size": null, "text_color": null } }, "0cb64e5423d245ddafa601b3cf388f5a": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "0e921ae5c82944f5b1c7649531657a89": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "118279f7bf0c4e8b920a3479c8ff94b1": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "1b861f892d5349fdba0966001fda9e92": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": { "description_width": "" } }, "215093acdd094afcb4515d0fd862e7ca": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "description_width": "", "font_size": null, "text_color": null } }, "222e360838a74584baab602b5b8f5fa4": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_118279f7bf0c4e8b920a3479c8ff94b1", "style": "IPY_MODEL_215093acdd094afcb4515d0fd862e7ca", "value": " 230/230 [00:09<00:00, 11.95it/s]" } }, "2315c76870b64cbe8e3ff0170dd9ae5b": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "24d488223a104f16a8d437e498ed90af": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_09af24b793da4048944a502093adb23a", "style": "IPY_MODEL_d771466ea4b241a6944c3dcbcf65e66a", "value": "Spacegroups: 100%" } }, "2c0dfb2518da4e97ba784785ac7da2ea": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": { "description_width": "" } }, "3594e5a9804b4142a303f6de02fec527": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_2315c76870b64cbe8e3ff0170dd9ae5b", "style": "IPY_MODEL_66aff1dbf4c3409ca95bab30bf289086", "value": "Spacegroups: 100%" } }, "3d684f489a994c10882a13471447433a": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "description_width": "", "font_size": null, "text_color": null } }, "45e80cb6dfba4144bb4c7e08a1ea52a9": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": { "children": [ "IPY_MODEL_f33cbed3231842f2926a52b5050f2e83", "IPY_MODEL_e0ef8a6c54df4f95ba3dce30b3067c67", "IPY_MODEL_cdba98614920418399f18c8610a6de25" ], "layout": "IPY_MODEL_5807cec438374aad980b12461d35674f" } }, "490cdd8e126d4119b4a0eebbcec7f7e7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": { "bar_style": "success", "layout": "IPY_MODEL_a541b8f11ca04eef9d57b09bf8291aad", "max": 168, "style": "IPY_MODEL_84f123fd396c4bb193b48f56c063fc80", "value": 168 } }, "4a1308ad73c04ab2aa09259479320ac8": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "4a41c9334fe54c6cafdb4ecb2c38e2bf": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_6036a78971a847da9f169d6b6b43d297", "style": "IPY_MODEL_0c3764dd70a34caf959142dc51676d56", "value": " 1573/1573 [00:36<00:00, 40.93it/s]" } }, "4fbdbb3cbc754a8e804b69208e58cbe4": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "534bdd5b25e04a109edaf32de6c86a27": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": { "description_width": "" } }, "53c1ac8b16b84d3c9e36d5b1f9339cb6": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "5807cec438374aad980b12461d35674f": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "5c8e26184c6842db8e71e1ed05983997": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_c900ce29a4fa43b78abfac7ce654392d", "style": "IPY_MODEL_f008f773639f44e3992582ae56d26873", "value": "evaluating: 100%" } }, "5fd59b67319f42d7a10bdb190856722b": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "6036a78971a847da9f169d6b6b43d297": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "66aff1dbf4c3409ca95bab30bf289086": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "description_width": "", "font_size": null, "text_color": null } }, "68733d1abece449fb5cce599e78492a8": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": { "description_width": "" } }, "69453e67dc3a495da5f9f63c24bc0eaf": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_aaf3d09428dc4c519381e0cc481ff747", "style": "IPY_MODEL_90e1f20cc7464115905386830a8fac67", "value": "volume: 100%" } }, "6d991e81a4ec4c24a85b3d1e3b9d037b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": { "children": [ "IPY_MODEL_69453e67dc3a495da5f9f63c24bc0eaf", "IPY_MODEL_490cdd8e126d4119b4a0eebbcec7f7e7", "IPY_MODEL_867a1c1944014af09000ebf7cec98a72" ], "layout": "IPY_MODEL_d3b2aa96abe54ffda0c04e1b9e9c160d" } }, "6ff4236267644734951d04b341142426": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "739b9091713348dcbb7385542d936df3": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": { "bar_style": "success", "layout": "IPY_MODEL_8d3713b20c624b15b4fdd9c18b0bd69f", "max": 1573, "style": "IPY_MODEL_f3c226b0b94741f99f1a4d6f5e52c7bb", "value": 1573 } }, "7a2c1d260dd745109d81bb7d278816a7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": { "children": [ "IPY_MODEL_aa7ddfef9cc74897afd925ff101e37d3", "IPY_MODEL_abe42ae834364337b70433420be3c8f0", "IPY_MODEL_a76c49a07a1f4eaea556fc2ced225450" ], "layout": "IPY_MODEL_b4103bbe5d6b43eeb8ec85c8cfe5fcc9" } }, "7e804f3acbdf4837a1cdef9638ce579c": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": { "bar_style": "success", "layout": "IPY_MODEL_0cb64e5423d245ddafa601b3cf388f5a", "max": 230, "style": "IPY_MODEL_68733d1abece449fb5cce599e78492a8", "value": 230 } }, "84f123fd396c4bb193b48f56c063fc80": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": { "description_width": "" } }, "863775b7cfba4fee95935bb4362aaa9d": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "description_width": "", "font_size": null, "text_color": null } }, "867a1c1944014af09000ebf7cec98a72": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_d2224f50a44a4144837cea2e04ee7481", "style": "IPY_MODEL_ab23c0cf39fb4e45ab4bd7cd30279334", "value": " 168/168 [00:48<00:00,  4.68it/s]" } }, "8b18e0ef80da476c8c1096d09dc649f2": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": { "children": [ "IPY_MODEL_5c8e26184c6842db8e71e1ed05983997", "IPY_MODEL_739b9091713348dcbb7385542d936df3", "IPY_MODEL_4a41c9334fe54c6cafdb4ecb2c38e2bf" ], "layout": "IPY_MODEL_4fbdbb3cbc754a8e804b69208e58cbe4" } }, "8d3713b20c624b15b4fdd9c18b0bd69f": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "8fb611145d9c43c7be15fbfac4f1709b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_0e921ae5c82944f5b1c7649531657a89", "style": "IPY_MODEL_da256f1710ab4cb1938dff879e8dcd88", "value": " 230/230 [00:03<00:00, 37.66it/s]" } }, "90e1f20cc7464115905386830a8fac67": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "description_width": "", "font_size": null, "text_color": null } }, "93ebf51b8e0c4f23b0cd5678a0498c46": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "a3227fdeba72442ca61901ff87dd9f2e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": { "children": [ "IPY_MODEL_24d488223a104f16a8d437e498ed90af", "IPY_MODEL_7e804f3acbdf4837a1cdef9638ce579c", "IPY_MODEL_222e360838a74584baab602b5b8f5fa4" ], "layout": "IPY_MODEL_5fd59b67319f42d7a10bdb190856722b" } }, "a541b8f11ca04eef9d57b09bf8291aad": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "a54485b84a1d45c8b7468550f263458b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "description_width": "", "font_size": null, "text_color": null } }, "a76c49a07a1f4eaea556fc2ced225450": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_b0b4fa26ea004bfbbb013faf7433f3a3", "style": "IPY_MODEL_a54485b84a1d45c8b7468550f263458b", "value": " 3/3 [00:12<00:00,  4.72s/it]" } }, "aa7ddfef9cc74897afd925ff101e37d3": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_b853b00f560246aeb33f91ccf4b36491", "style": "IPY_MODEL_863775b7cfba4fee95935bb4362aaa9d", "value": "Cu2: 100%" } }, "aaf3d09428dc4c519381e0cc481ff747": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "ab23c0cf39fb4e45ab4bd7cd30279334": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "description_width": "", "font_size": null, "text_color": null } }, "ab3c507cb5834c18a4d6907338b5d6d2": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "abe42ae834364337b70433420be3c8f0": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": { "bar_style": "success", "layout": "IPY_MODEL_4a1308ad73c04ab2aa09259479320ac8", "max": 3, "style": "IPY_MODEL_534bdd5b25e04a109edaf32de6c86a27", "value": 3 } }, "b0b4fa26ea004bfbbb013faf7433f3a3": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "b4103bbe5d6b43eeb8ec85c8cfe5fcc9": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "b853b00f560246aeb33f91ccf4b36491": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "bb6b99a8eb944a5b82bfb367b210082d": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "description_width": "", "font_size": null, "text_color": null } }, "c50b406bb0434727bb43dbbf94b31b2c": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "c900ce29a4fa43b78abfac7ce654392d": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "cdba98614920418399f18c8610a6de25": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_ab3c507cb5834c18a4d6907338b5d6d2", "style": "IPY_MODEL_3d684f489a994c10882a13471447433a", "value": " 168/168 [03:13<00:00, 13.00it/s]" } }, "d2224f50a44a4144837cea2e04ee7481": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "d2ed1cd4f2ee4b99acd53349f10e31ea": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": { "bar_style": "success", "layout": "IPY_MODEL_c50b406bb0434727bb43dbbf94b31b2c", "max": 230, "style": "IPY_MODEL_1b861f892d5349fdba0966001fda9e92", "value": 230 } }, "d3b2aa96abe54ffda0c04e1b9e9c160d": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, "d771466ea4b241a6944c3dcbcf65e66a": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "description_width": "", "font_size": null, "text_color": null } }, "da256f1710ab4cb1938dff879e8dcd88": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "description_width": "", "font_size": null, "text_color": null } }, "e0ef8a6c54df4f95ba3dce30b3067c67": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": { "bar_style": "success", "layout": "IPY_MODEL_53c1ac8b16b84d3c9e36d5b1f9339cb6", "max": 168, "style": "IPY_MODEL_2c0dfb2518da4e97ba784785ac7da2ea", "value": 168 } }, "f008f773639f44e3992582ae56d26873": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "description_width": "", "font_size": null, "text_color": null } }, "f33cbed3231842f2926a52b5050f2e83": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_93ebf51b8e0c4f23b0cd5678a0498c46", "style": "IPY_MODEL_bb6b99a8eb944a5b82bfb367b210082d", "value": "full: 100%" } }, "f3c226b0b94741f99f1a4d6f5e52c7bb": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": { "description_width": "" } } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 5 }