{
"cells": [
{
"cell_type": "markdown",
"id": "ace00001",
"metadata": {},
"source": [
"# Fitting a Linear ACE Potential\n",
"\n",
"This notebook picks up where **SimpleUnary** leaves off: it reads the\n",
"training dataset produced there and fits a simple linear pair-descriptor ACE\n",
"potential with `python-ace`.\n",
"\n",
"## Prerequisites\n",
"\n",
"Run **SimpleUnary** first so that `Unary/2/everything_training_data.pckl.gz`\n",
"exists. Then install the optional `python-ace` package:\n",
"\n",
"```bash\n",
"pip install python-ace\n",
"```\n",
"\n",
"## What this notebook covers\n",
"\n",
"1. **Load** the training dataframe from SimpleUnary.\n",
"2. **Define** a minimal linear ACE basis (pair descriptors only).\n",
"3. **Fit** the potential with ridge regression via `LinearACEFit`.\n",
"4. **Evaluate** train errors (MAE / RMSE on energies and forces).\n",
"5. **Inspect** the resulting pair potential against the Morse reference."
]
},
{
"cell_type": "markdown",
"id": "ace00002",
"metadata": {},
"source": [
"## Imports"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "ace00003",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/ponder/micromamba/envs/assyst/lib/python3.12/site-packages/pyace/multispecies_basisextension.py:4: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.\n",
" import pkg_resources\n"
]
}
],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"\n",
"import pyace\n",
"import pyace.linearacefit as plf\n",
"from ase import Atoms\n",
"from ase.calculators.morse import MorsePotential"
]
},
{
"cell_type": "markdown",
"id": "ace00004",
"metadata": {},
"source": [
"## Load training data\n",
"\n",
"The dataframe was saved by **SimpleUnary** and contains one row per structure\n",
"with columns `ase_atoms`, `energy` (eV), `forces` (eV/Å), and `number_of_atoms`."
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "ace00005",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Loaded 1573 structures\n"
]
},
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" ase_atoms \n",
" energy \n",
" forces \n",
" number_of_atoms \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" (Atom('Cu', [-1.3265240321355765, -7.353189190... \n",
" -1.802887 \n",
" [[6.071532165918825e-18, -7.979727989493313e-1... \n",
" 1 \n",
" \n",
" \n",
" 1 \n",
" (Atom('Cu', [0.0, 0.0, 0.24375080364530244], i... \n",
" -2.192044 \n",
" [[7.556889142223966e-17, 2.886146183156413e-16... \n",
" 1 \n",
" \n",
" \n",
" 2 \n",
" (Atom('Cu', [0.0, 0.0, 0.0], index=0)) \n",
" -1.702372 \n",
" [[4.5102810375396984e-17, 1.708702623837155e-1... \n",
" 1 \n",
" \n",
" \n",
" 3 \n",
" (Atom('Cu', [-1.1459510315187336, -1.145951031... \n",
" -1.921211 \n",
" [[6.895525817007808e-17, -3.673276960380889e-1... \n",
" 1 \n",
" \n",
" \n",
" 4 \n",
" (Atom('Cu', [-0.7029469904758565, 1.2175399025... \n",
" -2.453490 \n",
" [[5.204170427930421e-18, 7.28583859910259e-17,... \n",
" 1 \n",
" \n",
" \n",
"
\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": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"max_num = 2 # match the value used in SimpleUnary\n",
"\n",
"df = pd.read_pickle(f'Unary/{max_num}/everything_training_data.pckl.gz')\n",
"print(f\"Loaded {len(df)} structures\")\n",
"df.head()"
]
},
{
"cell_type": "markdown",
"id": "ace00006",
"metadata": {},
"source": [
"## Define the ACE basis\n",
"\n",
"We use the simplest possible ACE expansion: a **linear, pair-descriptor-only**\n",
"potential (order 1, `lmax=0`) with moderate basis size and cut off."
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "ace00007",
"metadata": {},
"outputs": [],
"source": [
"def make_ace_basis(rmax, number_of_radial_functions, element='Cu'):\n",
" \"\"\"Minimal linear pair-descriptor ACE basis for a single element.\"\"\"\n",
" pot_conf = {\n",
" 'elements': [element],\n",
" 'embeddings': {\n",
" 'ALL': {\n",
" 'fs_parameters': [1, 1],\n",
" 'ndensity': 1,\n",
" 'npot': 'FinnisSinclair',\n",
" },\n",
" },\n",
" 'bonds': {\n",
" 'ALL': {\n",
" 'NameOfCutoffFunction': 'cos',\n",
" 'dcut': 0.01,\n",
" 'radbase': 'ChebPow',\n",
" 'radparameters': [2.0],\n",
" 'rcut': rmax,\n",
" },\n",
" },\n",
" 'functions': {\n",
" 'UNARY': {\n",
" 'nradmax_by_orders': [number_of_radial_functions],\n",
" 'lmax_by_orders': [0],\n",
" }\n",
" }\n",
" }\n",
" return pyace.create_multispecies_basis_config(pot_conf)\n",
"\n",
"\n",
"bbasis = make_ace_basis(rmax=6.5, number_of_radial_functions=20, element='Cu')"
]
},