{ "cells": [ { "cell_type": "markdown", "id": "heading", "metadata": {}, "source": [ "## Tuning the range separation\n", "\n", "This example tunes the range-separation parameter `gamma` for a long-range corrected functional in ADF. For each gamma value, it evaluates the J function that combines HOMO-IP differences for neutral and anionic states, then selects the gamma that minimizes J.\n" ] }, { "cell_type": "markdown", "id": "imports-md", "metadata": {}, "source": [ "### Initial Imports" ] }, { "cell_type": "code", "execution_count": 1, "id": "imports-code", "metadata": { "tags": [] }, "outputs": [], "source": [ "import psutil\n", "from typing import List, Sequence, Tuple\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from matplotlib.axes import Axes\n", "from scm.plams import (\n", " AMSJob,\n", " Atom,\n", " JobRunner,\n", " Molecule,\n", " MultiJob,\n", " Results,\n", " Settings,\n", " config,\n", " view,\n", ")" ] }, { "cell_type": "markdown", "id": "helpers-md", "metadata": {}, "source": [ "### Define Helper Job and Result Classes\n", "\n", "A `GammaJob` runs three single-point calculations for one gamma value (charge -1, 0, +1), and `GammaResults` computes the corresponding J value." ] }, { "cell_type": "code", "execution_count": 2, "id": "helpers-code", "metadata": { "tags": [] }, "outputs": [], "source": [ "class GammaResults(Results):\n", " @staticmethod\n", " def get_difference(job: AMSJob, job_plus: AMSJob) -> float:\n", " \"\"\"Return HOMO + (E_plus - E) for one charge state pair.\"\"\"\n", " homo = float(job.results.readrkf(\"Properties\", \"HOMO\", file=\"engine\"))\n", " ionization = float(job_plus.results.get_energy() - job.results.get_energy())\n", " return ionization + homo\n", "\n", " def get_J(self) -> float:\n", " n_term = GammaResults.get_difference(self.job.children[1], self.job.children[2])\n", " a_term = GammaResults.get_difference(self.job.children[0], self.job.children[1])\n", " return float((n_term**2 + a_term**2) ** 0.5)\n", "\n", "\n", "class GammaJob(MultiJob):\n", " _result_type = GammaResults\n", "\n", " def __init__(\n", " self,\n", " molecule: Molecule,\n", " gamma: float,\n", " charge: int,\n", " spins: Tuple[int, int, int],\n", " **kwargs,\n", " ) -> None:\n", " super().__init__(**kwargs)\n", " self.molecule = molecule\n", " self.gamma = gamma\n", " self.charge = charge\n", " self.spins = spins\n", "\n", " def prerun(self) -> None:\n", " charges = [self.charge - 1, self.charge, self.charge + 1]\n", " for charge, spin in zip(charges, self.spins):\n", " name = f\"{self.name}_charge_{charge}\".replace(\"-\", \"minus\")\n", " child = AMSJob(name=name, molecule=self.molecule, settings=self.settings)\n", " child.molecule.properties.charge = charge\n", " child.settings.input.adf.xc.rangesep = f\"gamma={self.gamma:f}\"\n", "\n", " if spin != 0:\n", " child.settings.input.adf.unrestricted = True\n", " child.settings.input.adf.SpinPolarization = spin\n", "\n", " self.children.append(child)\n", "\n", "\n", "def gamma_scan(\n", " gammas: Sequence[float],\n", " settings: Settings,\n", " molecule: Molecule,\n", " name: str = \"scan\",\n", " charge: int = 0,\n", " spins: Tuple[int, int, int] = (1, 0, 1),\n", ") -> List[Tuple[float, float]]:\n", " jobs = [\n", " GammaJob(\n", " molecule=molecule,\n", " settings=settings,\n", " gamma=float(gamma),\n", " charge=charge,\n", " spins=spins,\n", " name=f\"{name}_gamma_{gamma}\",\n", " )\n", " for gamma in gammas\n", " ]\n", "\n", " results = [job.run() for job in jobs]\n", " j_values = [result.get_J() for result in results]\n", " return list(zip([float(g) for g in gammas], j_values))\n", "\n", "\n", "def plot_scan(scan_results: Sequence[Tuple[float, float]]) -> Axes:\n", " fig, ax = plt.subplots(figsize=(6, 4))\n", " gammas = [gamma for gamma, _ in scan_results]\n", " j_values = [j for _, j in scan_results]\n", " ax.plot(gammas, j_values, marker=\"o\")\n", " ax.set_xlabel(\"gamma\")\n", " ax.set_ylabel(\"J\")\n", " fig.tight_layout()\n", " return ax" ] }, { "cell_type": "markdown", "id": "parallel-md", "metadata": {}, "source": [ "### Run Gamma Scan\n", "\n", "Configure PLAMS to run independent gamma points in parallel." ] }, { "cell_type": "code", "execution_count": 3, "id": "parallel-code", "metadata": { "tags": [] }, "outputs": [], "source": [ "config.default_jobrunner = JobRunner(parallel=True, maxjobs=psutil.cpu_count(logical=False))" ] }, { "cell_type": "markdown", "id": "settings-md", "metadata": {}, "source": [ "Set up ADF single-point settings with PBE and XCfun enabled.\n" ] }, { "cell_type": "code", "execution_count": 4, "id": "settings-code", "metadata": { "tags": [] }, "outputs": [], "source": [ "s = Settings()\n", "s.input.ams.task = \"SinglePoint\"\n", "s.input.adf.basis.type = \"DZP\"\n", "s.input.adf.basis.core = \"None\"\n", "s.input.adf.xc.gga = \"PBE\"\n", "s.input.adf.xc.xcfun = True\n", "s.runscript.nproc = 1" ] }, { "cell_type": "markdown", "id": "molecule-md", "metadata": {}, "source": [ "Build a toy H2 molecule for the scan.\n" ] }, { "cell_type": "code", "execution_count": 5, "id": "molecule-code", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[10.04|13:56:32] Starting Xvfb...\n", "[10.04|13:56:32] Xvfb started\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mol = Molecule()\n", "mol.add_atom(Atom(symbol=\"H\", coords=(0.0, 0.0, -0.3540)))\n", "mol.add_atom(Atom(symbol=\"H\", coords=(0.0, 0.0, 0.3540)))\n", "view(mol, width=250, height=250, direction=\"along_x\")" ] }, { "cell_type": "markdown", "id": "scan-md", "metadata": {}, "source": [ "Run a small gamma scan. For production use, use a wider range and finer spacing.\n" ] }, { "cell_type": "code", "execution_count": 6, "id": "scan-code", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[10.04|13:56:33] JOB gamma_scan_gamma_1.2 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.3 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.4 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.5 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.6 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.7 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.2 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.2/gamma_scan_gamma_1.2_charge_minus1 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.8 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.2/gamma_scan_gamma_1.2_charge_0 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.2/gamma_scan_gamma_1.2_charge_1 STARTED\n", "[10.04|13:56:33] Waiting for job gamma_scan_gamma_1.2 to finish\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.3 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.4 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.5 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.3/gamma_scan_gamma_1.3_charge_minus1 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.4/gamma_scan_gamma_1.4_charge_minus1 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.3/gamma_scan_gamma_1.3_charge_0 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.4/gamma_scan_gamma_1.4_charge_0 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.5/gamma_scan_gamma_1.5_charge_minus1 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.3/gamma_scan_gamma_1.3_charge_1 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.4/gamma_scan_gamma_1.4_charge_1 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.5/gamma_scan_gamma_1.5_charge_0 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.5/gamma_scan_gamma_1.5_charge_1 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.7 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.6 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.6/gamma_scan_gamma_1.6_charge_minus1 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.6/gamma_scan_gamma_1.6_charge_0 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.7/gamma_scan_gamma_1.7_charge_minus1 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.7/gamma_scan_gamma_1.7_charge_0 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.6/gamma_scan_gamma_1.6_charge_1 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.7/gamma_scan_gamma_1.7_charge_1 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.8 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.8/gamma_scan_gamma_1.8_charge_minus1 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.8/gamma_scan_gamma_1.8_charge_0 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.8/gamma_scan_gamma_1.8_charge_1 STARTED\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.2/gamma_scan_gamma_1.2_charge_minus1 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.2/gamma_scan_gamma_1.2_charge_1 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.2/gamma_scan_gamma_1.2_charge_0 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.3/gamma_scan_gamma_1.3_charge_minus1 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.4/gamma_scan_gamma_1.4_charge_minus1 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.5/gamma_scan_gamma_1.5_charge_minus1 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.5/gamma_scan_gamma_1.5_charge_0 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.4/gamma_scan_gamma_1.4_charge_1 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.6/gamma_scan_gamma_1.6_charge_1 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.8/gamma_scan_gamma_1.8_charge_0 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.5/gamma_scan_gamma_1.5_charge_1 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.6/gamma_scan_gamma_1.6_charge_0 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.7/gamma_scan_gamma_1.7_charge_minus1 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.7/gamma_scan_gamma_1.7_charge_0 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.3/gamma_scan_gamma_1.3_charge_1 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.8/gamma_scan_gamma_1.8_charge_1 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.4/gamma_scan_gamma_1.4_charge_0 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.7/gamma_scan_gamma_1.7_charge_1 RUNNING\n", "[10.04|13:56:33] JOB gamma_scan_gamma_1.6/gamma_scan_gamma_1.6_charge_minus1 RUNNING\n", "[10.04|13:56:34] JOB gamma_scan_gamma_1.3/gamma_scan_gamma_1.3_charge_0 RUNNING\n", "[10.04|13:56:34] JOB gamma_scan_gamma_1.8/gamma_scan_gamma_1.8_charge_minus1 RUNNING\n", "[10.04|13:56:41] JOB gamma_scan_gamma_1.5/gamma_scan_gamma_1.5_charge_0 FINISHED\n", "[10.04|13:56:41] JOB gamma_scan_gamma_1.2/gamma_scan_gamma_1.2_charge_0 FINISHED\n", "[10.04|13:56:41] JOB gamma_scan_gamma_1.5/gamma_scan_gamma_1.5_charge_0 SUCCESSFUL\n", "[10.04|13:56:41] JOB gamma_scan_gamma_1.2/gamma_scan_gamma_1.2_charge_0 SUCCESSFUL\n", "[10.04|13:56:42] JOB gamma_scan_gamma_1.2/gamma_scan_gamma_1.2_charge_1 FINISHED\n", "[10.04|13:56:42] JOB gamma_scan_gamma_1.2/gamma_scan_gamma_1.2_charge_1 SUCCESSFUL\n", "[10.04|13:56:42] JOB gamma_scan_gamma_1.3/gamma_scan_gamma_1.3_charge_1 FINISHED\n", "[10.04|13:56:42] JOB gamma_scan_gamma_1.4/gamma_scan_gamma_1.4_charge_1 FINISHED\n", "[10.04|13:56:42] JOB gamma_scan_gamma_1.4/gamma_scan_gamma_1.4_charge_1 SUCCESSFUL\n", "[10.04|13:56:42] JOB gamma_scan_gamma_1.3/gamma_scan_gamma_1.3_charge_1 SUCCESSFUL\n", "[10.04|13:56:42] JOB gamma_scan_gamma_1.8/gamma_scan_gamma_1.8_charge_1 FINISHED\n", "[10.04|13:56:42] JOB gamma_scan_gamma_1.8/gamma_scan_gamma_1.8_charge_1 SUCCESSFUL\n", "[10.04|13:56:43] JOB gamma_scan_gamma_1.5/gamma_scan_gamma_1.5_charge_1 FINISHED\n", "[10.04|13:56:43] JOB gamma_scan_gamma_1.5/gamma_scan_gamma_1.5_charge_1 SUCCESSFUL\n", "[10.04|13:56:43] JOB gamma_scan_gamma_1.4/gamma_scan_gamma_1.4_charge_minus1 FINISHED\n", "[10.04|13:56:43] JOB gamma_scan_gamma_1.4/gamma_scan_gamma_1.4_charge_minus1 SUCCESSFUL\n", "[10.04|13:56:43] JOB gamma_scan_gamma_1.5/gamma_scan_gamma_1.5_charge_minus1 FINISHED\n", "[10.04|13:56:43] JOB gamma_scan_gamma_1.5/gamma_scan_gamma_1.5_charge_minus1 SUCCESSFUL\n", "[10.04|13:56:43] JOB gamma_scan_gamma_1.3/gamma_scan_gamma_1.3_charge_minus1 FINISHED\n", "[10.04|13:56:43] JOB gamma_scan_gamma_1.3/gamma_scan_gamma_1.3_charge_minus1 SUCCESSFUL\n", "[10.04|13:56:43] JOB gamma_scan_gamma_1.7/gamma_scan_gamma_1.7_charge_minus1 FINISHED\n", "[10.04|13:56:43] JOB gamma_scan_gamma_1.7/gamma_scan_gamma_1.7_charge_minus1 SUCCESSFUL\n", "[10.04|13:56:43] JOB gamma_scan_gamma_1.2/gamma_scan_gamma_1.2_charge_minus1 FINISHED\n", "[10.04|13:56:43] JOB gamma_scan_gamma_1.2/gamma_scan_gamma_1.2_charge_minus1 SUCCESSFUL\n", "[10.04|13:56:43] JOB gamma_scan_gamma_1.2 FINISHED\n", "[10.04|13:56:43] Pickling of gamma_scan_gamma_1.2 failed\n", "[10.04|13:56:43] JOB gamma_scan_gamma_1.2 SUCCESSFUL\n", "[10.04|13:56:43] JOB gamma_scan_gamma_1.5 FINISHED\n", "[10.04|13:56:43] Pickling of gamma_scan_gamma_1.5 failed\n", "[10.04|13:56:43] JOB gamma_scan_gamma_1.5 SUCCESSFUL\n", "[10.04|13:56:43] Waiting for job gamma_scan_gamma_1.3 to finish\n", "[10.04|13:56:48] JOB gamma_scan_gamma_1.8/gamma_scan_gamma_1.8_charge_0 FINISHED\n", "[10.04|13:56:48] JOB gamma_scan_gamma_1.8/gamma_scan_gamma_1.8_charge_0 SUCCESSFUL\n", "[10.04|13:56:48] JOB gamma_scan_gamma_1.7/gamma_scan_gamma_1.7_charge_0 FINISHED\n", "[10.04|13:56:48] JOB gamma_scan_gamma_1.7/gamma_scan_gamma_1.7_charge_0 SUCCESSFUL\n", "[10.04|13:56:49] JOB gamma_scan_gamma_1.6/gamma_scan_gamma_1.6_charge_0 FINISHED\n", "[10.04|13:56:49] JOB gamma_scan_gamma_1.6/gamma_scan_gamma_1.6_charge_0 SUCCESSFUL\n", "[10.04|13:56:49] JOB gamma_scan_gamma_1.3/gamma_scan_gamma_1.3_charge_0 FINISHED\n", "[10.04|13:56:49] JOB gamma_scan_gamma_1.3/gamma_scan_gamma_1.3_charge_0 SUCCESSFUL\n", "[10.04|13:56:49] JOB gamma_scan_gamma_1.4/gamma_scan_gamma_1.4_charge_0 FINISHED\n", "[10.04|13:56:49] JOB gamma_scan_gamma_1.4/gamma_scan_gamma_1.4_charge_0 SUCCESSFUL\n", "[10.04|13:56:50] JOB gamma_scan_gamma_1.6/gamma_scan_gamma_1.6_charge_1 FINISHED\n", "[10.04|13:56:50] JOB gamma_scan_gamma_1.6/gamma_scan_gamma_1.6_charge_1 SUCCESSFUL\n", "[10.04|13:56:50] JOB gamma_scan_gamma_1.7/gamma_scan_gamma_1.7_charge_1 FINISHED\n", "[10.04|13:56:50] JOB gamma_scan_gamma_1.7/gamma_scan_gamma_1.7_charge_1 SUCCESSFUL\n", "[10.04|13:56:50] JOB gamma_scan_gamma_1.6/gamma_scan_gamma_1.6_charge_minus1 FINISHED\n", "[10.04|13:56:50] JOB gamma_scan_gamma_1.6/gamma_scan_gamma_1.6_charge_minus1 SUCCESSFUL\n", "[10.04|13:56:50] JOB gamma_scan_gamma_1.8/gamma_scan_gamma_1.8_charge_minus1 FINISHED\n", "[10.04|13:56:50] JOB gamma_scan_gamma_1.8/gamma_scan_gamma_1.8_charge_minus1 SUCCESSFUL\n", "[10.04|13:56:53] JOB gamma_scan_gamma_1.4 FINISHED\n", "[10.04|13:56:53] JOB gamma_scan_gamma_1.3 FINISHED\n", "[10.04|13:56:53] Pickling of gamma_scan_gamma_1.4 failed\n", "[10.04|13:56:53] JOB gamma_scan_gamma_1.4 SUCCESSFUL\n", "[10.04|13:56:53] JOB gamma_scan_gamma_1.8 FINISHED\n", "[10.04|13:56:53] JOB gamma_scan_gamma_1.7 FINISHED\n", "[10.04|13:56:53] JOB gamma_scan_gamma_1.6 FINISHED\n", "[10.04|13:56:53] Pickling of gamma_scan_gamma_1.3 failed\n", "[10.04|13:56:53] JOB gamma_scan_gamma_1.3 SUCCESSFUL\n", "[10.04|13:56:53] Pickling of gamma_scan_gamma_1.6 failed\n", "[10.04|13:56:53] Pickling of gamma_scan_gamma_1.8 failed\n", "[10.04|13:56:53] JOB gamma_scan_gamma_1.6 SUCCESSFUL\n", "[10.04|13:56:53] JOB gamma_scan_gamma_1.8 SUCCESSFUL\n", "[10.04|13:56:53] Pickling of gamma_scan_gamma_1.7 failed\n", "[10.04|13:56:53] JOB gamma_scan_gamma_1.7 SUCCESSFUL\n" ] } ], "source": [ "gammas = np.around(np.arange(1.2, 1.9, 0.1), decimals=3)\n", "scan_results = gamma_scan(gammas, s, mol, name=\"gamma_scan\")" ] }, { "cell_type": "code", "execution_count": 7, "id": "b5786ed3-142f-46f6-ac00-ffc6fa3f2180", "metadata": {}, "outputs": [], "source": [ "###" ] }, { "cell_type": "code", "execution_count": 8, "id": "1cc09389-3678-45b5-8353-6e3b534620c9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "== Results ==\n", "gamma\tJ\n", "1.2000\t0.01139992\n", "1.3000\t0.00876582\n", "1.4000\t0.00756612\n", "1.5000\t0.00767076\n", "1.6000\t0.00858674\n", "1.7000\t0.00982228\n", "1.8000\t0.01110911\n", "Optimal gamma value: 1.4000\n" ] } ], "source": [ "print(\"== Results ==\")\n", "print(\"gamma\tJ\")\n", "for gamma, j_value in scan_results:\n", " print(f\"{gamma:.4f}\t{j_value:.8f}\")\n", "\n", "best_gamma = min(scan_results, key=lambda pair: pair[1])[0]\n", "print(f\"Optimal gamma value: {best_gamma:.4f}\")" ] }, { "cell_type": "markdown", "id": "plot-md", "metadata": {}, "source": [ "Plot J as a function of gamma and identify the minimum.\n" ] }, { "cell_type": "code", "execution_count": 9, "id": "plot-code", "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "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gu7du0OlUmHs2LG4dOmScbu77roLM2bMwDPPPIM2bdrAy8sLH3/8McrLyzFp0iS4uLigc+fO2LJli3EbvV6PyZMnIyAgAA4ODujWrRvee++9FjtWRNR4LJyIyKrExcXhzz//xMaNG7F161b8/vvvyMzMNL5eXV2N1157Dbt378a3336LkydP4rHHHrtuP6+88goWL16M7du3Izc3F6NGjcKiRYuwatUqfP/99/jxxx/xwQcfmGyzcuVKeHh4ID09HTNmzMCTTz6Jhx9+GP369UNmZiaGDBmC8ePHGwsug8GAdu3aITExEfv378e8efPw0ksvYd26dc16jIjoNggiIitRUlIi7OzsRGJionFdcXGxcHR0FDNnzqxzm507dwoAorS0VAghxM8//ywAiJ9++sk4JiEhQQAQx44dM66bOnWqiImJMf4+cOBAMWDAAOPvNTU1wsnJSYwfP964Li8vTwAQqamp9X6G6dOniwcffLDhH5qIWhTPOBGR1Th+/Diqq6sRERFhXKdWq9GtWzfj7xkZGRg+fDjat28PFxcXDBw4EABw+vRpk33dcccdxv/t5eUFR0dHdOzY0WTdtZf4/r6NjY0N3N3dERQUZLINAJPtlixZgvDwcLRt2xbOzs5Yvnz5dVmIyHywcCKiVqO8vBwxMTFQqVT46quvsHPnTmzYsAEAUFVVZTLWzs7O+L9lMpnJ71fXGQyGerepazuZTAYAxu3WrFmD559/HpMnT8aPP/6I7OxsTJo06bosRGQ+bKUOQETUVDp27Ag7Ozvs3LkT7du3BwDodDocPnwY//jHP3Dw4EFcuHABb775Jvz8/AAAu3btkizvn3/+iX79+mHatGnGdceOHZMsDxHdHM84EZHVcHFxwcSJE/HCCy/g559/xr59+zB58mTI5XLIZDK0b98eCoUCH3zwAY4fP46NGzfitddekyxvly5dsGvXLvzwww84fPgw5s6di507d0qWh4hujoUTEVmVd999F1FRUbjvvvsQHR2N/v37o3v37lAqlWjbti0+//xzJCYmokePHnjzzTfxzjvvSJZ16tSpGDlyJEaPHo3IyEhcuHDB5OwTEZkfmRBCSB2CiKi5lJeXw9fXFwsXLsTkyZOljkNEFo49TkRkVbKysnDw4EFERERAp9Ph1VdfBQA88MADEicjImvAwomIrM4777yDQ4cOQaFQIDw8HL///js8PDykjkVEVoCX6oiIiIgaiM3hRERERA3EwomIiIiogVg4ERERETUQCyciIiKiBmLhRERERNRALJyIiIiIGoiFExEREVEDsXAiIiIiaiAWTkREREQN9P/CO8pvCo5zjwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax = plot_scan(scan_results)\n", "ax;" ] } ], "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.8.16" } }, "nbformat": 4, "nbformat_minor": 5 }