
{
"cell_type": "markdown",
"id": "ace00008",
"metadata": {},
"source": [
"## Build the design matrix\n",
"\n",
"`LinearACEDataset` projects all training structures onto the ACE basis. The\n",
"resulting design matrix has one row per energy observation plus three rows per\n",
"force component."
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "ace00009",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 6.8 ms, sys: 30.8 ms, total: 37.6 ms\n",
"Wall time: 750 ms\n"
]
}
],
"source": [
"ds = plf.LinearACEDataset(bbasis, df)\n",
"\n",
"%time ds.construct_design_matrix()"
]
},
{
"cell_type": "markdown",
"id": "ace00010",
"metadata": {},
"source": [
"## Fit\n",
"\n",
"`LinearACEFit` wraps scikit-learn's `Ridge` solver. For this small dataset\n",
"the fit takes milliseconds."
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "ace00011",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 3.54 ms, sys: 940 μs, total: 4.48 ms\n",
"Wall time: 5.14 ms\n"
]
},
{
"data": {
"text/html": [
"Ridge(alpha=1e-05, copy_X=False, fit_intercept=False, random_state=42) In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org. \n",
"
\n",
"
\n",
" Parameters \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" alpha \n",
" 1e-05 \n",
" \n",
" \n",
"\n",
" \n",
" \n",
" fit_intercept \n",
" False \n",
" \n",
" \n",
"\n",
" \n",
" \n",
" copy_X \n",
" False \n",
" \n",
" \n",
"\n",
" \n",
" \n",
" max_iter \n",
" None \n",
" \n",
" \n",
"\n",
" \n",
" \n",
" tol \n",
" 0.0001 \n",
" \n",
" \n",
"\n",
" \n",
" \n",
" solver \n",
" 'auto' \n",
" \n",
" \n",
"\n",
" \n",
" \n",
" positive \n",
" False \n",
" \n",
" \n",
"\n",
" \n",
" \n",
" random_state \n",
" 42 \n",
" \n",
" \n",
" \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
"Ridge(alpha=1e-05, copy_X=False, fit_intercept=False, random_state=42)"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lf = plf.LinearACEFit(train_dataset=ds)\n",
"\n",
"%time lf.fit()"
]
},
{
"cell_type": "markdown",
"id": "ace00012",
"metadata": {},
"source": [
"## Training errors\n",
"\n",
"`compute_errors` returns MAE and RMSE for energies per atom (`epa_*`) and\n",
"force components (`f_comp_*`)."
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "ace00013",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'epa_mae': 0.002855277384345856,\n",
" 'epa_rmse': 0.0037819909234652733,\n",
" 'f_comp_mae': 0.0016788159377372038,\n",
" 'f_comp_rmse': 0.003674505978445838}"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lf.compute_errors()"
]
},
{
"cell_type": "markdown",
"id": "ace00014",
"metadata": {},
"source": [
"## Inspect the fitted pair potential\n",
"\n",
"A dimer curve (two Cu atoms at varying separation) is an easy sanity check:\n",
"the ACE potential should reproduce the Morse reference minimum near 2.8 Å."
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "ace00015",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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zQ0bGxsGDhxY4P3UQUFBd82aW9jfee8gQFRUVJ62mjVr0r17d7788ku6d+/OunXrmDp1KjY2NkXKLoQQIsc333xDcHAwSUlJrF69moULF/Lcc8/x22+/AZZfBk+YMCHffeR+wfr5559TtWpVVq9ezaxZs7C3t6dr167897//pVatWvlum/vlq7e3t0W7ra3tfc/ynJycTNu2bbG3t+eDDz6gdu3aODo6cvXqVZ588slCfRlwp9zVQe5kMplYvnw5vr6+5pnHATp16oSTkxNLlixh+PDhAOZC79KlS/nORl6Q4ODg+5p07PHHHy/UCitFmUX8zi/Pb968iaIo+X5RDlC9evW77i/37+vhhx/O93Wt1nIc0tHRMc8Ecjdv3iQ+Pt48kHGnog4qANy6deueP7ubN29y/vz5AufSufO4uX8/9/P3J0qOFN1ClCERERFMmDABg8HAyJEjS+w4derUoVatWhw9epQZM2YU67579erFjBkzqFKlSp5i+H44OjrSsWNHDh8+TMOGDQt8s7ubOnXq4O3tzQ8//MD48ePN7REREezevTvfqwpee+01unTpwuDBg7GxsWHEiBEPdB5CCFGR/bug69ixI0ajkcWLF/Pjjz/y9NNPF+nLYCcnJ6ZOncrUqVO5efOmedT7scce48yZM/lum1sARUVF4efnZ27Pzs42F+S5couWjIwMi0LxzuLmzz//5MaNG2zdutU8ug2YC+L74e7ubrGGdq7ff//dPEKaXzG3d+9eTp06Rb169ejatSuLFi3i559/ZtKkSfedpbCaNm1K06ZNi3Wfd3557u7ujkajYceOHfkW7/cq6HP/vn788UeqVatW5OPn7qNKlSps2rQp322cnZ3vud87eXh4cO3atbv2Kepgxu3bt/NtF+qSolsIlZw4ccJ8iVB0dDQ7duxg2bJl2NjYsHbtWjw8PEr0+AsXLqR79+507dqVIUOG4Ofnx+3btzl9+jSHDh3if//7333td+zYsaxZs4Z27doxbtw4GjZsiMlkIiIigi1btvD666/TokWLIu3zs88+o02bNrRt25aXXnqJwMBAkpKSOH/+POvXr+fPP/+86/ZarZapU6cycuRInn76aYYOHUp8fDxTp07Fx8cnzzfcAJ07d6ZevXr89ddfDBgwwHy5lhBCiAf30UcfsWbNGt59912efPLJ+/4y2MvLiyFD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ffv2mR3FoYSHh5f64NukSROOHj1qUiLHdeTIEVasWMEf//hHs6OIg1FdL5tqetlU06+O6nppqukVZ0ZN1+rlVcQwDEaMGMHChQv58ccfiY6ONjtStWEYBnl5eWbHcBg9evRg27ZtJbY9/vjjNG7cmOeff16reV5CXl4eu3bt4pZbbjE7ikO5+eabSz3iaO/evdSrV8+kRI5r1qxZhISEcOedd5odRRyE6vrVUU0vSTX96qiul6aaXnFm1HQ13VVk+PDhfPzxx3z11Vf4+vqSlpYGgNVqxdPT0+R0juOvf/0rt99+O5GRkWRlZTF//nx+/PFHli1bZnY0h+Hr61vqnkFvb2+CgoJ0L+F/Pffcc9x1113UrVuX9PR0Jk6cSGZmJo8++qjZ0RzK6NGj6dy5M5MmTWLAgAFs2LCB9957j/fee8/saA7Fbrcza9YsHn30UVxcVDblItX18qmml081vWJU18unml4xZtV0fXqoIu+88w5w8T6d35o1a5YW5fmNkydPMnjwYFJTU7FarbRs2ZJly5bRq1cvs6NJNZKSksJDDz3E6dOnqVWrFh07diQxMVG/7f2ddu3asXDhQsaNG8crr7xCdHQ006ZN4+GHHzY7mkNZsWIFR48e5YknnjA7ijgQ1fXyqabL9aK6Xj7V9Ioxq6ZrITURERERERGRSqKF1EREREREREQqiZpuERERERERkUqipltERERERESkkqjpFhEREREREakkarpFREREREREKomabhEREREREZFKoqZbREREREREpJKo6RYRERERERGpJGq6RURERERERCqJmm4RqTTvvvsuderUoUePHpw8edLsOCIiInINVNdFro7FMAzD7BAicuPJysqiUaNGLFiwgE8++QRPT0+mTJlidiwRERG5CqrrIldPM90ick26deuGxWLBYrGQnJxcvN3d3R1/f39iYmKoU6cOgYGBpcY+9thjxWO//PLLqgstIiIil6S6LnL9qekWkWs2dOhQUlNTad68efE2Nzc3Hn/8cUJDQ5k6dSqjRo0qNe6NN94gNTW1CpOKiIhIeVTXRa4vNd0iUmGFhYWX3O7l5UVYWBguLi4ltq9du5YRI0Zw4cIF9uzZU2qc1WolLCysUrKKiIhI2VTXRaqGmm4RuaTDhw9jsVj4/PPPufXWW3F3d2fhwoUVHn/q1Cm++eYb/vSnPxEfH8+sWbMqMa2IiIiURXVdxDxqukXkkn69j2vKlCmMHz+eHTt20Lt37wqPnzt3LrGxsTRq1IhHHnmEefPmUVBQUElpRUREpCyq6yLmUdMtIpe0ZcsWvL29+eyzz+jVqxcNGjTAarVWePysWbN45JFHAOjbty+GYfD1119XVlwREREpg+q6iHnUdIvIJSUnJxMfH09UVNQVj920aRM7d+5k4MCBALi4uPDggw/qUjQRERGTqK6LmMel/F1EpCbasmULL7zwwlWNnTVrFkVFRdSuXbt4m2EYODk5kZaWpkVWREREqpjquoh5NNMtIqVkZmZy+PBhWrdufcVj8/Ly+OSTT/j3v/9NcnJy8deWLVu46aabmDt3biUkFhERkctRXRcxl2a6RaSULVu24OTkRIsWLa547FdffUV2djZDhgwpda9Y//79mTVrFs8999z1iioiIiLlUF0XMZdmukWklC1bttC4cWM8PDyueOysWbPo2bPnJRdnuf/++9m5cyfr16+/HjFFRESkAlTXRcylmW4RKeWZZ57hmWeeuaqxS5cuvexrbdq0wTCMq40lIiIiV0F1XcRcmukWkWv29ttv4+Pjw7Zt265o3LBhw/Dx8amkVCIiInI1VNdFri+LoV9Picg1OH78ODk5OQDUrVsXNze3Co9NT08nMzMTgPDwcLy9vSslo4iIiFSM6rrI9aemW0RERERERKSS6PJyERERERERkUqipltERERERESkkqjpFhEREREREakkarpFREREREREKomabhEREREREZFKoqZbREREREREpJKo6RYRERERERGpJGq6RURERERERCqJmm4RERERERGRSqKmW0RERERERKSS/H9G80tM9z4P5QAAAABJRU5ErkJggg==",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def dimer_curve(calc, r_values):\n",
" \"\"\"Evaluate a dimer energy curve for a given ASE calculator.\n",
"\n",
" Args:\n",
" calc: ASE calculator\n",
" r_values: 1-D array of Cu–Cu distances in Å\n",
"\n",
" Returns:\n",
" (r_values, energies) — both as numpy arrays\n",
" \"\"\"\n",
" energies = []\n",
" for r in r_values:\n",
" s = Atoms(['Cu', 'Cu'], positions=[[0, 0, 0], [r, 0, 0]], cell=[40] * 3)\n",
" s.calc = calc\n",
" energies.append(s.get_potential_energy())\n",
" return r_values, np.array(energies)\n",
"\n",
"\n",
"acef = pyace.PyACECalculator(lf.get_bbasis())\n",
"reference = MorsePotential(epsilon=0.3, r0=2.55265548 * 1.10619396, rho0=4)\n",
"\n",
"r = np.linspace(2.0, 7.0, 200)\n",
"_, e_ace = dimer_curve(acef, r)\n",
"_, e_ref = dimer_curve(reference, r)\n",
"\n",
"fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 4))\n",
"\n",
"ax1.plot(r, e_ace, label='ACE')\n",
"ax1.plot(r, e_ref, label='Morse reference', linestyle='--')\n",
"ax1.set_xlabel(r'$r$ [Å]')\n",
"ax1.set_ylabel(r'$E$ [eV]')\n",
"ax1.legend()\n",
"ax1.set_title('Dimer energy')\n",
"\n",
"ax2.plot(r, e_ace - e_ref)\n",
"ax2.axhline(0, color='gray', linewidth=0.8, linestyle='--')\n",
"ax2.set_xlabel(r'$r$ [Å]')\n",
"ax2.set_ylabel(r'$\\Delta E$ [eV]')\n",
"ax2.set_title('Residual (ACE − reference)')\n",
"\n",
"plt.tight_layout()"
]
}
],
"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": {},
"version_major": 2,
"version_minor": 0
}
}
},
"nbformat": 4,
"nbformat_minor": 5
}