{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# The SOAP descriptor, Gaussian Approximation Potentials (GAP) and machine-learning of force fields " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Adam Fekete, Matrina Stella, Henry Lambert, Alessandro De Vita, Gabor Csanyi (gc121@cam.ac.uk)\n", "\n", "## Introduction\n", "\n", "In this tutorial we will be using a Gaussian Approximation Potentials to analyse results of TB DFT calculations of Si surface. Along the way we will learn about different descriptors (2b, 3b, soap) to describe local atomic environment in order to predict energies and forces of Si surface. \n", "\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T23:25:37.431783Z", "start_time": "2019-09-25T23:25:34.912288Z" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "09f90ee183be43eea1a94adef101e02d", "version_major": 2, "version_minor": 0 }, "text/plain": [ "_ColormakerRegistry()" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import os\n", "\n", "import numpy as np\n", "import matplotlib.pylab as plt\n", "\n", "from quippy.potential import Potential\n", "from quippy.descriptors import Descriptor\n", "\n", "from ase import Atoms, units \n", "from ase.build import add_vacuum\n", "from ase.lattice.cubic import Diamond\n", "from ase.io import write\n", "\n", "from ase.constraints import FixAtoms\n", "\n", "from ase.md.velocitydistribution import MaxwellBoltzmannDistribution\n", "from ase.md.verlet import VelocityVerlet\n", "from ase.md.langevin import Langevin\n", "\n", "from ase.optimize.precon import PreconLBFGS, Exp\n", "\n", "from gap_si_surface import ViewStructure" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Part I: MD, descriptors\n", "### Parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can define some parameters here for the MD calculations:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T23:25:37.468121Z", "start_time": "2019-09-25T23:25:37.445712Z" } }, "outputs": [], "source": [ "T = 1000.0 # Temperature [Kelvin]\n", "timestep = 1.0 * units.fs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## System" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Defining configuration for Si slab" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T23:25:37.582000Z", "start_time": "2019-09-25T23:25:37.480222Z" }, "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of atoms: 32\n" ] } ], "source": [ "def build_slab(size=(1,2,2), vacuum=10.):\n", " # Build Si lattice.\n", " # lattice = Diamond('Si', directions=([1, 0, 0], [0, 1, 0], [0, 0, 1]), latticeconstant=5.44, size=size)\n", " lattice = Diamond('Si', latticeconstant=5.44, size=size)\n", " atoms = Atoms(lattice)\n", " \n", "\n", " # Fixing the bottom layer \n", " bottom = atoms.positions[:,2].min()\n", " fixed_mask = (abs(atoms.positions[:,2] - bottom) < 2.0)\n", " atoms.set_constraint(FixAtoms(mask=fixed_mask))\n", " \n", " # build surface by adding space to z direction\n", " add_vacuum(atoms, vacuum)\n", " # atoms.center(vacuum=10.0, axis=2)\n", " \n", " return atoms\n", "\n", "\n", "atoms = build_slab()\n", "print('Number of atoms:', len(atoms))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's visualise the initial configuration:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T23:25:38.342587Z", "start_time": "2019-09-25T23:25:37.589076Z" }, "scrolled": true }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "1ff31fb51368494b86726c484a59f136", "version_major": 2, "version_minor": 0 }, "text/plain": [ "NGLWidget()" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "view = ViewStructure(atoms, repetition=(2,2,1))\n", "view" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## MD dynamics with TB DFTB" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We use TB DFTB potential to calculate the potential energies and forces for the each timestep:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:42:17.925199Z", "start_time": "2019-09-25T22:42:14.803045Z" } }, "outputs": [], "source": [ "# attach tight binding calculator\n", "qm_pot = Potential('TB DFTB', param_filename='dftb-params.xml')\n", "atoms.set_calculator(qm_pot)\n", "\n", "# Thermalize atoms\n", "MaxwellBoltzmannDistribution(atoms, 2.0 * T * units.kB)\n", "# dynamics = VelocityVerlet(atoms, timestep)\n", "dynamics = Langevin(atoms, timestep, T * units.kB, 0.002)\n", " \n", "#attach observer to dynamics to track quantity of interest (temperature)\n", "def print_status(): \n", " print('Step = {}, time = {} [fs], T = {} [K]'.format(\n", " dynamics.nsteps,\n", " dynamics.nsteps * dynamics.dt / units.fs,\n", " atoms.get_kinetic_energy() / (1.5 * units.kB * len(atoms))\n", " ))\n", "\n", "def print_energy(a=atoms): # store a reference to atoms in the definition.\n", " \"\"\"Function to print the potential, kinetic and total energy.\"\"\"\n", " epot = a.get_potential_energy() / len(a)\n", " ekin = a.get_kinetic_energy() / len(a)\n", " print('Energy per atom: Epot = %.3feV Ekin = %.3feV (T=%3.0fK) '\n", " 'Etot = %.3feV' % (epot, ekin, ekin / (1.5 * units.kB), epot + ekin))\n", " \n", "dynamics.attach(print_status, interval=10)\n", "dynamics.attach(print_energy, interval=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's do the dynamics:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:42:49.846543Z", "start_time": "2019-09-25T22:42:17.929760Z" }, "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Step = 0, time = 0.0 [fs], T = 2126.2241342902184 [K]\n", "Energy per atom: Epot = -34.783eV Ekin = 0.275eV (T=2126K) Etot = -34.509eV\n", "Energy per atom: Epot = -34.782eV Ekin = 0.263eV (T=2037K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.778eV Ekin = 0.260eV (T=2010K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.772eV Ekin = 0.253eV (T=1960K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.764eV Ekin = 0.244eV (T=1891K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.754eV Ekin = 0.234eV (T=1810K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.743eV Ekin = 0.222eV (T=1721K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.731eV Ekin = 0.211eV (T=1633K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.718eV Ekin = 0.197eV (T=1522K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.704eV Ekin = 0.183eV (T=1418K) Etot = -34.521eV\n", "Step = 10, time = 10.0 [fs], T = 1307.506208654726 [K]\n", "Energy per atom: Epot = -34.690eV Ekin = 0.169eV (T=1308K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.676eV Ekin = 0.155eV (T=1196K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.662eV Ekin = 0.140eV (T=1083K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.648eV Ekin = 0.127eV (T=983K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.635eV Ekin = 0.114eV (T=883K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.623eV Ekin = 0.102eV (T=789K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.612eV Ekin = 0.092eV (T=710K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.603eV Ekin = 0.082eV (T=636K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.595eV Ekin = 0.074eV (T=574K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.588eV Ekin = 0.068eV (T=522K) Etot = -34.521eV\n", "Step = 20, time = 20.0 [fs], T = 482.4657605134864 [K]\n", "Energy per atom: Epot = -34.583eV Ekin = 0.062eV (T=482K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.580eV Ekin = 0.059eV (T=453K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.578eV Ekin = 0.057eV (T=437K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.578eV Ekin = 0.056eV (T=434K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.579eV Ekin = 0.057eV (T=440K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.581eV Ekin = 0.059eV (T=457K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.584eV Ekin = 0.063eV (T=484K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.589eV Ekin = 0.066eV (T=512K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.594eV Ekin = 0.071eV (T=550K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.600eV Ekin = 0.077eV (T=596K) Etot = -34.523eV\n", "Step = 30, time = 30.0 [fs], T = 641.2190478661748 [K]\n", "Energy per atom: Epot = -34.606eV Ekin = 0.083eV (T=641K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.613eV Ekin = 0.090eV (T=696K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.620eV Ekin = 0.097eV (T=753K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.627eV Ekin = 0.104eV (T=807K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.635eV Ekin = 0.111eV (T=863K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.642eV Ekin = 0.119eV (T=919K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.649eV Ekin = 0.126eV (T=972K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.656eV Ekin = 0.132eV (T=1025K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.663eV Ekin = 0.140eV (T=1079K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.669eV Ekin = 0.145eV (T=1121K) Etot = -34.524eV\n", "Step = 40, time = 40.0 [fs], T = 1161.738945086739 [K]\n", "Energy per atom: Epot = -34.674eV Ekin = 0.150eV (T=1162K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.680eV Ekin = 0.155eV (T=1201K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.684eV Ekin = 0.160eV (T=1240K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.688eV Ekin = 0.164eV (T=1271K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.691eV Ekin = 0.168eV (T=1297K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.694eV Ekin = 0.172eV (T=1330K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.696eV Ekin = 0.175eV (T=1353K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.698eV Ekin = 0.177eV (T=1371K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.698eV Ekin = 0.178eV (T=1375K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.699eV Ekin = 0.178eV (T=1378K) Etot = -34.521eV\n", "Step = 50, time = 50.00000000000001 [fs], T = 1373.781903076175 [K]\n", "Energy per atom: Epot = -34.698eV Ekin = 0.178eV (T=1374K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.698eV Ekin = 0.176eV (T=1364K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.696eV Ekin = 0.176eV (T=1360K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.695eV Ekin = 0.175eV (T=1355K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.693eV Ekin = 0.174eV (T=1344K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.691eV Ekin = 0.171eV (T=1323K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.689eV Ekin = 0.168eV (T=1302K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.687eV Ekin = 0.165eV (T=1275K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.685eV Ekin = 0.163eV (T=1257K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.683eV Ekin = 0.161eV (T=1243K) Etot = -34.522eV\n", "Step = 60, time = 60.0 [fs], T = 1234.8228544898413 [K]\n", "Energy per atom: Epot = -34.682eV Ekin = 0.160eV (T=1235K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.681eV Ekin = 0.159eV (T=1229K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.680eV Ekin = 0.159eV (T=1232K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.680eV Ekin = 0.158eV (T=1219K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.680eV Ekin = 0.157eV (T=1217K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.680eV Ekin = 0.157eV (T=1217K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.681eV Ekin = 0.157eV (T=1214K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.682eV Ekin = 0.158eV (T=1219K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.683eV Ekin = 0.160eV (T=1235K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.684eV Ekin = 0.160eV (T=1241K) Etot = -34.524eV\n", "Step = 70, time = 70.0 [fs], T = 1252.5792913035993 [K]\n", "Energy per atom: Epot = -34.685eV Ekin = 0.162eV (T=1253K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.687eV Ekin = 0.163eV (T=1263K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.688eV Ekin = 0.165eV (T=1273K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.689eV Ekin = 0.166eV (T=1282K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.690eV Ekin = 0.168eV (T=1300K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.691eV Ekin = 0.170eV (T=1313K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.692eV Ekin = 0.171eV (T=1320K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.693eV Ekin = 0.171eV (T=1327K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.693eV Ekin = 0.172eV (T=1334K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.694eV Ekin = 0.174eV (T=1345K) Etot = -34.520eV\n", "Step = 80, time = 80.0 [fs], T = 1354.1064927471066 [K]\n", "Energy per atom: Epot = -34.695eV Ekin = 0.175eV (T=1354K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.696eV Ekin = 0.176eV (T=1359K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.697eV Ekin = 0.177eV (T=1373K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.698eV Ekin = 0.178eV (T=1380K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.700eV Ekin = 0.180eV (T=1390K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.701eV Ekin = 0.182eV (T=1405K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.703eV Ekin = 0.184eV (T=1420K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.705eV Ekin = 0.187eV (T=1446K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.708eV Ekin = 0.190eV (T=1466K) Etot = -34.518eV\n", "Energy per atom: Epot = -34.711eV Ekin = 0.193eV (T=1490K) Etot = -34.518eV\n", "Step = 90, time = 90.0 [fs], T = 1516.9294941034934 [K]\n", "Energy per atom: Epot = -34.713eV Ekin = 0.196eV (T=1517K) Etot = -34.517eV\n", "Energy per atom: Epot = -34.716eV Ekin = 0.199eV (T=1536K) Etot = -34.518eV\n", "Energy per atom: Epot = -34.719eV Ekin = 0.201eV (T=1555K) Etot = -34.518eV\n", "Energy per atom: Epot = -34.721eV Ekin = 0.203eV (T=1569K) Etot = -34.518eV\n", "Energy per atom: Epot = -34.723eV Ekin = 0.205eV (T=1587K) Etot = -34.518eV\n", "Energy per atom: Epot = -34.724eV Ekin = 0.206eV (T=1596K) Etot = -34.518eV\n", "Energy per atom: Epot = -34.725eV Ekin = 0.207eV (T=1598K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.726eV Ekin = 0.207eV (T=1604K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.726eV Ekin = 0.207eV (T=1600K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.725eV Ekin = 0.207eV (T=1599K) Etot = -34.518eV\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Step = 100, time = 100.00000000000001 [fs], T = 1584.1973113365673 [K]\n", "Energy per atom: Epot = -34.723eV Ekin = 0.205eV (T=1584K) Etot = -34.518eV\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.run(steps=100)\n", "\n", "# for _ in range(150):\n", "# dynamics.run(steps=1)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:42:50.108701Z", "start_time": "2019-09-25T22:42:49.877189Z" }, "scrolled": true }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "d7623a4d69d04fd9b5803ae8dfc3b21a", "version_major": 2, "version_minor": 0 }, "text/plain": [ "NGLWidget()" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "view = ViewStructure(atoms)\n", "view" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Using descriptors\n", "\n", "In this section we will intorduce some descriptors which could be useful for describing local atomic enviroments\n", "\n", "You can find more details in the [descriptor tutorial](./quippy-descriptor-tutorial.ipynb)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Pairwise\n", "\n", "Here we use a simple pair distance between Silicon atoms, with a cutoff of 4.0 Angstrom. There are several descriptors that can do this, one is distance_2b, which takes a cutoff argument. Alternatively, the distance_Nb descriptor could also do this, with order=2. This is more general, order=3 is a triangle-like three-body descriptor of the three sides of a triangle of 3 atoms." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:42:50.147192Z", "start_time": "2019-09-25T22:42:50.113989Z" } }, "outputs": [], "source": [ "desc = Descriptor(\"distance_Nb order=2 cutoff=4.0 n_Z=1 Zs={14}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This descriptor is very simple: it is scalar (dimension 1), and hence only has a two (but equivalent) permutations." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:42:50.175572Z", "start_time": "2019-09-25T22:42:50.163656Z" }, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "2" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "desc.n_perm" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:42:50.228379Z", "start_time": "2019-09-25T22:42:50.196907Z" } }, "outputs": [ { "data": { "text/plain": [ "4.0" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "desc.cutoff()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:42:50.257858Z", "start_time": "2019-09-25T22:42:50.238776Z" } }, "outputs": [ { "data": { "text/plain": [ "array([[1],\n", " [1]], dtype=int32)" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "desc.permutations() # array of permutation arrays\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Many descriptors rely on the neighbour connectivity, so we need to call calc_connect, after setting the Atoms cutoff:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:42:50.278714Z", "start_time": "2019-09-25T22:42:50.264308Z" }, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "4.0" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "desc.cutoff()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can now calculate how many instances of this descriptor are found in an Atoms (or ASEAtoms) object:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:42:50.314858Z", "start_time": "2019-09-25T22:42:50.290906Z" } }, "outputs": [ { "data": { "text/plain": [ "195" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "desc.count(atoms)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This also works transparently for iterables (such as lists), returning a list of the counts.\n", "\n", "We can also calculate the actual descriptor values – in this case, the list of pairwise distances:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:42:50.541321Z", "start_time": "2019-09-25T22:42:50.319855Z" }, "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "{'covariance_cutoff': array([1.00000000e+00, 2.14658119e-01, 2.14658119e-01, 3.19795982e-01,\n", " 6.76831904e-01, 2.14658119e-01, 2.14658119e-01, 1.00000000e+00,\n", " 1.92216892e-01, 1.00000000e+00, 2.14658119e-01, 2.14658119e-01,\n", " 1.00000000e+00, 5.49473573e-01, 1.02669964e-01, 1.00000000e+00,\n", " 2.14658119e-01, 2.14658119e-01, 4.28565697e-03, 1.00000000e+00,\n", " 5.32303157e-01, 5.65893474e-02, 3.17080099e-02, 2.14658119e-01,\n", " 2.14658119e-01, 7.67705096e-02, 3.88763394e-01, 1.00000000e+00,\n", " 2.05886791e-01, 5.65694781e-02, 1.00000000e+00, 2.14658119e-01,\n", " 2.14658119e-01, 1.00000000e+00, 3.82420324e-01, 1.00000000e+00,\n", " 1.54120671e-01, 4.61381664e-01, 1.00000000e+00, 2.79930187e-01,\n", " 3.74608882e-02, 1.00000000e+00, 5.43735112e-01, 2.22676798e-01,\n", " 1.00000000e+00, 1.94241936e-03, 9.23567078e-02, 2.15915262e-01,\n", " 3.36721166e-01, 1.00000000e+00, 1.21132692e-01, 1.00000000e+00,\n", " 3.58304355e-07, 1.00000000e+00, 2.24123678e-01, 2.77061373e-01,\n", " 2.80646672e-01, 1.98700480e-01, 7.47843261e-03, 3.55383746e-01,\n", " 4.82663392e-01, 4.63363201e-01, 1.00000000e+00, 7.31119629e-01,\n", " 8.12121535e-01, 1.29910737e-04, 1.00000000e+00, 5.64990697e-01,\n", " 1.00000000e+00, 2.94266750e-01, 1.00000000e+00, 2.14658119e-01,\n", " 2.14658119e-01, 2.41870408e-01, 1.93580589e-01, 3.00766038e-01,\n", " 1.00000000e+00, 2.14658119e-01, 2.14658119e-01, 1.00000000e+00,\n", " 2.45323210e-01, 1.35810322e-01, 1.00000000e+00, 4.99366690e-01,\n", " 1.00000000e+00, 4.07558015e-01, 2.48598177e-01, 2.40033659e-01,\n", " 5.30349415e-02, 1.00000000e+00, 1.21403216e-03, 5.31963558e-01,\n", " 1.00000000e+00, 4.37361512e-01, 4.86924235e-01, 6.35407188e-04,\n", " 1.95029239e-01, 2.01308916e-01, 2.54279797e-01, 1.00000000e+00,\n", " 2.13940396e-02, 7.81557677e-01, 3.52627916e-01, 1.00000000e+00,\n", " 5.13536101e-01, 3.56120536e-03, 1.00000000e+00, 3.41233014e-01,\n", " 1.00000000e+00, 9.33811941e-02, 4.52377357e-01, 1.73666341e-01,\n", " 3.69737937e-01, 1.00000000e+00, 7.95747496e-01, 1.00000000e+00,\n", " 8.94305809e-01, 1.00000000e+00, 8.04260023e-01, 8.00779320e-02,\n", " 8.54949876e-04, 9.38301918e-01, 1.00000000e+00, 1.00000000e+00,\n", " 4.36305075e-01, 1.00000000e+00, 5.94272437e-01, 9.55462366e-01,\n", " 1.00000000e+00, 4.98640668e-02, 1.33190168e-01, 1.00000000e+00,\n", " 5.08484433e-02, 3.89366516e-01, 3.49320447e-01, 8.44153921e-03,\n", " 3.14779079e-02, 6.41430079e-01, 1.00000000e+00, 8.59094150e-02,\n", " 1.00000000e+00, 1.00000000e+00, 9.91037595e-01, 1.00000000e+00,\n", " 1.00000000e+00, 1.00000000e+00, 8.45588201e-04, 1.00000000e+00,\n", " 4.74170888e-01, 5.87505224e-01, 1.00000000e+00, 1.00000000e+00,\n", " 1.69943827e-01, 3.45605498e-03, 1.00000000e+00, 4.54327107e-02,\n", " 2.86809177e-01, 5.51354402e-02, 1.00000000e+00, 9.76859456e-01,\n", " 1.69917382e-01, 1.00000000e+00, 1.00000000e+00, 1.90527971e-01,\n", " 1.00000000e+00, 1.11961385e-01, 3.22921131e-01, 2.01862861e-01,\n", " 9.90932063e-01, 7.02045644e-04, 1.00000000e+00, 7.00340799e-01,\n", " 9.03175475e-01, 1.00000000e+00, 1.00000000e+00, 3.64596170e-01,\n", " 1.00000000e+00, 1.00000000e+00, 1.00000000e+00, 5.65314580e-02,\n", " 2.78732909e-03, 8.27119934e-01, 9.07878534e-02, 1.00000000e+00,\n", " 1.00000000e+00, 1.00000000e+00, 1.00000000e+00, 4.67164136e-01,\n", " 5.46809634e-01, 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,\n", " 3.36143932e-01, 1.00000000e+00, 1.00000000e+00]),\n", " 'data': array([[2.3555891 ],\n", " [3.84666089],\n", " [3.84666089],\n", " [3.80868127],\n", " [3.69246785],\n", " [3.84666089],\n", " [3.84666089],\n", " [2.3555891 ],\n", " [3.85553632],\n", " [2.3555891 ],\n", " [3.84666089],\n", " [3.84666089],\n", " [2.22217899],\n", " [3.73422626],\n", " [3.89617545],\n", " [2.49277209],\n", " [3.84666089],\n", " [3.84666089],\n", " [3.97914695],\n", " [2.3555891 ],\n", " [3.73971042],\n", " [3.92354581],\n", " [3.94301548],\n", " [3.84666089],\n", " [3.84666089],\n", " [3.91063498],\n", " [3.7857065 ],\n", " [2.36400224],\n", " [3.85008681],\n", " [3.9235595 ],\n", " [2.3555891 ],\n", " [3.84666089],\n", " [3.84666089],\n", " [2.40113644],\n", " [3.7877806 ],\n", " [2.53888377],\n", " [3.8715819 ],\n", " [3.76230485],\n", " [2.33638577],\n", " [3.82253553],\n", " [3.93800043],\n", " [2.60488918],\n", " [3.73606087],\n", " [3.84357323],\n", " [2.26074713],\n", " [3.98596662],\n", " [3.9017103 ],\n", " [3.8461741 ],\n", " [3.80294437],\n", " [2.47055579],\n", " [3.88684692],\n", " [2.62747264],\n", " [3.99980946],\n", " [2.36771171],\n", " [3.84302037],\n", " [3.82355411],\n", " [3.82228164],\n", " [3.85293408],\n", " [3.97243879],\n", " [3.79670004],\n", " [3.75551952],\n", " [3.76167232],\n", " [2.31773498],\n", " [3.67352306],\n", " [3.64270374],\n", " [3.99637188],\n", " [2.40507651],\n", " [3.72925412],\n", " [2.31755331],\n", " [3.81749164],\n", " [2.3555891 ],\n", " [3.84666089],\n", " [3.84666089],\n", " [3.83633794],\n", " [3.85498626],\n", " [3.81522899],\n", " [2.3555891 ],\n", " [3.84666089],\n", " [3.84666089],\n", " [2.30939588],\n", " [3.83505773],\n", " [3.87986306],\n", " [2.32869864],\n", " [3.75020159],\n", " [2.3555891 ],\n", " [3.77959547],\n", " [3.83384906],\n", " [3.83702149],\n", " [3.92603149],\n", " [2.36423329],\n", " [3.98890689],\n", " [3.73981874],\n", " [2.27209347],\n", " [3.76999098],\n", " [3.75416262],\n", " [3.99197542],\n", " [3.85440354],\n", " [3.85189622],\n", " [3.83176472],\n", " [2.39676208],\n", " [3.95327413],\n", " [3.65480133],\n", " [3.79761721],\n", " [2.22444622],\n", " [3.7456908 ],\n", " [3.9809933 ],\n", " [2.49686031],\n", " [3.80142738],\n", " [2.19958857],\n", " [3.90114853],\n", " [3.76518177],\n", " [3.86317503],\n", " [3.79194768],\n", " [2.25435087],\n", " [3.64926897],\n", " [2.25125141],\n", " [3.60540013],\n", " [2.36655307],\n", " [3.64588175],\n", " [3.90867685],\n", " [3.99069144],\n", " [3.57990177],\n", " [2.49540074],\n", " [2.33260675],\n", " [3.77032997],\n", " [2.57787592],\n", " [3.71981145],\n", " [3.56768484],\n", " [2.45117234],\n", " [3.92831618],\n", " [3.8810853 ],\n", " [2.34442646],\n", " [3.92759974],\n", " [3.78550961],\n", " [3.79872015],\n", " [3.97071307],\n", " [3.94322485],\n", " [3.70435838],\n", " [2.38005406],\n", " [3.90531209],\n", " [3.33083172],\n", " [2.59003818],\n", " [3.53017959],\n", " [2.29630022],\n", " [2.74641565],\n", " [2.19697139],\n", " [3.99074256],\n", " [2.79562658],\n", " [3.75822532],\n", " [3.72200204],\n", " [2.42958642],\n", " [2.24231016],\n", " [3.86474567],\n", " [3.98127633],\n", " [2.16858341],\n", " [3.93162786],\n", " [3.82010597],\n", " [3.92455341],\n", " [3.28211822],\n", " [3.54861007],\n", " [3.86475688],\n", " [2.37536444],\n", " [2.17973943],\n", " [3.85621962],\n", " [2.50414849],\n", " [3.89139667],\n", " [3.8076162 ],\n", " [3.85167646],\n", " [3.53035729],\n", " [3.99156503],\n", " [2.23884873],\n", " [3.68438668],\n", " [3.60071965],\n", " [2.22916798],\n", " [3.21656615],\n", " [3.79364537],\n", " [2.65405253],\n", " [2.70398075],\n", " [2.36119845],\n", " [3.9235857 ],\n", " [3.98318696],\n", " [3.63649434],\n", " [3.90257603],\n", " [2.24663903],\n", " [3.1391255 ],\n", " [3.44058309],\n", " [2.17928047],\n", " [3.76045951],\n", " [3.73507818],\n", " [2.88693146],\n", " [2.27590978],\n", " [3.39213771],\n", " [3.80313881],\n", " [3.14584918],\n", " [2.44039581]]),\n", " 'has_data': array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])}" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d = desc.calc(atoms)\n", "# for k,v in d.items():\n", "# print(k)\n", "# print(type(v))\n", "d" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that the first array is called cutoff, and it supplies the value of a cutoff function, implicit in all descriptors, which takes the descriptor value to zero as the atoms approach the cutoff, i.e. in this case as the distance between the two atoms approaches the cutoff. It is more complicated for three-body and higher-body descriptors, but the final result is always a descriptor which changes smoothly with atomic positions.\n", "\n", "Here is a histogram of the resulting descriptor array, i.e. of the interatomic distances" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:42:51.120942Z", "start_time": "2019-09-25T22:42:50.556799Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.hist(d['data'], bins=40)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calculate size of descriptor data:\n" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:42:51.251122Z", "start_time": "2019-09-25T22:42:51.125693Z" } }, "outputs": [ { "data": { "text/plain": [ "(195, 390)" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "desc.sizes(atoms)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:42:51.282787Z", "start_time": "2019-09-25T22:42:51.255319Z" }, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "n_desc=195 n_cross=390\n" ] } ], "source": [ "n_desc, n_cross = desc.sizes(atoms)\n", "print(\"n_desc=%d n_cross=%d\" % (n_desc, n_cross))" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:42:51.673427Z", "start_time": "2019-09-25T22:42:51.291495Z" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.matshow(d['data'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## SOAP descriptor\n", "\n", "We will describe the environment using the SOAP descriptor. The SOAP descriptor of an atomic environment is based on a spherical harmonic expansion of the neighbour density, and truncating this expansion at some maximum numer of radial (n_max) and angular (l_max) indices gives rise to some parameters. We also need to give the cutoff within which we consider the neighbour environment.\n", "\n", "Writing the descriptor vector as $p_{ss'nn'l}$, where $s$ and $s'$ are indices that run over the different atomic species in the atom's environment, $n$ and $n'$ are radial and $l$ is an angular index." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:42:51.992618Z", "start_time": "2019-09-25T22:42:51.764995Z" }, "scrolled": true }, "outputs": [], "source": [ "desc = Descriptor(\"soap cutoff=4 l_max=3 n_max=4 normalize=T atom_sigma=0.5 n_Z=1 Z={14} \")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are now only 32 descriptors, because SOAP produces one for each atom in the structure" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:42:52.137338Z", "start_time": "2019-09-25T22:42:52.042193Z" } }, "outputs": [ { "data": { "text/plain": [ "(32, 422)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "desc.sizes(atoms)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "But each descriptor now is a long vector, because it encodes the entire environment of the atom up to the cutoff. The length of the vector depends on l_max and n_max and also on the number of atom types." ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:42:52.209042Z", "start_time": "2019-09-25T22:42:52.141414Z" } }, "outputs": [ { "data": { "text/plain": [ "{'covariance_cutoff': array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]),\n", " 'data': array([[8.72484873e-01, 1.34159734e-04, 1.36705926e-04, ...,\n", " 2.59809734e-08, 1.14112318e-08, 0.00000000e+00],\n", " [7.59438258e-01, 2.64988180e-05, 2.06399928e-05, ...,\n", " 1.47470244e-08, 3.98299197e-09, 0.00000000e+00],\n", " [8.98417344e-01, 1.38097131e-04, 1.40770407e-04, ...,\n", " 1.20256730e-08, 2.19962174e-09, 0.00000000e+00],\n", " ...,\n", " [5.38846271e-01, 2.19806777e-05, 2.34697590e-04, ...,\n", " 1.34797058e-07, 1.20892097e-07, 0.00000000e+00],\n", " [7.09890531e-01, 7.00599810e-05, 1.33968447e-04, ...,\n", " 4.63712579e-08, 2.52251585e-08, 0.00000000e+00],\n", " [7.21058218e-01, 8.57141183e-05, 5.79089330e-05, ...,\n", " 8.82576223e-08, 3.07146036e-08, 0.00000000e+00]]),\n", " 'has_data': array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])}" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d = desc.calc(atoms)\n", "d" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can visualise the values of the descriptor to have an idea of how vector looks like:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:42:52.559195Z", "start_time": "2019-09-25T22:42:52.226764Z" }, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.matshow(d['data'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Part II: GAP: fitting, comparing different descriptors \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Database\n", "\n", "Let's run the MD to generate configurations for the training:" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:02.171962Z", "start_time": "2019-09-25T22:42:52.575928Z" }, "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Energy per atom: Epot = -34.670eV Ekin = 0.142eV (T=1100K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.671eV Ekin = 0.143eV (T=1106K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.673eV Ekin = 0.146eV (T=1127K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.675eV Ekin = 0.147eV (T=1140K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.677eV Ekin = 0.149eV (T=1152K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.679eV Ekin = 0.151eV (T=1169K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.681eV Ekin = 0.153eV (T=1181K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.682eV Ekin = 0.154eV (T=1188K) Etot = -34.529eV\n", "Energy per atom: Epot = -34.684eV Ekin = 0.155eV (T=1202K) Etot = -34.529eV\n", "Step = 610, time = 610.0 [fs], T = 1213.4776009435961 [K]\n", "Energy per atom: Epot = -34.685eV Ekin = 0.157eV (T=1213K) Etot = -34.529eV\n", "Energy per atom: Epot = -34.687eV Ekin = 0.159eV (T=1228K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.688eV Ekin = 0.161eV (T=1242K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.689eV Ekin = 0.162eV (T=1250K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.690eV Ekin = 0.161eV (T=1248K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.690eV Ekin = 0.161eV (T=1245K) Etot = -34.529eV\n", "Energy per atom: Epot = -34.690eV Ekin = 0.161eV (T=1249K) Etot = -34.529eV\n", "Energy per atom: Epot = -34.690eV Ekin = 0.163eV (T=1258K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.689eV Ekin = 0.162eV (T=1254K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.689eV Ekin = 0.160eV (T=1241K) Etot = -34.528eV\n", "Step = 620, time = 620.0 [fs], T = 1234.2040826926918 [K]\n", "Energy per atom: Epot = -34.688eV Ekin = 0.160eV (T=1234K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.686eV Ekin = 0.159eV (T=1228K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.685eV Ekin = 0.157eV (T=1212K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.683eV Ekin = 0.156eV (T=1204K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.680eV Ekin = 0.152eV (T=1179K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.678eV Ekin = 0.151eV (T=1166K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.675eV Ekin = 0.148eV (T=1145K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.673eV Ekin = 0.145eV (T=1121K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.670eV Ekin = 0.143eV (T=1103K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.667eV Ekin = 0.140eV (T=1085K) Etot = -34.527eV\n", "Step = 630, time = 630.0 [fs], T = 1069.8250497127774 [K]\n", "Energy per atom: Epot = -34.665eV Ekin = 0.138eV (T=1070K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.663eV Ekin = 0.136eV (T=1054K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.661eV Ekin = 0.135eV (T=1043K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.660eV Ekin = 0.133eV (T=1025K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.659eV Ekin = 0.131eV (T=1014K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.659eV Ekin = 0.130eV (T=1009K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.659eV Ekin = 0.130eV (T=1009K) Etot = -34.529eV\n", "Energy per atom: Epot = -34.660eV Ekin = 0.131eV (T=1015K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.661eV Ekin = 0.132eV (T=1024K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.663eV Ekin = 0.134eV (T=1040K) Etot = -34.528eV\n", "Step = 640, time = 640.0 [fs], T = 1061.3536445382422 [K]\n", "Energy per atom: Epot = -34.665eV Ekin = 0.137eV (T=1061K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.667eV Ekin = 0.140eV (T=1081K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.670eV Ekin = 0.143eV (T=1108K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.674eV Ekin = 0.146eV (T=1132K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.677eV Ekin = 0.150eV (T=1160K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.681eV Ekin = 0.155eV (T=1199K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.684eV Ekin = 0.158eV (T=1225K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.687eV Ekin = 0.162eV (T=1254K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.690eV Ekin = 0.164eV (T=1273K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.693eV Ekin = 0.168eV (T=1296K) Etot = -34.525eV\n", "Step = 650, time = 650.0 [fs], T = 1316.4452722651693 [K]\n", "Energy per atom: Epot = -34.695eV Ekin = 0.170eV (T=1316K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.697eV Ekin = 0.172eV (T=1328K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.698eV Ekin = 0.173eV (T=1339K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.699eV Ekin = 0.173eV (T=1337K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.700eV Ekin = 0.173eV (T=1342K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.700eV Ekin = 0.174eV (T=1343K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.700eV Ekin = 0.174eV (T=1347K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.699eV Ekin = 0.174eV (T=1344K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.698eV Ekin = 0.173eV (T=1339K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.697eV Ekin = 0.171eV (T=1327K) Etot = -34.525eV\n", "Step = 660, time = 660.0 [fs], T = 1309.8201527012045 [K]\n", "Energy per atom: Epot = -34.695eV Ekin = 0.169eV (T=1310K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.693eV Ekin = 0.166eV (T=1286K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.691eV Ekin = 0.165eV (T=1274K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.689eV Ekin = 0.162eV (T=1254K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.687eV Ekin = 0.160eV (T=1237K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.684eV Ekin = 0.159eV (T=1227K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.682eV Ekin = 0.156eV (T=1206K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.680eV Ekin = 0.154eV (T=1190K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.678eV Ekin = 0.152eV (T=1175K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.676eV Ekin = 0.151eV (T=1170K) Etot = -34.525eV\n", "Step = 670, time = 670.0 [fs], T = 1161.851603014357 [K]\n", "Energy per atom: Epot = -34.675eV Ekin = 0.150eV (T=1162K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.673eV Ekin = 0.148eV (T=1149K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.672eV Ekin = 0.147eV (T=1137K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.671eV Ekin = 0.147eV (T=1137K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.670eV Ekin = 0.145eV (T=1123K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.669eV Ekin = 0.144eV (T=1116K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.669eV Ekin = 0.143eV (T=1106K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.669eV Ekin = 0.143eV (T=1104K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.669eV Ekin = 0.143eV (T=1106K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.669eV Ekin = 0.143eV (T=1109K) Etot = -34.525eV\n", "Step = 680, time = 680.0 [fs], T = 1116.049981841541 [K]\n", "Energy per atom: Epot = -34.669eV Ekin = 0.144eV (T=1116K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.669eV Ekin = 0.145eV (T=1120K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.670eV Ekin = 0.146eV (T=1129K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.670eV Ekin = 0.147eV (T=1138K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.671eV Ekin = 0.148eV (T=1144K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.671eV Ekin = 0.147eV (T=1137K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.671eV Ekin = 0.146eV (T=1133K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.672eV Ekin = 0.147eV (T=1134K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.671eV Ekin = 0.146eV (T=1133K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.671eV Ekin = 0.147eV (T=1136K) Etot = -34.524eV\n", "Step = 690, time = 689.9999999999999 [fs], T = 1138.1637640732908 [K]\n", "Energy per atom: Epot = -34.671eV Ekin = 0.147eV (T=1138K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.670eV Ekin = 0.146eV (T=1129K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.670eV Ekin = 0.145eV (T=1120K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.669eV Ekin = 0.145eV (T=1120K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.668eV Ekin = 0.144eV (T=1112K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.667eV Ekin = 0.142eV (T=1102K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.666eV Ekin = 0.140eV (T=1084K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.665eV Ekin = 0.140eV (T=1084K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.664eV Ekin = 0.139eV (T=1072K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.663eV Ekin = 0.137eV (T=1062K) Etot = -34.526eV\n", "Step = 700, time = 700.0000000000001 [fs], T = 1054.1133918643613 [K]\n", "Energy per atom: Epot = -34.663eV Ekin = 0.136eV (T=1054K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.662eV Ekin = 0.137eV (T=1057K) Etot = -34.525eV\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Energy per atom: Epot = -34.662eV Ekin = 0.135eV (T=1044K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.661eV Ekin = 0.135eV (T=1044K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.661eV Ekin = 0.135eV (T=1047K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.661eV Ekin = 0.136eV (T=1051K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.662eV Ekin = 0.136eV (T=1056K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.662eV Ekin = 0.137eV (T=1062K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.663eV Ekin = 0.138eV (T=1065K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.664eV Ekin = 0.139eV (T=1075K) Etot = -34.525eV\n", "Step = 710, time = 710.0 [fs], T = 1087.5729168770392 [K]\n", "Energy per atom: Epot = -34.666eV Ekin = 0.141eV (T=1088K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.667eV Ekin = 0.143eV (T=1106K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.669eV Ekin = 0.144eV (T=1116K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.670eV Ekin = 0.146eV (T=1130K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.672eV Ekin = 0.148eV (T=1148K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.674eV Ekin = 0.151eV (T=1167K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.676eV Ekin = 0.153eV (T=1181K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.678eV Ekin = 0.155eV (T=1203K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.680eV Ekin = 0.158eV (T=1225K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.682eV Ekin = 0.161eV (T=1244K) Etot = -34.521eV\n", "Step = 720, time = 720.0 [fs], T = 1260.4486838568973 [K]\n", "Energy per atom: Epot = -34.684eV Ekin = 0.163eV (T=1260K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.686eV Ekin = 0.164eV (T=1271K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.688eV Ekin = 0.167eV (T=1289K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.689eV Ekin = 0.167eV (T=1292K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.690eV Ekin = 0.168eV (T=1302K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.691eV Ekin = 0.170eV (T=1318K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.691eV Ekin = 0.171eV (T=1321K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.691eV Ekin = 0.171eV (T=1319K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.691eV Ekin = 0.170eV (T=1313K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.691eV Ekin = 0.170eV (T=1313K) Etot = -34.521eV\n", "Step = 730, time = 730.0 [fs], T = 1306.1395297984811 [K]\n", "Energy per atom: Epot = -34.690eV Ekin = 0.169eV (T=1306K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.688eV Ekin = 0.168eV (T=1297K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.687eV Ekin = 0.166eV (T=1285K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.685eV Ekin = 0.164eV (T=1270K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.683eV Ekin = 0.162eV (T=1255K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.680eV Ekin = 0.160eV (T=1241K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.678eV Ekin = 0.158eV (T=1220K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.675eV Ekin = 0.154eV (T=1194K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.673eV Ekin = 0.151eV (T=1169K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.671eV Ekin = 0.149eV (T=1155K) Etot = -34.521eV\n", "Step = 740, time = 740.0 [fs], T = 1130.0228639362892 [K]\n", "Energy per atom: Epot = -34.668eV Ekin = 0.146eV (T=1130K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.666eV Ekin = 0.144eV (T=1113K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.665eV Ekin = 0.142eV (T=1102K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.663eV Ekin = 0.141eV (T=1089K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.662eV Ekin = 0.140eV (T=1083K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.662eV Ekin = 0.140eV (T=1084K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.662eV Ekin = 0.140eV (T=1079K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.662eV Ekin = 0.139eV (T=1073K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.663eV Ekin = 0.138eV (T=1069K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.664eV Ekin = 0.139eV (T=1076K) Etot = -34.525eV\n", "Step = 750, time = 750.0 [fs], T = 1083.9614905678948 [K]\n", "Energy per atom: Epot = -34.665eV Ekin = 0.140eV (T=1084K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.666eV Ekin = 0.141eV (T=1092K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.668eV Ekin = 0.143eV (T=1105K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.670eV Ekin = 0.145eV (T=1118K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.672eV Ekin = 0.147eV (T=1140K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.674eV Ekin = 0.149eV (T=1149K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.676eV Ekin = 0.150eV (T=1158K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.677eV Ekin = 0.150eV (T=1162K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.679eV Ekin = 0.151eV (T=1172K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.680eV Ekin = 0.152eV (T=1174K) Etot = -34.528eV\n", "Step = 760, time = 760.0 [fs], T = 1182.2959304995202 [K]\n", "Energy per atom: Epot = -34.681eV Ekin = 0.153eV (T=1182K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.681eV Ekin = 0.154eV (T=1188K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.681eV Ekin = 0.152eV (T=1180K) Etot = -34.529eV\n", "Energy per atom: Epot = -34.681eV Ekin = 0.152eV (T=1175K) Etot = -34.529eV\n", "Energy per atom: Epot = -34.681eV Ekin = 0.151eV (T=1168K) Etot = -34.530eV\n", "Energy per atom: Epot = -34.680eV Ekin = 0.150eV (T=1162K) Etot = -34.530eV\n", "Energy per atom: Epot = -34.679eV Ekin = 0.148eV (T=1147K) Etot = -34.530eV\n", "Energy per atom: Epot = -34.677eV Ekin = 0.147eV (T=1134K) Etot = -34.531eV\n", "Energy per atom: Epot = -34.676eV Ekin = 0.144eV (T=1117K) Etot = -34.531eV\n", "Energy per atom: Epot = -34.674eV Ekin = 0.142eV (T=1100K) Etot = -34.532eV\n", "Step = 770, time = 770.0 [fs], T = 1089.9711537191097 [K]\n", "Energy per atom: Epot = -34.672eV Ekin = 0.141eV (T=1090K) Etot = -34.531eV\n", "Energy per atom: Epot = -34.670eV Ekin = 0.140eV (T=1080K) Etot = -34.531eV\n", "Energy per atom: Epot = -34.669eV Ekin = 0.138eV (T=1069K) Etot = -34.531eV\n", "Energy per atom: Epot = -34.667eV Ekin = 0.136eV (T=1054K) Etot = -34.531eV\n", "Energy per atom: Epot = -34.666eV Ekin = 0.134eV (T=1035K) Etot = -34.532eV\n", "Energy per atom: Epot = -34.665eV Ekin = 0.134eV (T=1038K) Etot = -34.531eV\n", "Energy per atom: Epot = -34.664eV Ekin = 0.134eV (T=1033K) Etot = -34.530eV\n", "Energy per atom: Epot = -34.664eV Ekin = 0.133eV (T=1030K) Etot = -34.531eV\n", "Energy per atom: Epot = -34.664eV Ekin = 0.134eV (T=1040K) Etot = -34.529eV\n", "Energy per atom: Epot = -34.665eV Ekin = 0.135eV (T=1046K) Etot = -34.529eV\n", "Step = 780, time = 780.0 [fs], T = 1058.2368819251544 [K]\n", "Energy per atom: Epot = -34.666eV Ekin = 0.137eV (T=1058K) Etot = -34.529eV\n", "Energy per atom: Epot = -34.667eV Ekin = 0.139eV (T=1072K) Etot = -34.529eV\n", "Energy per atom: Epot = -34.669eV Ekin = 0.141eV (T=1091K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.671eV Ekin = 0.143eV (T=1109K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.674eV Ekin = 0.145eV (T=1125K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.676eV Ekin = 0.148eV (T=1147K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.678eV Ekin = 0.151eV (T=1169K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.681eV Ekin = 0.152eV (T=1178K) Etot = -34.529eV\n", "Energy per atom: Epot = -34.683eV Ekin = 0.153eV (T=1186K) Etot = -34.530eV\n", "Energy per atom: Epot = -34.685eV Ekin = 0.156eV (T=1205K) Etot = -34.530eV\n", "Step = 790, time = 789.9999999999999 [fs], T = 1221.4561259539792 [K]\n", "Energy per atom: Epot = -34.687eV Ekin = 0.158eV (T=1221K) Etot = -34.529eV\n", "Energy per atom: Epot = -34.688eV Ekin = 0.159eV (T=1227K) Etot = -34.530eV\n", "Energy per atom: Epot = -34.689eV Ekin = 0.160eV (T=1236K) Etot = -34.530eV\n", "Energy per atom: Epot = -34.690eV Ekin = 0.161eV (T=1245K) Etot = -34.529eV\n", "Energy per atom: Epot = -34.690eV Ekin = 0.162eV (T=1250K) Etot = -34.529eV\n", "Energy per atom: Epot = -34.690eV Ekin = 0.161eV (T=1249K) Etot = -34.529eV\n", "Energy per atom: Epot = -34.690eV Ekin = 0.162eV (T=1251K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.689eV Ekin = 0.161eV (T=1248K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.688eV Ekin = 0.161eV (T=1244K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.687eV Ekin = 0.160eV (T=1240K) Etot = -34.526eV\n", "Step = 800, time = 800.0000000000001 [fs], T = 1224.3944703568234 [K]\n", "Energy per atom: Epot = -34.685eV Ekin = 0.158eV (T=1224K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.683eV Ekin = 0.156eV (T=1204K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.681eV Ekin = 0.153eV (T=1185K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.679eV Ekin = 0.152eV (T=1174K) Etot = -34.527eV\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Energy per atom: Epot = -34.676eV Ekin = 0.149eV (T=1154K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.674eV Ekin = 0.147eV (T=1136K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.671eV Ekin = 0.143eV (T=1108K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.669eV Ekin = 0.141eV (T=1089K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.666eV Ekin = 0.139eV (T=1074K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.664eV Ekin = 0.136eV (T=1056K) Etot = -34.528eV\n", "Step = 810, time = 810.0 [fs], T = 1048.562618524431 [K]\n", "Energy per atom: Epot = -34.662eV Ekin = 0.136eV (T=1049K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.660eV Ekin = 0.133eV (T=1029K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.659eV Ekin = 0.131eV (T=1014K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.658eV Ekin = 0.130eV (T=1003K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.658eV Ekin = 0.129eV (T=999K) Etot = -34.529eV\n", "Energy per atom: Epot = -34.658eV Ekin = 0.129eV (T=1001K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.658eV Ekin = 0.130eV (T=1009K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.659eV Ekin = 0.131eV (T=1013K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.660eV Ekin = 0.132eV (T=1024K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.661eV Ekin = 0.134eV (T=1038K) Etot = -34.527eV\n", "Step = 820, time = 820.0 [fs], T = 1047.2420327306986 [K]\n", "Energy per atom: Epot = -34.663eV Ekin = 0.135eV (T=1047K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.665eV Ekin = 0.137eV (T=1062K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.667eV Ekin = 0.140eV (T=1081K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.669eV Ekin = 0.142eV (T=1101K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.672eV Ekin = 0.144eV (T=1118K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.674eV Ekin = 0.147eV (T=1136K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.677eV Ekin = 0.150eV (T=1162K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.680eV Ekin = 0.153eV (T=1187K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.683eV Ekin = 0.155eV (T=1199K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.686eV Ekin = 0.159eV (T=1233K) Etot = -34.527eV\n", "Step = 830, time = 830.0 [fs], T = 1261.8494846560873 [K]\n", "Energy per atom: Epot = -34.689eV Ekin = 0.163eV (T=1262K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.693eV Ekin = 0.166eV (T=1286K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.696eV Ekin = 0.171eV (T=1319K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.699eV Ekin = 0.174eV (T=1345K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.702eV Ekin = 0.176eV (T=1362K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.705eV Ekin = 0.179eV (T=1386K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.707eV Ekin = 0.182eV (T=1409K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.710eV Ekin = 0.185eV (T=1428K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.712eV Ekin = 0.187eV (T=1446K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.713eV Ekin = 0.189eV (T=1464K) Etot = -34.524eV\n", "Step = 840, time = 840.0 [fs], T = 1473.1796543543905 [K]\n", "Energy per atom: Epot = -34.714eV Ekin = 0.190eV (T=1473K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.714eV Ekin = 0.191eV (T=1477K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.714eV Ekin = 0.192eV (T=1484K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.713eV Ekin = 0.191eV (T=1476K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.712eV Ekin = 0.191eV (T=1475K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.710eV Ekin = 0.188eV (T=1454K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.707eV Ekin = 0.185eV (T=1429K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.704eV Ekin = 0.181eV (T=1401K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.701eV Ekin = 0.177eV (T=1371K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.698eV Ekin = 0.174eV (T=1345K) Etot = -34.524eV\n", "Step = 850, time = 850.0 [fs], T = 1319.0981610208323 [K]\n", "Energy per atom: Epot = -34.695eV Ekin = 0.171eV (T=1319K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.691eV Ekin = 0.167eV (T=1295K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.688eV Ekin = 0.164eV (T=1271K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.686eV Ekin = 0.162eV (T=1254K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.683eV Ekin = 0.160eV (T=1236K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.682eV Ekin = 0.158eV (T=1222K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.681eV Ekin = 0.157eV (T=1211K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.681eV Ekin = 0.156eV (T=1207K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.681eV Ekin = 0.156eV (T=1208K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.682eV Ekin = 0.158eV (T=1219K) Etot = -34.524eV\n", "Step = 860, time = 860.0 [fs], T = 1230.7107298901024 [K]\n", "Energy per atom: Epot = -34.683eV Ekin = 0.159eV (T=1231K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.685eV Ekin = 0.160eV (T=1237K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.688eV Ekin = 0.162eV (T=1252K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.691eV Ekin = 0.165eV (T=1279K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.694eV Ekin = 0.168eV (T=1303K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.697eV Ekin = 0.171eV (T=1325K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.700eV Ekin = 0.175eV (T=1352K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.704eV Ekin = 0.178eV (T=1375K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.707eV Ekin = 0.181eV (T=1400K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.710eV Ekin = 0.184eV (T=1426K) Etot = -34.526eV\n", "Step = 870, time = 870.0 [fs], T = 1445.5688460227605 [K]\n", "Energy per atom: Epot = -34.713eV Ekin = 0.187eV (T=1446K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.715eV Ekin = 0.189eV (T=1459K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.718eV Ekin = 0.191eV (T=1480K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.720eV Ekin = 0.193eV (T=1493K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.721eV Ekin = 0.195eV (T=1506K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.722eV Ekin = 0.196eV (T=1516K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.723eV Ekin = 0.197eV (T=1524K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.724eV Ekin = 0.199eV (T=1538K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.724eV Ekin = 0.201eV (T=1553K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.723eV Ekin = 0.201eV (T=1554K) Etot = -34.522eV\n", "Step = 880, time = 879.9999999999999 [fs], T = 1550.4222940578104 [K]\n", "Energy per atom: Epot = -34.722eV Ekin = 0.200eV (T=1550K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.721eV Ekin = 0.198eV (T=1533K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.719eV Ekin = 0.197eV (T=1522K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.717eV Ekin = 0.195eV (T=1507K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.715eV Ekin = 0.193eV (T=1495K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.712eV Ekin = 0.191eV (T=1476K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.709eV Ekin = 0.188eV (T=1455K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.706eV Ekin = 0.184eV (T=1423K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.703eV Ekin = 0.182eV (T=1405K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.699eV Ekin = 0.178eV (T=1376K) Etot = -34.521eV\n", "Step = 890, time = 890.0000000000001 [fs], T = 1349.3007898319372 [K]\n", "Energy per atom: Epot = -34.695eV Ekin = 0.174eV (T=1349K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.692eV Ekin = 0.171eV (T=1321K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.688eV Ekin = 0.166eV (T=1283K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.685eV Ekin = 0.162eV (T=1252K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.681eV Ekin = 0.158eV (T=1224K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.678eV Ekin = 0.154eV (T=1195K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.675eV Ekin = 0.152eV (T=1176K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.673eV Ekin = 0.149eV (T=1155K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.670eV Ekin = 0.147eV (T=1134K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.668eV Ekin = 0.145eV (T=1125K) Etot = -34.523eV\n", "Step = 900, time = 900.0 [fs], T = 1112.7854874238203 [K]\n", "Energy per atom: Epot = -34.666eV Ekin = 0.144eV (T=1113K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.665eV Ekin = 0.143eV (T=1108K) Etot = -34.522eV\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Energy per atom: Epot = -34.664eV Ekin = 0.143eV (T=1105K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.663eV Ekin = 0.142eV (T=1098K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.663eV Ekin = 0.141eV (T=1090K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.664eV Ekin = 0.141eV (T=1092K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.664eV Ekin = 0.142eV (T=1100K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.666eV Ekin = 0.143eV (T=1110K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.667eV Ekin = 0.145eV (T=1122K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.669eV Ekin = 0.147eV (T=1134K) Etot = -34.523eV\n", "Step = 910, time = 910.0 [fs], T = 1154.638311116254 [K]\n", "Energy per atom: Epot = -34.672eV Ekin = 0.149eV (T=1155K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.674eV Ekin = 0.152eV (T=1174K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.677eV Ekin = 0.154eV (T=1194K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.680eV Ekin = 0.157eV (T=1217K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.683eV Ekin = 0.161eV (T=1243K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.686eV Ekin = 0.163eV (T=1263K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.689eV Ekin = 0.167eV (T=1290K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.692eV Ekin = 0.169eV (T=1310K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.695eV Ekin = 0.172eV (T=1332K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.698eV Ekin = 0.175eV (T=1354K) Etot = -34.523eV\n", "Step = 920, time = 920.0 [fs], T = 1375.175238346479 [K]\n", "Energy per atom: Epot = -34.700eV Ekin = 0.178eV (T=1375K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.702eV Ekin = 0.179eV (T=1388K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.704eV Ekin = 0.182eV (T=1405K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.706eV Ekin = 0.183eV (T=1419K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.708eV Ekin = 0.186eV (T=1438K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.709eV Ekin = 0.187eV (T=1447K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.710eV Ekin = 0.188eV (T=1452K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.710eV Ekin = 0.188eV (T=1456K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.711eV Ekin = 0.189eV (T=1460K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.710eV Ekin = 0.189eV (T=1460K) Etot = -34.522eV\n", "Step = 930, time = 930.0 [fs], T = 1458.7143296739027 [K]\n", "Energy per atom: Epot = -34.710eV Ekin = 0.189eV (T=1459K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.709eV Ekin = 0.189eV (T=1460K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.708eV Ekin = 0.187eV (T=1444K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.707eV Ekin = 0.186eV (T=1441K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.705eV Ekin = 0.186eV (T=1437K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.703eV Ekin = 0.184eV (T=1424K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.701eV Ekin = 0.182eV (T=1405K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.698eV Ekin = 0.179eV (T=1381K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.696eV Ekin = 0.175eV (T=1351K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.693eV Ekin = 0.173eV (T=1337K) Etot = -34.520eV\n", "Step = 940, time = 940.0 [fs], T = 1318.911914675727 [K]\n", "Energy per atom: Epot = -34.690eV Ekin = 0.170eV (T=1319K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.686eV Ekin = 0.167eV (T=1290K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.683eV Ekin = 0.163eV (T=1262K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.680eV Ekin = 0.159eV (T=1233K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.677eV Ekin = 0.157eV (T=1212K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.674eV Ekin = 0.153eV (T=1187K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.671eV Ekin = 0.150eV (T=1164K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.668eV Ekin = 0.148eV (T=1142K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.666eV Ekin = 0.145eV (T=1124K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.664eV Ekin = 0.143eV (T=1107K) Etot = -34.521eV\n", "Step = 950, time = 950.0 [fs], T = 1099.0873560001837 [K]\n", "Energy per atom: Epot = -34.662eV Ekin = 0.142eV (T=1099K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.661eV Ekin = 0.141eV (T=1088K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.661eV Ekin = 0.140eV (T=1080K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.660eV Ekin = 0.140eV (T=1082K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.660eV Ekin = 0.141eV (T=1087K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.660eV Ekin = 0.141eV (T=1090K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.661eV Ekin = 0.141eV (T=1089K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.661eV Ekin = 0.141eV (T=1090K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.662eV Ekin = 0.142eV (T=1102K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.663eV Ekin = 0.144eV (T=1113K) Etot = -34.519eV\n", "Step = 960, time = 960.0 [fs], T = 1121.7438534640573 [K]\n", "Energy per atom: Epot = -34.664eV Ekin = 0.145eV (T=1122K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.665eV Ekin = 0.147eV (T=1136K) Etot = -34.518eV\n", "Energy per atom: Epot = -34.666eV Ekin = 0.147eV (T=1136K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.667eV Ekin = 0.147eV (T=1135K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.668eV Ekin = 0.148eV (T=1144K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.668eV Ekin = 0.147eV (T=1140K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.669eV Ekin = 0.148eV (T=1145K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.669eV Ekin = 0.148eV (T=1144K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.669eV Ekin = 0.148eV (T=1145K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.669eV Ekin = 0.148eV (T=1144K) Etot = -34.521eV\n", "Step = 970, time = 969.9999999999999 [fs], T = 1150.8046259890853 [K]\n", "Energy per atom: Epot = -34.669eV Ekin = 0.149eV (T=1151K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.669eV Ekin = 0.147eV (T=1135K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.668eV Ekin = 0.146eV (T=1127K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.668eV Ekin = 0.145eV (T=1122K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.667eV Ekin = 0.144eV (T=1115K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.667eV Ekin = 0.144eV (T=1115K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.667eV Ekin = 0.144eV (T=1118K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.666eV Ekin = 0.143eV (T=1108K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.666eV Ekin = 0.143eV (T=1107K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.666eV Ekin = 0.144eV (T=1110K) Etot = -34.522eV\n", "Step = 980, time = 980.0000000000001 [fs], T = 1116.9613964890314 [K]\n", "Energy per atom: Epot = -34.666eV Ekin = 0.144eV (T=1117K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.667eV Ekin = 0.145eV (T=1124K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.667eV Ekin = 0.146eV (T=1132K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.668eV Ekin = 0.148eV (T=1143K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.670eV Ekin = 0.150eV (T=1162K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.671eV Ekin = 0.152eV (T=1176K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.673eV Ekin = 0.154eV (T=1194K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.675eV Ekin = 0.156eV (T=1209K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.677eV Ekin = 0.159eV (T=1228K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.680eV Ekin = 0.162eV (T=1253K) Etot = -34.518eV\n", "Step = 990, time = 990.0 [fs], T = 1261.7042483844475 [K]\n", "Energy per atom: Epot = -34.682eV Ekin = 0.163eV (T=1262K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.684eV Ekin = 0.165eV (T=1279K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.686eV Ekin = 0.168eV (T=1296K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.688eV Ekin = 0.170eV (T=1316K) Etot = -34.518eV\n", "Energy per atom: Epot = -34.690eV Ekin = 0.172eV (T=1332K) Etot = -34.518eV\n", "Energy per atom: Epot = -34.691eV Ekin = 0.173eV (T=1338K) Etot = -34.518eV\n", "Energy per atom: Epot = -34.692eV Ekin = 0.173eV (T=1342K) Etot = -34.518eV\n", "Energy per atom: Epot = -34.692eV Ekin = 0.174eV (T=1343K) Etot = -34.518eV\n", "Energy per atom: Epot = -34.691eV Ekin = 0.173eV (T=1338K) Etot = -34.518eV\n", "Energy per atom: Epot = -34.690eV Ekin = 0.172eV (T=1330K) Etot = -34.518eV\n", "Step = 1000, time = 1000.0 [fs], T = 1312.3702881693948 [K]\n", "Energy per atom: Epot = -34.689eV Ekin = 0.170eV (T=1312K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.687eV Ekin = 0.168eV (T=1298K) Etot = -34.519eV\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Energy per atom: Epot = -34.684eV Ekin = 0.165eV (T=1280K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.681eV Ekin = 0.163eV (T=1263K) Etot = -34.518eV\n", "Energy per atom: Epot = -34.678eV Ekin = 0.160eV (T=1237K) Etot = -34.518eV\n", "Energy per atom: Epot = -34.675eV Ekin = 0.157eV (T=1214K) Etot = -34.518eV\n", "Energy per atom: Epot = -34.671eV Ekin = 0.154eV (T=1190K) Etot = -34.518eV\n", "Energy per atom: Epot = -34.668eV Ekin = 0.151eV (T=1166K) Etot = -34.518eV\n", "Energy per atom: Epot = -34.666eV Ekin = 0.147eV (T=1139K) Etot = -34.518eV\n", "Energy per atom: Epot = -34.663eV Ekin = 0.145eV (T=1119K) Etot = -34.519eV\n", "Step = 1010, time = 1010.0 [fs], T = 1107.3682349275302 [K]\n", "Energy per atom: Epot = -34.661eV Ekin = 0.143eV (T=1107K) Etot = -34.518eV\n", "Energy per atom: Epot = -34.660eV Ekin = 0.142eV (T=1097K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.660eV Ekin = 0.142eV (T=1099K) Etot = -34.518eV\n", "Energy per atom: Epot = -34.660eV Ekin = 0.143eV (T=1103K) Etot = -34.518eV\n", "Energy per atom: Epot = -34.662eV Ekin = 0.143eV (T=1108K) Etot = -34.518eV\n", "Energy per atom: Epot = -34.664eV Ekin = 0.145eV (T=1118K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.666eV Ekin = 0.147eV (T=1134K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.669eV Ekin = 0.150eV (T=1162K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.673eV Ekin = 0.154eV (T=1193K) Etot = -34.519eV\n", "Energy per atom: Epot = -34.677eV Ekin = 0.158eV (T=1225K) Etot = -34.519eV\n", "Step = 1020, time = 1020.0 [fs], T = 1254.456856444442 [K]\n", "Energy per atom: Epot = -34.682eV Ekin = 0.162eV (T=1254K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.687eV Ekin = 0.166eV (T=1287K) Etot = -34.520eV\n", "Energy per atom: Epot = -34.692eV Ekin = 0.170eV (T=1314K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.696eV Ekin = 0.175eV (T=1357K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.701eV Ekin = 0.180eV (T=1389K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.705eV Ekin = 0.184eV (T=1425K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.709eV Ekin = 0.189eV (T=1461K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.713eV Ekin = 0.191eV (T=1476K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.716eV Ekin = 0.193eV (T=1496K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.719eV Ekin = 0.196eV (T=1515K) Etot = -34.523eV\n", "Step = 1030, time = 1030.0 [fs], T = 1533.4115403699773 [K]\n", "Energy per atom: Epot = -34.721eV Ekin = 0.198eV (T=1533K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.722eV Ekin = 0.199eV (T=1543K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.723eV Ekin = 0.200eV (T=1548K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.724eV Ekin = 0.201eV (T=1557K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.723eV Ekin = 0.202eV (T=1559K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.723eV Ekin = 0.201eV (T=1559K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.721eV Ekin = 0.200eV (T=1544K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.720eV Ekin = 0.199eV (T=1540K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.718eV Ekin = 0.196eV (T=1519K) Etot = -34.521eV\n", "Energy per atom: Epot = -34.715eV Ekin = 0.194eV (T=1499K) Etot = -34.522eV\n", "Step = 1040, time = 1040.0 [fs], T = 1475.3818337384587 [K]\n", "Energy per atom: Epot = -34.713eV Ekin = 0.191eV (T=1475K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.710eV Ekin = 0.187eV (T=1450K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.708eV Ekin = 0.185eV (T=1434K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.705eV Ekin = 0.183eV (T=1416K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.703eV Ekin = 0.180eV (T=1391K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.700eV Ekin = 0.177eV (T=1369K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.698eV Ekin = 0.176eV (T=1361K) Etot = -34.522eV\n", "Energy per atom: Epot = -34.696eV Ekin = 0.173eV (T=1339K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.694eV Ekin = 0.171eV (T=1321K) Etot = -34.523eV\n", "Energy per atom: Epot = -34.692eV Ekin = 0.169eV (T=1306K) Etot = -34.523eV\n", "Step = 1050, time = 1050.0 [fs], T = 1289.440068746159 [K]\n", "Energy per atom: Epot = -34.691eV Ekin = 0.167eV (T=1289K) Etot = -34.524eV\n", "Energy per atom: Epot = -34.689eV Ekin = 0.164eV (T=1271K) Etot = -34.525eV\n", "Energy per atom: Epot = -34.687eV Ekin = 0.162eV (T=1252K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.686eV Ekin = 0.160eV (T=1236K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.684eV Ekin = 0.158eV (T=1223K) Etot = -34.526eV\n", "Energy per atom: Epot = -34.682eV Ekin = 0.156eV (T=1203K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.680eV Ekin = 0.153eV (T=1182K) Etot = -34.527eV\n", "Energy per atom: Epot = -34.678eV Ekin = 0.151eV (T=1166K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.676eV Ekin = 0.148eV (T=1147K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.674eV Ekin = 0.146eV (T=1133K) Etot = -34.527eV\n", "Step = 1060, time = 1060.0 [fs], T = 1106.3208287365883 [K]\n", "Energy per atom: Epot = -34.671eV Ekin = 0.143eV (T=1106K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.669eV Ekin = 0.141eV (T=1091K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.666eV Ekin = 0.138eV (T=1069K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.664eV Ekin = 0.135eV (T=1045K) Etot = -34.529eV\n", "Energy per atom: Epot = -34.662eV Ekin = 0.132eV (T=1025K) Etot = -34.529eV\n", "Energy per atom: Epot = -34.660eV Ekin = 0.130eV (T=1010K) Etot = -34.529eV\n", "Energy per atom: Epot = -34.658eV Ekin = 0.130eV (T=1002K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.656eV Ekin = 0.127eV (T=985K) Etot = -34.529eV\n", "Energy per atom: Epot = -34.656eV Ekin = 0.127eV (T=985K) Etot = -34.528eV\n", "Energy per atom: Epot = -34.655eV Ekin = 0.126eV (T=976K) Etot = -34.529eV\n", "Step = 1070, time = 1070.0 [fs], T = 980.9725165651028 [K]\n", "Energy per atom: Epot = -34.656eV Ekin = 0.127eV (T=981K) Etot = -34.529eV\n", "Energy per atom: Epot = -34.657eV Ekin = 0.127eV (T=981K) Etot = -34.530eV\n", "Energy per atom: Epot = -34.658eV Ekin = 0.129eV (T=994K) Etot = -34.530eV\n", "Energy per atom: Epot = -34.660eV Ekin = 0.130eV (T=1005K) Etot = -34.530eV\n", "Energy per atom: Epot = -34.663eV Ekin = 0.132eV (T=1023K) Etot = -34.531eV\n", "Energy per atom: Epot = -34.666eV Ekin = 0.136eV (T=1048K) Etot = -34.530eV\n", "Energy per atom: Epot = -34.670eV Ekin = 0.140eV (T=1081K) Etot = -34.530eV\n", "Energy per atom: Epot = -34.674eV Ekin = 0.143eV (T=1110K) Etot = -34.530eV\n", "Energy per atom: Epot = -34.678eV Ekin = 0.147eV (T=1139K) Etot = -34.531eV\n", "Energy per atom: Epot = -34.683eV Ekin = 0.152eV (T=1176K) Etot = -34.531eV\n", "Step = 1080, time = 1080.0 [fs], T = 1210.131324601977 [K]\n", "Energy per atom: Epot = -34.687eV Ekin = 0.156eV (T=1210K) Etot = -34.531eV\n", "Energy per atom: Epot = -34.692eV Ekin = 0.160eV (T=1241K) Etot = -34.531eV\n", "Energy per atom: Epot = -34.696eV Ekin = 0.165eV (T=1273K) Etot = -34.531eV\n", "Energy per atom: Epot = -34.700eV Ekin = 0.169eV (T=1311K) Etot = -34.531eV\n", "Energy per atom: Epot = -34.704eV Ekin = 0.173eV (T=1342K) Etot = -34.531eV\n", "Energy per atom: Epot = -34.707eV Ekin = 0.177eV (T=1369K) Etot = -34.530eV\n", "Energy per atom: Epot = -34.710eV Ekin = 0.180eV (T=1393K) Etot = -34.530eV\n", "Energy per atom: Epot = -34.713eV Ekin = 0.182eV (T=1411K) Etot = -34.530eV\n", "Energy per atom: Epot = -34.715eV Ekin = 0.185eV (T=1428K) Etot = -34.530eV\n", "Energy per atom: Epot = -34.716eV Ekin = 0.186eV (T=1437K) Etot = -34.531eV\n", "Step = 1090, time = 1090.0 [fs], T = 1439.9055594814956 [K]\n", "Energy per atom: Epot = -34.717eV Ekin = 0.186eV (T=1440K) Etot = -34.531eV\n", "Energy per atom: Epot = -34.717eV Ekin = 0.185eV (T=1433K) Etot = -34.532eV\n", "Energy per atom: Epot = -34.717eV Ekin = 0.185eV (T=1430K) Etot = -34.532eV\n", "Energy per atom: Epot = -34.717eV Ekin = 0.183eV (T=1416K) Etot = -34.534eV\n", "Energy per atom: Epot = -34.715eV Ekin = 0.182eV (T=1410K) Etot = -34.533eV\n", "Energy per atom: Epot = -34.714eV Ekin = 0.181eV (T=1398K) Etot = -34.533eV\n", "Energy per atom: Epot = -34.712eV Ekin = 0.178eV (T=1378K) Etot = -34.534eV\n", "Energy per atom: Epot = -34.710eV Ekin = 0.176eV (T=1361K) Etot = -34.534eV\n", "Energy per atom: Epot = -34.708eV Ekin = 0.173eV (T=1338K) Etot = -34.535eV\n", "Energy per atom: Epot = -34.705eV Ekin = 0.170eV (T=1318K) Etot = -34.535eV\n", "Step = 1100, time = 1100.0 [fs], T = 1294.479828341841 [K]\n", "Energy per atom: Epot = -34.703eV Ekin = 0.167eV (T=1294K) Etot = -34.535eV\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "db = []\n", "def collect_data():\n", " db.append(atoms.copy())\n", "\n", "dynamics.attach(collect_data, interval=10)\n", "dynamics.run(steps=500)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:02.210923Z", "start_time": "2019-09-25T22:45:02.174957Z" } }, "outputs": [ { "data": { "text/plain": [ "100" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The size of the database:\n", "len(db)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Save the results into a file for using it as an input for the fitting:" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:02.275871Z", "start_time": "2019-09-25T22:45:02.219112Z" }, "scrolled": true }, "outputs": [], "source": [ "write('/tmp/atoms_db.xyz', db)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Fitting the 2-body potential" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We need to calculate the atomic energy and use it as an offset during the fitting:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:02.320206Z", "start_time": "2019-09-25T22:45:02.278437Z" } }, "outputs": [ { "data": { "text/plain": [ "-29.716948405885105" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "isolated_atom = Atoms(\"Si\", positions=[[0,0,0]])\n", "isolated_atom.set_calculator(qm_pot)\n", "E0 = isolated_atom.get_potential_energy()\n", "E0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We are going to use teach_sparse tool to build the GAP potential. For a detailed description of the available options you can run the following command." ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:03.351826Z", "start_time": "2019-09-25T22:45:02.332058Z" }, "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "libAtoms::Hello World: 07/10/2019 17:16:56\r\n", "libAtoms::Hello World: git version git@github.com:/libAtoms/QUIP,d204dca49-dirty\r\n", "libAtoms::Hello World: QUIP_ARCH darwin_x86_64_gfortran_openmp\r\n", "libAtoms::Hello World: compiled on Aug 7 2019 at 14:13:45\r\n", "libAtoms::Hello World: OpenMP parallelisation with 4 threads\r\n", "WARNING: libAtoms::Hello World: environment variable OMP_STACKSIZE not set explicitly. The default value - system and compiler dependent - may be too small for some applications.\r\n", "libAtoms::Hello World: Random Seed = 62216297\r\n", "libAtoms::Hello World: global verbosity = 0\r\n", "\r\n", "Calls to system_timer will do nothing by default\r\n", "\r\n", "at_file type=STRING scalar current_value=//MANDATORY//\r\n", "XYZ file with fitting configurations\r\n", "\r\n", "gap type=STRING scalar current_value=//MANDATORY//\r\n", "Initialisation string for GAPs\r\n", "\r\n", "e0 type=STRING scalar current_value=0.0\r\n", "Atomic energy value to be subtracted from energies before fitting (and added\r\n", "back on after prediction). Specifiy a single number (used for all species) or\r\n", "by species: {Ti:-150.0:O:-320}. energy = core + GAP +\r\n", "e0\r\n", "\r\n", "local_property0 type=STRING scalar current_value=0.0\r\n", "Local property value to be subtracted from the local property before fitting\r\n", "(and added back on after prediction). Specifiy a single number (used for all\r\n", "species) or by species: {H:20.0:Cl:35.0}.\r\n", "\r\n", "e0_offset type=REAL scalar current_value=0.0\r\n", "Offset of baseline. If zero, the offset is the average atomic energy of the inpu-\r\n", "t data or the e0 specified manually.\r\n", "\r\n", "e0_method type=STRING scalar current_value=isolated\r\n", "Method to determine e0, if not explicitly specified. Possible options: isolated\r\n", "(default, each atom present in the XYZ needs to have an isolated representative,\r\n", "with a valid energy), average (e0 is the average of all total energies across\r\n", "the XYZ)\r\n", "\r\n", "default_sigma type=REAL dim=4 current_value=//MANDATORY//\r\n", "error in [energies forces virials hessians]\r\n", "\r\n", "sparse_jitter type=REAL scalar current_value=1.0e-10\r\n", "intrisic error of atomic/bond energy, used to regularise the sparse covariance\r\n", "matrix\r\n", "\r\n", "hessian_delta type=REAL scalar current_value=1.0e-2\r\n", "Delta to use in numerical differentiation when obtaining second derivative for\r\n", "the Hessian covariance\r\n", "\r\n", "core_param_file type=STRING scalar current_value=quip_params.xml\r\n", "QUIP XML file for a potential to subtract from data (and added back after predic-\r\n", "tion)\r\n", "\r\n", "core_ip_args type=STRING scalar current_value=\r\n", " QUIP init string for a potential to subtract from data (and added back after\r\n", "prediction)\r\n", "\r\n", "energy_parameter_name type=STRING scalar current_value=energy\r\n", "Name of energy property in the at_file that describes the data\r\n", "\r\n", "local_property_parameter_name type=STRING scalar current_value=local_property\r\n", "Name of local_property in the at_file that describes the data\r\n", "\r\n", "force_parameter_name type=STRING scalar current_value=force\r\n", "Name of force property in the at_file that describes the data\r\n", "\r\n", "virial_parameter_name type=STRING scalar current_value=virial\r\n", "Name of virial property in the at_file that describes the data\r\n", "\r\n", "hessian_parameter_name type=STRING scalar current_value=hessian\r\n", "Name of hessian property in the at_file that describes the data\r\n", "\r\n", "config_type_parameter_name type=STRING scalar current_value=config_type\r\n", "Identifier of property determining the type of input data in the at_file\r\n", "\r\n", "sigma_parameter_name type=STRING scalar current_value=sigma\r\n", "sigma parameters (error hyper) for a given configuration in the database. Overri-\r\n", "des the command line sigmas. In the XYZ, it must be prepended by energy_, force_-\r\n", ", virial_ or hessian_\r\n", "\r\n", "config_type_sigma type=STRING scalar current_value=\r\n", "What sigma values to choose for each type of data. Format: {type:energy:force:vi-\r\n", "rial:hessian}\r\n", "\r\n", "sigma_per_atom type=LOGICAL scalar current_value=T\r\n", "Interpretation of the energy and virial sigmas specified in >>default_sigma<<\r\n", "and >>config_type_sigma<<. If >>T<<, they are interpreted as per-atom errors,\r\n", "and the variance will be scaled according to the number of atoms in the configur-\r\n", "ation. If >>F<< they are treated as absolute errors and no scaling is performed.\r\n", "NOTE: sigmas specified on a per-configuration basis (see >>sigma_parameter_name<-\r\n", "<) are always absolute.\r\n", "\r\n", "do_copy_at_file type=LOGICAL scalar current_value=T\r\n", "Do copy the at_file into the GAP XML file (should be set to False for NetCDF\r\n", "input).\r\n", "\r\n", "sparse_separate_file type=LOGICAL scalar current_value=T\r\n", "Save sparse coordinates data in separate file\r\n", "\r\n", "sparse_use_actual_gpcov type=LOGICAL scalar current_value=F\r\n", "Use actual GP covariance for sparsification methods\r\n", "\r\n", "gp_file type=STRING scalar current_value=gp_new.xml\r\n", "output XML file\r\n", "\r\n", "verbosity type=STRING scalar current_value=NORMAL\r\n", "Verbosity control. Options: NORMAL, VERBOSE, NERD, ANALYSIS.\r\n", "\r\n", "rnd_seed type=INTEGER scalar current_value=-1\r\n", "Random seed.\r\n", "\r\n", "do_ip_timing type=LOGICAL scalar current_value=F\r\n", "To enable or not timing of the interatomic potential.\r\n", "\r\n", "template_file type=STRING scalar current_value=template.xyz\r\n", "Template XYZ file for initialising object\r\n", "\r\n", "sparsify_only_no_fit type=LOGICAL scalar current_value=F\r\n", "If true, sparsification is done, but no fitting. print the sparse index by addin-\r\n", "g print_sparse_index=file.dat to the descriptor string.\r\n", "\r\n", "missing mandatory parameter at_file\r\n", "missing mandatory parameter gap\r\n", "missing mandatory parameter default_sigma\r\n", "gap_fit\r\n", "SYSTEM ABORT: Exit: Mandatory argument(s) missing... \r\n" ] } ], "source": [ "!gap_fit --help" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we have to do actual fitting by running the following command:\n", "\n", "Relevant parameters:\n", "- covariance_type: Type of covariance function to use. Available: ARD_SE, DOT_PRODUCT, BOND_REAL_SP-\n", "ACE, PP (piecewise polynomial)\n", "- theta_uniform: Set the width of Gaussians for the ARD_SE and PP kernel, same in each dimension\n", "- n_sparse: Number of sparse points to use in the sparsification of the Gaussian process\n", "- delta: Set the standard deviation of the Gaussian process. Typically this would be set to the standard deviation (i.e. root mean square) of the function that is approximated with the Gaussian process.\n", "- default_sigma: error in [energies, forces, virials, hessians]\n" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:03.370718Z", "start_time": "2019-09-25T22:45:03.357136Z" }, "scrolled": false }, "outputs": [], "source": [ "# !gap_fit at_file=dummy default_sigma={0 0 0 0} gap={distance_Nb delta=0.0 covariance_type=ARD_SE --help}" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:04.580150Z", "start_time": "2019-09-25T22:45:03.377300Z" }, "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "libAtoms::Hello World: 07/10/2019 17:16:59\n", "libAtoms::Hello World: git version git@github.com:/libAtoms/QUIP,d204dca49-dirty\n", "libAtoms::Hello World: QUIP_ARCH darwin_x86_64_gfortran_openmp\n", "libAtoms::Hello World: compiled on Aug 7 2019 at 14:13:45\n", "libAtoms::Hello World: OpenMP parallelisation with 4 threads\n", "WARNING: libAtoms::Hello World: environment variable OMP_STACKSIZE not set explicitly. The default value - system and compiler dependent - may be too small for some applications.\n", "libAtoms::Hello World: Random Seed = 62219567\n", "libAtoms::Hello World: global verbosity = 0\n", "\n", "Calls to system_timer will do nothing by default\n", "\n", "\n", "================================ Input parameters ==============================\n", "\n", "at_file = /tmp/atoms_db.xyz\n", "gap = \"distance_Nb order=2 cutoff=5.0 covariance_type=ARD_SE theta_uniform=1.0 n_sparse=15 delta=1.0\"\n", "e0 = -29.716948405885105\n", "local_property0 = 0.0\n", "e0_offset = 0.0\n", "e0_method = isolated\n", "default_sigma = \"0.01 0.5 0.0 0.0\"\n", "sparse_jitter = 1.0e-10\n", "hessian_delta = 1.0e-2\n", "core_param_file = quip_params.xml\n", "core_ip_args =\n", "energy_parameter_name = energy\n", "local_property_parameter_name = local_property\n", "force_parameter_name = force\n", "virial_parameter_name = virial\n", "hessian_parameter_name = hessian\n", "config_type_parameter_name = config_type\n", "sigma_parameter_name = sigma\n", "config_type_sigma =\n", "sigma_per_atom = T\n", "do_copy_at_file = F\n", "sparse_separate_file = F\n", "sparse_use_actual_gpcov = F\n", "gp_file = /tmp/gap_2b.xml\n", "verbosity = NORMAL\n", "rnd_seed = -1\n", "do_ip_timing = F\n", "template_file = template.xyz\n", "sparsify_only_no_fit = F\n", "\n", "======================================== ======================================\n", "\n", "\n", "============== Gaussian Approximation Potentials - Database fitting ============\n", "\n", "\n", "Initial parsing of command line arguments finished.\n", "Found 1 GAPs.\n", "Descriptors have been parsed\n", "XYZ file read\n", "Unchanged GAP: {distance_Nb order=2 cutoff=5.0 covariance_type=ARD_SE theta_uniform=1.0 n_sparse=15 delta=1.0}\n", "Multispecies support added where requested\n", "\n", "===================== Report on number of descriptors found ====================\n", "\n", "---------------------------------------------------------------------\n", "Descriptor: distance_Nb order=2 cutoff=5.0 covariance_type=ARD_SE theta_uniform=1.0 n_sparse=15 delta=1.0\n", "Number of descriptors: 35312\n", "Number of partial derivatives of descriptors: 0\n", "\n", "======================================== ======================================\n", "\n", "\n", "========== Report on number of target properties found in training XYZ: ========\n", "\n", "Number of target energies (property name: energy) found: 100\n", "Number of target local_properties (property name: local_property) found: 0\n", "Number of target forces (property name: force) found: 0\n", "Number of target virials (property name: virial) found: 0\n", "Number of target Hessian eigenvalues (property name: hessian) found: 0\n", "\n", "================================= End of report ================================\n", "\n", "\n", "===== Report on per-configuration/per-atom sigma (error parameter) settings ====\n", "\n", "Number of per-configuration setting of energy_sigma found: 0\n", "Number of per-configuration setting of force_sigma found: 0\n", "Number of per-configuration setting of virial_sigma found: 0\n", "Number of per-configuration setting of hessian_sigma found: 0\n", "Number of per-atom setting of force_atom_sigma found: 0\n", "\n", "================================= End of report ================================\n", "\n", "Cartesian coordinates transformed to descriptors\n", "Started sparse covariance matrix calculation of coordinate 1\n", "\n", "Finished sparse covariance matrix calculation of coordinate 1\n", "TIMER: gpFull_covarianceMatrix_sparse_Coordinate1_sparse done in 1.9402960000000000 cpu secs, .60122609138488770 wall clock secs.\n", "TIMER: gpFull_covarianceMatrix_sparse_Coordinate1 done in 1.9403350000000001 cpu secs, .60126590728759766 wall clock secs.\n", "TIMER: gpFull_covarianceMatrix_sparse_LinearAlgebra done in .12049999999996786E-002 cpu secs, .34060478210449219E-002 wall clock secs.\n", "TIMER: gpFull_covarianceMatrix_sparse_FunctionValues done in .19999999998354667E-005 cpu secs, .19073486328125000E-005 wall clock secs.\n", "TIMER: gpFull_covarianceMatrix_sparse done in 1.9416529999999999 cpu secs, .60478305816650391 wall clock secs.\n", "TIMER: GP sparsify done in 1.9490180000000001 cpu secs, .61529493331909180 wall clock secs.\n", "\n", "libAtoms::Finalise: 07/10/2019 17:17:00\n", "libAtoms::Finalise: Bye-Bye!\n" ] } ], "source": [ "!gap_fit at_file=/tmp/atoms_db.xyz \\\n", "gap={distance_Nb order=2 \\\n", " cutoff=5.0 \\\n", " covariance_type=ARD_SE \\\n", " theta_uniform=1.0 \\\n", " n_sparse=15 \\\n", " delta=1.0} \\\n", "e0=-29.716948405885105 \\\n", "default_sigma={0.01 0.5 0.0 0.0} \\\n", "do_copy_at_file=F sparse_separate_file=F \\\n", "gp_file=/tmp/gap_2b.xml" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can load and use the fitted potential:" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:04.656987Z", "start_time": "2019-09-25T22:45:04.588090Z" } }, "outputs": [], "source": [ "gap2b = Potential(param_filename='/tmp/gap_2b.xml')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can calculate the potential energies using the new potential and compare them with the TB DFTB ones" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:05.177506Z", "start_time": "2019-09-25T22:45:04.662859Z" } }, "outputs": [], "source": [ "qm_energies = [at.info['energy'] for at in db]\n", "gap2b_energies = []\n", "for dba in db:\n", " a = dba.copy()\n", " a.set_calculator(gap2b)\n", " gap2b_energies.append(a.get_potential_energy())\n", " " ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:05.520489Z", "start_time": "2019-09-25T22:45:05.193607Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "Natoms = len(db[0])\n", "plt.scatter(np.array(qm_energies)/Natoms, np.array(gap2b_energies)/Natoms)\n", "plt.plot([E0-5.0, E0-5.0+0.05], [E0-5.0, E0-5.0+0.05], \"k-\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also calculate the RMSE (in meV) as follows:" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:05.536356Z", "start_time": "2019-09-25T22:45:05.523695Z" } }, "outputs": [ { "data": { "text/plain": [ "0.035992967464800296" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.sqrt(sum((np.array(qm_energies)/Natoms - np.array(gap2b_energies)/Natoms)**2)/len(gap2b_energies))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can generate dimers for visualising the pairwise potential: " ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:05.597970Z", "start_time": "2019-09-25T22:45:05.546577Z" } }, "outputs": [], "source": [ "dimers = [Atoms(\"2Si\", positions=[[0,0,0], [x, 0,0]]) for x in np.linspace(1.6,6,100)] " ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:06.323384Z", "start_time": "2019-09-25T22:45:05.606577Z" } }, "outputs": [], "source": [ "dimer_curve = []\n", "for dim in dimers:\n", " dim.set_calculator(gap2b)\n", " dimer_curve.append(dim.get_potential_energy())" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:06.525582Z", "start_time": "2019-09-25T22:45:06.328890Z" }, "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot([dim.positions[1,0] for dim in dimers], np.array(dimer_curve)/2.0)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Fitting the 2 and 3-body potential" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:12.737049Z", "start_time": "2019-09-25T22:45:06.528195Z" }, "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "libAtoms::Hello World: 07/10/2019 17:17:09\n", "libAtoms::Hello World: git version git@github.com:/libAtoms/QUIP,d204dca49-dirty\n", "libAtoms::Hello World: QUIP_ARCH darwin_x86_64_gfortran_openmp\n", "libAtoms::Hello World: compiled on Aug 7 2019 at 14:13:45\n", "libAtoms::Hello World: OpenMP parallelisation with 4 threads\n", "WARNING: libAtoms::Hello World: environment variable OMP_STACKSIZE not set explicitly. The default value - system and compiler dependent - may be too small for some applications.\n", "libAtoms::Hello World: Random Seed = 62229764\n", "libAtoms::Hello World: global verbosity = 0\n", "\n", "Calls to system_timer will do nothing by default\n", "\n", "\n", "================================ Input parameters ==============================\n", "\n", "at_file = /tmp/atoms_db.xyz\n", "gap = \"distance_Nb order=2 cutoff=5.0 covariance_type=ARD_SE theta_uniform=1.0 n_sparse=15 delta=1.0: distance_Nb order=3 cutoff=4.0 covariance_type=ARD_SE theta_uniform=1.0 n_sparse=50 delta=0.004\"\n", "e0 = -29.716948405885105\n", "local_property0 = 0.0\n", "e0_offset = 0.0\n", "e0_method = isolated\n", "default_sigma = \"0.005 0.5 0.0 0.0\"\n", "sparse_jitter = 1.0e-10\n", "hessian_delta = 1.0e-2\n", "core_param_file = quip_params.xml\n", "core_ip_args =\n", "energy_parameter_name = energy\n", "local_property_parameter_name = local_property\n", "force_parameter_name = force\n", "virial_parameter_name = virial\n", "hessian_parameter_name = hessian\n", "config_type_parameter_name = config_type\n", "sigma_parameter_name = sigma\n", "config_type_sigma =\n", "sigma_per_atom = T\n", "do_copy_at_file = F\n", "sparse_separate_file = F\n", "sparse_use_actual_gpcov = F\n", "gp_file = /tmp/gap_3b.xml\n", "verbosity = NORMAL\n", "rnd_seed = -1\n", "do_ip_timing = F\n", "template_file = template.xyz\n", "sparsify_only_no_fit = F\n", "\n", "======================================== ======================================\n", "\n", "\n", "============== Gaussian Approximation Potentials - Database fitting ============\n", "\n", "\n", "Initial parsing of command line arguments finished.\n", "Found 2 GAPs.\n", "Descriptors have been parsed\n", "XYZ file read\n", "Unchanged GAP: {distance_Nb order=2 cutoff=5.0 covariance_type=ARD_SE theta_uniform=1.0 n_sparse=15 delta=1.0}\n", "Unchanged GAP: { distance_Nb order=3 cutoff=4.0 covariance_type=ARD_SE theta_uniform=1.0 n_sparse=50 delta=0.004}\n", "Multispecies support added where requested\n", "\n", "===================== Report on number of descriptors found ====================\n", "\n", "---------------------------------------------------------------------\n", "Descriptor: distance_Nb order=2 cutoff=5.0 covariance_type=ARD_SE theta_uniform=1.0 n_sparse=15 delta=1.0\n", "Number of descriptors: 35312\n", "Number of partial derivatives of descriptors: 0\n", "---------------------------------------------------------------------\n", "Descriptor: distance_Nb order=3 cutoff=4.0 covariance_type=ARD_SE theta_uniform=1.0 n_sparse=50 delta=0.004\n", "Number of descriptors: 150164\n", "Number of partial derivatives of descriptors: 0\n", "\n", "======================================== ======================================\n", "\n", "\n", "========== Report on number of target properties found in training XYZ: ========\n", "\n", "Number of target energies (property name: energy) found: 100\n", "Number of target local_properties (property name: local_property) found: 0\n", "Number of target forces (property name: force) found: 0\n", "Number of target virials (property name: virial) found: 0\n", "Number of target Hessian eigenvalues (property name: hessian) found: 0\n", "\n", "================================= End of report ================================\n", "\n", "\n", "===== Report on per-configuration/per-atom sigma (error parameter) settings ====\n", "\n", "Number of per-configuration setting of energy_sigma found: 0\n", "Number of per-configuration setting of force_sigma found: 0\n", "Number of per-configuration setting of virial_sigma found: 0\n", "Number of per-configuration setting of hessian_sigma found: 0\n", "Number of per-atom setting of force_atom_sigma found: 0\n", "\n", "================================= End of report ================================\n", "\n", "Cartesian coordinates transformed to descriptors\n", "Started sparse covariance matrix calculation of coordinate 1\n", "\n", "Finished sparse covariance matrix calculation of coordinate 1\n", "TIMER: gpFull_covarianceMatrix_sparse_Coordinate1_sparse done in 1.9191969999999996 cpu secs, .61768078804016113 wall clock secs.\n", "TIMER: gpFull_covarianceMatrix_sparse_Coordinate1 done in 1.9192260000000001 cpu secs, .61770915985107422 wall clock secs.\n", "Started sparse covariance matrix calculation of coordinate 2\n", "\n", "Finished sparse covariance matrix calculation of coordinate 2\n", "TIMER: gpFull_covarianceMatrix_sparse_Coordinate2_sparse done in 53.109310000000001 cpu secs, 15.321249008178711 wall clock secs.\n", "TIMER: gpFull_covarianceMatrix_sparse_Coordinate2 done in 53.109337000000004 cpu secs, 15.321274995803833 wall clock secs.\n", "TIMER: gpFull_covarianceMatrix_sparse_LinearAlgebra done in .18150000000005662E-002 cpu secs, .74031352996826172E-002 wall clock secs.\n", "TIMER: gpFull_covarianceMatrix_sparse_FunctionValues done in .40000000041118255E-005 cpu secs, .28610229492187500E-005 wall clock secs.\n", "TIMER: gpFull_covarianceMatrix_sparse done in 55.030578999999996 cpu secs, 15.946585178375244 wall clock secs.\n", "TIMER: GP sparsify done in 55.042788999999999 cpu secs, 15.960463762283325 wall clock secs.\n", "\n", "libAtoms::Finalise: 07/10/2019 17:17:29\n", "libAtoms::Finalise: Bye-Bye!\n" ] } ], "source": [ "!gap_fit at_file=/tmp/atoms_db.xyz \\\n", "gap={distance_Nb order=2 \\\n", " cutoff=5.0 \\\n", " covariance_type=ARD_SE \\\n", " theta_uniform=1.0 \\\n", " n_sparse=15 \\\n", " delta=1.0:\\\n", " distance_Nb order=3 \\\n", " cutoff=4.0 \\\n", " covariance_type=ARD_SE \\\n", " theta_uniform=1.0 \\\n", " n_sparse=50 \\\n", " delta=0.004} \\\n", "e0=-29.716948405885105 \\\n", "default_sigma={0.005 0.5 0.0 0.0} \\\n", "do_copy_at_file=F sparse_separate_file=F \\\n", "gp_file=/tmp/gap_3b.xml" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can load and use the fitted potential:" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:16.351886Z", "start_time": "2019-09-25T22:45:12.746747Z" } }, "outputs": [], "source": [ "gap3b = Potential(param_filename='/tmp/gap_3b.xml')\n", "gap3b_energies = []\n", "for at in db:\n", " a = at.copy()\n", " a.set_calculator(gap3b)\n", " gap3b_energies.append(a.get_potential_energy())\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also calculate the RMSE (in meV) as follows:" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:16.372123Z", "start_time": "2019-09-25T22:45:16.355463Z" } }, "outputs": [ { "data": { "text/plain": [ "0.010408552706046549" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.sqrt(sum((np.array(qm_energies)/Natoms - np.array(gap3b_energies)/Natoms)**2)/len(gap3b_energies))" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:16.693223Z", "start_time": "2019-09-25T22:45:16.399472Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.scatter(np.array(qm_energies)/Natoms, np.array(gap3b_energies)/Natoms)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can generate dimers for visualising the pairwise potential: " ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:17.307236Z", "start_time": "2019-09-25T22:45:16.697565Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAD8CAYAAABzTgP2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xl8VeWdx/HPL/uekIWQkEAIO7Ib0Cpa1xZX7EKntmNdxqW11rYzU8eldp3OdNrptLa2tmiLtkW7uGvdQGsVEdlkB1nCEsKSjQRC9txn/shBE0wgcJOcm9zv+/W6r5x77jn3/LgQvvc8z3OeY845REREjorwuwAREQktCgYREelAwSAiIh0oGEREpAMFg4iIdKBgEBGRDhQMIiLSgYJBREQ6UDCIiEgHUX4XcCoyMzNdQUGB32WIiPQrK1eurHDOZZ1ou34ZDAUFBaxYscLvMkRE+hUz29Wd7dSUJCIiHSgYRESkAwWDiIh0oGAQEZEOFAwiItKBgkFERDpQMIiISAdhFQyvbT7Ar17f5ncZIiIhLayCYfHWSn7x6jZ0n2sRka6FVTAUZCZQ39xK+eFGv0sREQlZYRUMw9ITANhVVedzJSIioSusgmF4RiIAuyoVDCIiXQmrYBiaFk+Ewe7KI36XIiISssIqGGKiIshNi1dTkojIcYRVMAAMz0hQU5KIyHGEXTAMS09kt84YRES6FHbBMDwjgaojTRxuaPa7FBGRkBRUMJjZj81ss5mtNbOnzCzNWx9tZo+Y2Toz22Rmd3Wx/8NmtsPMVnuPqcHU0x3Djw5ZVXOSiEingj1jWAhMdM5NBrYARwNgLhDrnJsEnA7cYmYFXbzHN5xzU73H6iDrOaFhGW3BoOYkEZHOBRUMzrlXnHMt3tOlQN7Rl4BEM4sC4oEm4FAwx+opupZBROT4erKP4QbgRW/5ceAIsA/YDfyvc66qi/1+4DVF/dTMYnuwnk4lxUaRkRjD7ipdyyAi0pkTBoOZLTKz9Z085rTb5h6gBVjgrZoJtAK5wAjg38yssJO3vwsYB8wA0oH/OE4dN5vZCjNbUV5e3t0/X6eGaciqiEiXok60gXPuouO9bmbXAZcDF7oPpi39HPCSc64ZKDOzt4AioPiY997nLTaa2Xzg349TxzxgHkBRUVFQ06MOT09g+c6DwbyFiMiAFeyopNnAHcCVzrn2X8F3Axd42yQCZwKbO9k/x/tpwFXA+mDq6a5hGYnsq6mnqSXQF4cTEelXgu1juB9IBhZ6w01/7a3/JZBkZhuA5cB859xaADN7wcxyve0WmNk6YB2QCfxnkPV0y/D0BAIO9hxUc5KIyLFO2JR0PM65UV2sr6VtyGpnr13abvmCYI5/qoZnfDD9dmFWkh8liIiErLC78hnaXcugDmgRkQ8Jy2DISoolISZSI5NERDoRlsFgZgxLT9C1DCIinQjLYIC223zqjEFE5MPCNhiGZySwu6qOQCCoSyJERAacsA2GgsxEGlsC7D/U4HcpIiIhJXyDwZtMb2eF+hlERNoL32DI9IJB/QwiIh2EbTDkpMQRExXBzkqdMYiItBe2wRARYQxPT2CHmpJERDoI22CAtuakXTpjEBHpIKyDYURmIrsqNWRVRKS9sA6G4RkJNLYE2KchqyIi7wvrYBihIasiIh8S1sHwwZBVBYOIyFFhHQxDUuKIjYrQGYOISDthHQwREcbwjAR2VOgiNxGRo8I6GKBtagwNWRUR+UDYB8OIzER2aZZVEZH3hX0wDM9IpKklwN6aer9LEREJCWEfDAWZbfd/3ql+BhERQMHACA1ZFRHpIOyDITtZQ1ZFRNoL+2CIiDAKMhJ1xiAi4gn7YIC2fgbdsEdEpI2CgbZrGXZX1tGqIasiIgoGaOuAbmoNsLdaQ1ZFRBQMfDAyaXt5rc+ViIj4T8EAFGYlAVBcrg5oEREFA5CZFENyXJTu/ywigoIBADOjMCuJ4go1JYmIBBUMZvZjM9tsZmvN7CkzS/PWx5jZfDNbZ2ZrzOy8LvZPN7OFZrbV+zkomHqCMTIzUU1JIiIEf8awEJjonJsMbAHu8tbfBOCcmwRcDPzEzDo71p3Aq8650cCr3nNfFGYlsq+mgbqmFr9KEBEJCUEFg3PuFefc0f9JlwJ53vIE4DVvmzKgGijq5C3mAI94y48AVwVTTzBGZKoDWkQEeraP4QbgRW95DXClmUWZ2QjgdCC/k32ynXP7vOX9QHYP1nNSCrPahqwWqwNaRMJc1Ik2MLNFwJBOXrrHOfeMt809QAuwwHvtd8B4YAWwC1gCtB7vOM45Z2ZdXnpsZjcDNwMMGzbsRGWftBGZiZjBDp0xiEiYO2EwOOcuOt7rZnYdcDlwoXPOefu0AF9vt80S2vogjnXAzHKcc/vMLAcoO04d84B5AEVFRT0+d0VcdCS5qfEamSQiYS/YUUmzgTuAK51zde3WJ5hZord8MdDinNvYyVs8C1zrLV8LPBNMPcEqzNLIJBGRYPsY7geSgYVmttrMfu2tHwysMrNNwH8A1xzdwcweMrOjHdE/BC42s63ARd5z3xRmJlJcXot34iMiEpZO2JR0PM65UV2s3wmM7eK1G9stVwIXBlNDTyrMSuJIUytlhxvJTonzuxwREV/oyud2jo5M0mR6IhLOFAztHJ1MT3MmiUg4UzC0k5MSR1x0hDqgRSSsKRjaOXr/52I1JYlIGFMwHGNkVpKufhaRsKZgOEZhViIlVXU0thz3Qm0RkQFLwXCMwqxEAg52VdadeGMRkQFIwXCMUVnJAGwrUz+DiIQnBcMxRg5uu5ZBwSAi4UrBcIyEmCiGpsWzVcEgImFKwdCJ0dlJOmMQkbClYOjEqKwktpfX0hrQZHoiEn4UDJ0YnZ1EU0uAPQc1MklEwo+CoROjBreNTNp6QM1JIhJ+FAydGDW4bTK9bZoaQ0TCkIKhE6nx0QxOjlUHtIiEJQVDF0YNTtKQVREJSwqGLowenMT2Mt3mU0TCj4KhC6MGJ1Hb2ML+Qw1+lyIi0qcUDF04OjJJ/QwiEm4UDF04OjJJQ1ZFJNwoGLqQmRRDWkK0hqyKSNhRMHTBzBiVlcQ2nTGISJhRMBzH6OwknTGISNhRMBzHyKwkqo40UVnb6HcpIiJ9RsFwHKOz20YmbVFzkoiEEQXDcYx9PxgO+1yJiEjfUTAcR3ZKLKnx0Wzer2AQkfChYDgOM2PskGTe23/I71JERPqMguEExmYns+WA5kwSkfChYDiBsUOSqW1sobS63u9SRET6RFDBYGY/NrPNZrbWzJ4yszRvfYyZzTezdWa2xszO62L/75hZqZmt9h6XBlNPbxg3pK0D+j31M4hImAj2jGEhMNE5NxnYAtzlrb8JwDk3CbgY+ImZdXWsnzrnpnqPF4Ksp8eN8YJBHdAiEi6CCgbn3CvOuRbv6VIgz1ueALzmbVMGVANFwRzLLylx0QxNi9eQVREJGz3Zx3AD8KK3vAa40syizGwEcDqQ38V+t3lNUb8zs0E9WE+PGZOdpKYkEQkbJwwGM1tkZus7ecxpt809QAuwwFv1O2APsAL4GbAEaO3k7R8ARgJTgX3AT45Tx81mtsLMVpSXl3fzj9czxg5JYXt5Lc2tgT49roiIH6JOtIFz7qLjvW5m1wGXAxc6b0yn17z09XbbLKGtD+LY9z7QbpsHgeePU8c8YB5AUVFRn44dHTckmeZWR3H5EcZ6fQ4iIgNVsKOSZgN3AFc65+rarU8ws0Rv+WKgxTm3sZP9c9o9/QSwPph6esvRMHhP/QwiEgZOeMZwAvcDscBCMwNY6pz7IjAYeNnMAkApcM3RHczsIeDXzrkVwI/MbCrggJ3ALUHW0ysKsxKJjLC2K6Cn5PpdjohIrwoqGJxzo7pYvxMY28VrN7ZbvqazbUJNbFQkhZmJ6oAWkbCgK5+7aeyQZF3LICJhQcHQTeOGJLPnYD21jS0n3lhEpB9TMHTTGN2bQUTChIKhm8bnpACwca+m4BaRgU3B0E15g+JJjY9mg4JBRAY4BUM3mRkTclLYuLfG71JERHqVguEknJabwub9h2nR1BgiMoApGE7ChNwUGlsCbC8/4ncpIiK9RsFwEk7LTQVgg5qTRGQAUzCchJFZicRGRagDWkQGNAXDSYiKjGDckGSdMYjIgBbsJHphZ0JuKn9buxfnHN7EgSISpEDAUV7byN7qevbXNHCkqZWW1gDNAQeuT2fZD3kXjM9maFp8rx5DwXCSTstN4bFlu9lzsJ789AS/yxHpN440trD/UAMlVXWUVNWxu6qOHRV17Kw8wu7KOpo02q9b8tMTFAyh5rTctiugN+w9pGCQsNcacFTUNrKvpoH9NQ1U1DZSWdtE5ZG2nxW1jVTUNlJ2qJHDx8wzFhsVwfCMBAozE7lw3GDyBsWTkxpPTlocybHRREUaUZFGhM7MO0iO6/3/thUMJ2nckBQiDDburWH2xCF+lyPSJ2rqmnnvwGHe23+IbWW17Kxs+6ZferCelsCHm3pS46PJTIohIymWMdnJnDM6i+yUOIakxpI/KIH89ASykmKJiNB/+qFIwXCS4mMiGZmVpJFJMiA55yitrmfj3kNs8B4b99awt6bh/W2SYqMoyExg0tBULpuUQ25aPDmpcWSnxJGVHMughBhiojSupT9TMJyC03JTWFpc5XcZIkFxzrGrso41e6pZX1rDutIaNu49xKGGtiYfMyjMTKSoIJ3xOSmMy0lmbHYyOalxGngxwCkYTsFpuak8vXovlbWNZCTF+l2OSLfUN7WyuqSalbuqWLW7mnd3H+RgXTMAMVERjB+SzOVTcpmQk8KE3BTGDUkmIUb/RYQj/a2fgvYd0OeOyfK5GpHOHW5oZsXOgyzdUck7xVWsL615vz9g1OAkLp6QzbRhg5icl8qY7GSiI9X8I20UDKfg6NQY60prFAwSMhqaW1m+s4ol2yt5e3sl60praA04oiONyXlp3HRuITMKBnH6sHRSE6L9LldCmILhFKQmRFOYmcjqkmq/S5Ew5pxja1ktr79XxptbK1i2o4rGlgBREcaU/DRuPW8kZxZmMH3YIOJjIv0uV/oRBcMpmpKfxuJtFboCWvpUQ3MrS7ZXsGhTGa9vLnt/tNDowUl8/ozhzBqdwcwRGSTF6ldbTp3+9ZyiKXmpPPVuKfsPNZCT2rtXIUp4q6lvZtHGA7y8YT9vbq2gvrmVxJhIZo3O5PYLR/PRsVn6Nyg9SsFwiqbkpwGwpqRav5TS4w43NPPyhgM8t2YvS7ZX0NzqyEmNY25RHheNz+aMwnRio9Q8JL1DwXCKxuekEB1prC6pYfbEHL/LkQGguTXA6++V89S7e1i0qYymlgD56fHccPYILpmUw5S8VDVbSp9QMJyiuOhIxueksEYd0BKk7eW1/Hl5CU+uKqWitpHMpBg+N3MYc6bmMjU/TWEgfU7BEIQpeWk89W4prQFHpOZ8kZPQ0hpg0aYD/GHpLt7aVklUhHHBuMF8piifj47N0jUF4isFQxCm5Kfxh6W7KC6vZXR2st/lSD9wqKGZPy3bzcNv7WRvTQO5qXF84+Nj+UxRPlnJuopeQoOCIQhT89sudFtdUq1gkOMqO9TAvDeKeWzZbo40tXJmYTrfufI0LhyfrbNNCTkKhiAUZiaRFBvFmj3VzC3K97scCUGl1fX8+vXt/HlFCa0Bx+WTc7jpnEImDk31uzSRLikYghARYUzOS2VNie4BLR2VHWrg/r9v47FluwH49On5fOmjIxmWoZs7SegLOhjM7PvAHCAAlAHXOef2WttQivuAS4E6b/2qTvY/HXgYiAdeAL7qXP+5yeuU/DQefKOYhuZW4qI1rjzc1dQ388Dr23l4yQ5aWh1zi/L5ygWjyO3lWzGK9KSeOGP4sXPuXgAzux34FvBF4BJgtPc4A3jA+3msB4CbgHdoC4bZwIs9UFefmJKXRkvAsXHfIaYPG+R3OeKT5tYAC5bu4r5Xt1Jd38ycKbl8/eIxDM9I9Ls0kZMWdDA459rfyiwROPptfw7we+/b/1IzSzOzHOfcvqMbm1kOkOKcW+o9/z1wFf0oGKZ6V0C/u7tawRCmXn+vjO89v5Hi8iOcNTKDuy8drz4E6dd6pI/BzH4AfAGoAc73Vg8FStpttsdbt6/duqHe+mO36TeGpMYxNC2elbuq+JdZI/wuR/rQ7so6vvf8RhZtOkBhZiK/u66I88cO1gVp0u91KxjMbBEwpJOX7nHOPeOcuwe4x8zuAm4Dvt2DNR6t4WbgZoBhw4b19NsHZeaIdN7cqplWw0VjSyu/+Ucx9/99G9ERxp2XjOOGs0foPscyYHQrGJxzF3Xz/RbQ1k/wbaAUaD+GM89b116pt/542xytYR4wD6CoqCikOqeLCgbx1Lul7KysY0Sm2pQHsre3V3LP0+soLj/CZZNzuPeyCQxJjfO7LJEeFfRXHDMb3e7pHGCzt/ws8AVrcyZQ075/AcB7fsjMzvRGMX0BeCbYmvrazIJ0AJbvrPK5EuktNfXN3PnEWq5+cCnNrQEevn4Gv/zcdIWCDEg90cfwQzMbS9tw1V20jUiCtjOHS4FttA1Xvf7oDma22jk31Xt6Kx8MV32RftTxfNTIrCTSEqJZvqOKz+hCtwHnlQ37+ebT66mobeSWcwv52kVjdEc0GdB6YlTSp7pY74Avd/Ha1HbLK4CJwdbhp4gIo2h4Oit2HfS7FOlB1XVNfOfZDTy9ei/jhiTz0LVFTM5L87sskV6nK597yIyCQSzadICyww0MTlbzQn/32uYD3PnEOqqONPG1i0Zz63mj1LksYUPB0ENmjGjrZ1i58yCXTNKNe/qr2sYWvv/cRv68ooRxQ5L53XUzdE2ChB0FQw+ZmJtKXHQEy3ZWKRj6qeU7q/jXv6ym9GA9t543kq9eNFq3z5SwpGDoITFREUzNT9PIpH6oqSXAzxZt4YF/bCd/UAJ/ueUjFHkjzUTCkYKhB80oSOeXf99GbWMLSbH6aPuD7eW1fO1Pq1lXWsM/FeVz7xUT9HcnYU+/AT1oRkE6AQerdh3k3DFZfpcjx+Gc48/LS/jucxuJjY7g1/88ndkT1QQoAgqGHjV9+CAiDJbtqFIwhLDquibuenIdL67fz9mjMvjJ3Km6UE2kHY2/60FJsVFMyU9j8bYKv0uRLrxTXMkl973Jwo0HuOuScfzhhjMUCiLHUDD0sHNGZbJ2TzU1dc1+lyLttLQG+L+FW7j6waXERkXw5K1ncctHRxKh+y2LfIiCoYedPSqTgIO3iyv9LkU8e6vrufrBpfz81a18Yloez99+jq5gFjkO9TH0sGnDBpEQE8nibeXMntjZTOXSl17esJ87Hl9LS2uAn/3TVK6a1q9u9yHiCwVDD4uJiuDMwgwWb1U/g58amlv5rxc28fu3dzFpaCq/uHoaBZoSXaRbFAy9YNaoTF7bXEZJVR356Ql+lxN2tpXVctujq9i8/zA3nTOCb3x8nOY5EjkJ+m3pBeeMzgTQ6KQ+5pzjrytKuOIXiyk73Mj862Zwz2UTFAoiJ0m/Mb1g1OAkslNi1ZzUh2obW/jXv6zhG4+vZWp+Gi9+9RzOHzfY77JE+iU1JfUCM2PWqCxe3XyAQMBpSGQvW19aw1cee5ddlUf4+kVjuO2CUUTqMxc5ZTpj6CXnjM6kuq6ZDXsP+V3KgOWc45ElO/nkr5ZQ19TCYzedyVcvGq1QEAmSzhh6yVmjMgB4c1s5k/I0n39Pq65r4o7H1/LKxgNcMG4w/zt3CumJMX6XJTIg6IyhlwxOjmNCTgqvbSrzu5QBZ+WuKi77+WL+/l4Z37xsPL+9tkihINKDFAy96GOnZbNy90Eqahv9LmVACAQcv3p9G5/5zVIiI4zHv3gWN55TiJmajkR6koKhF108IRvn4NVNB/wupd+rqG3k2vnL+NFL7zF74hCev30WU/I1rYVIb1Aw9KIJOSkMTYtn4UYFQzDe3l7Jpfe9yTs7qvjBJyZy/9XTSImL9rsskQFLnc+9yMz42GnZPPrObuqaWkiI0cd9MloDjvtf28Z9r26hIDORh6+fyYTcFL/LEhnwdMbQyy6ekE1jS4A3tuhit5NRdriBa377Dj9dtIU5U4fy3G2zFAoifURfYXvZzIJ0UuOjeWXjfs222k1LtlVw+59WU9vYzI8+NZm5RXnqYBbpQwqGXhYVGcGF4wfz2uYyWloDREXqJK0r7ZuORmQmsuDGMxg7JNnvskTCjv6X6gMfm5BNdV0zy3ce9LuUkFVZ28h185e933T07G2zFAoiPtEZQx84d0wWsVERvLxhPx8ZmeF3OSFnxc4qbnv0XarqmvjvT07iszPy1XQk4iOdMfSBhJgozhubxd/W7aOlNeB3OSHDOcdDbxbz2XlLiY2O4MkvncXVM4cpFER8pmDoI5+cnkf54Ubdo8FzuKGZLz+6iv/82yYuGDeY574yi4lDNaeUSChQU1IfOX/sYNISonlyVSnnjQ3v+wRsPXCYW/64kl2Vddx96Thu0rQWIiFFwdBHYqIiuGJyLn9ZUcLhhmaSw/TK3b+t3cc3Hl9DQkwUC248gzML1eciEmqCbkoys++b2VozW21mr5hZrrfezOznZrbNe316F/u/bmbvefuvNrMB+3X6k9OH0tgS4MV1+/0upc+1tAb4rxc28eVHVzFuSDJ/u32WQkEkRPVEH8OPnXOTnXNTgeeBb3nrLwFGe4+bgQeO8x6fd85N9R4Ddp7qqflpFGYm8sSqPX6X0qeqjjRx7fxlzHujmGvOHM6fbv4I2SlxfpclIl0IOhicc+1vUZYIOG95DvB712YpkGZmOcEerz8zMz45fSjv7KiipKrO73L6xIa9NVzxi8Us33mQH316Mt+/aiIxURrzIBLKeuQ31Mx+YGYlwOf54IxhKFDSbrM93rrOzPeake61LnohzexmM1thZivKy8t7omxfzJna9hE8/W6pz5X0vmfX7OVTDyyhNeD46y0f4TNF+X6XJCLd0K1gMLNFZra+k8ccAOfcPc65fGABcNtJ1vB559wk4BzvcU1nGznn5jnnipxzRVlZWSd5iNCRn57ARwoz+NPykgF7TUNrwPE/L23m9sfeZdLQVJ77iu6dINKfdCsYnHMXOecmdvJ45phNFwCf8pZLgfZfEfO8dce+d6n38zDwKDDzZP8Q/c21ZxVQWl3PyxsG3n0aDjU0c9PvV/DA69u5euYwFtx4JlnJsX6XJSInoSdGJY1u93QOsNlbfhb4gjc66Uygxjm375h9o8ws01uOBi4H1gdbU6i7eEI2w9IT+O3iYr9L6VE7Ko7wiV++xRtbyvn+VRP5709OUn+CSD/UE9cx/NDMxgIBYBfwRW/9C8ClwDagDrj+6A5mttobxRQLvOyFQiSwCHiwB2oKaZERxvVnF/Dd5zayavdBpg8b5HdJQXtrWwW3LliFGfzhX87QnFAi/VjQweCc+1QX6x3w5S5em+r9PAKcHmwN/dHconz+75Ut/HbxDqZ/rn8Hwx+W7uI7z25gZFYiD31hBsMyEvwuSUSCoPN8nyTFRnH1GcN4af1+Sqvr/S7nlDS3Brj36fXc+/R6Pjomiye+dJZCQWQAUDD46NqzCgB4+K0d/hZyCmrqmrlu/jL+sHQXN59byINfKArbaT5EBhoFg4+GpsVz6aQcFryzm7LDDX6X023by2u56ldvsWxHFT/+9GTuvnQ8kRGaBE9koFAw+OxfLx5DU0uAny7c6ncp3fLm1nI+8cu3qKlv5tGbzmSuLloTGXAUDD4bkZnIP585nD8v383WA4f9LqdLzjkeWbKT6+YvJyc1nme+fDYzCtL9LktEeoGCIQTcfuFoEmOi+J+XNp94Yx80tQS4+6l1fPvZDZw/Nosnbj2L/HR1MosMVAqGEJCeGMOXzh/Jok1lLC2u9LucDipqG/n8Q0t5bFkJt50/innXFJEUq9t4iAxkCoYQccPZI8hNjeP7z2+kOUTmUFpTUs2Vv1jM2j01/Pzqafz7x8cSoU5mkQFPwRAi4qIj+dYVE9iw9xD3LfK/I/ovy0uY+5u3MTOe+NJZXDkl1++SRKSPKBhCyOyJOXymKI9fvr6Nd3xqUmpobuXup9ZxxxNrmVmQznNfmcXEoam+1CIi/lAwhJhvX3Eaw9MT+PqfV1NT39ynxy4ur+UTv1rCo+/s5paPFvLw9TNIT4zp0xpExH8KhhCTGBvFzz47jbLDjdz95DoCAXfinXrAM6tLueIXi9lfU8/vrivirkvGExWpfx4i4UjDS0LQ1Pw0/v3jY/nhi5tJT4zhe3NOo4sb2wWt6kgT9z69nr+t28eMgkH8/Opp5KTG98qxRKR/UDCEqFvOLeTgkSZ+80YxUZHGty6f0KPh4Jzj5Q0H+ObT66ipb+aO2WO5+ZxCnSWIiIIhVJkZd14yjqbWAPPf2klUhHHnJT0zJ9H28lq+99xG/rGlnAk5KfzxxjMYNySlB6oWkYFAwRDCzNrOFFpaHQ++uYM1JTX879wppzy1ddnhBub9o5hH3t5JXFQk37xsPNeeVUC0zhJEpB0FQ4gzM7435zSm5Kfx3Wc3MPu+N7jrknHMLconLjqyW++xvbyWh94s5omVpbQEAnxqeh53zB6nezGLSKes7UZr/UtRUZFbsWKF32X0ub3V9dzx+FoWb6sgNT6aK6fkctW0oYwanERKXBRmhnOO6rpmdlQe4fXNZbyy8QCb9x8mNiqCuUV53DirkILMRL//KCLiAzNb6ZwrOuF2Cob+xTnHW9sq+evKEl5av5/GlrbpMxJiIklPjKGyton65lYAIgyKCtL52IRsrpo2lMwknSGIhLPuBoOakvoZM2PW6Exmjc7kUEMzi7dWsLe6nn01DVTWNpKRFEtuWjxD0+KZOSJdF6iJyElTMPRjKXHRXDopx+8yRGSA0XAUERHpQMEgIiIdKBhERKQDBYOIiHSgYBARkQ4UDCIi0oGCQUREOlAwiIhIB/1ySgwzKwd2+V1HN2UCFX4XEWL0mXyYPpMP02fSuWA+l+HOuawTbdQvg6E/MbMV3ZmbJJzoM/kwfSYfps+kc33xuagpSUREOlAwiIhIBwqG3jfP7wJCkD6TD9Nn8mH6TDrX65+L+hhERKQDnTGIiEgHCobhBSudAAACcElEQVReYGb5ZvZ3M9toZhvM7Kt+1xQKzCzOzJaZ2Rrvc/mu3zWFAjOLNLN3zex5v2sJFWa208zWmdlqMwvP2zUew8zSzOxxM9tsZpvM7CO9dSzdqKd3tAD/5pxbZWbJwEozW+ic2+h3YT5rBC5wztWaWTSw2MxedM4t9bswn30V2ASk+F1IiDnfOafrGD5wH/CSc+7TZhYDJPTWgXTG0Aucc/ucc6u85cO0/dIP9bcq/7k2td7TaO8R1p1cZpYHXAY85HctErrMLBU4F/gtgHOuyTlX3VvHUzD0MjMrAKYB7/hbSWjwmk1WA2XAQudcuH8uPwPuAAJ+FxJiHPCKma00s5v9LiYEjADKgfles+NDZpbYWwdTMPQiM0sCngC+5pw75Hc9ocA51+qcmwrkATPNbKLfNfnFzC4HypxzK/2uJQTNcs5NBy4Bvmxm5/pdkM+igOnAA865acAR4M7eOpiCoZd4behPAAucc0/6XU+o8U6D/w7M9rsWH50NXGlmO4E/AReY2R/9LSk0OOdKvZ9lwFPATH8r8t0eYE+7M+zHaQuKXqFg6AVmZrS1BW5yzv2f3/WECjPLMrM0bzkeuBjY7G9V/nHO3eWcy3POFQCfBV5zzv2zz2X5zswSvUEbeM0lHwPW+1uVv5xz+4ESMxvrrboQ6LXBLBqV1DvOBq4B1nnt6QB3O+de8LGmUJADPGJmkbR9KfmLc05DNOVY2cBTbd+viAIedc695G9JIeErwAJvRFIxcH1vHUhXPouISAdqShIRkQ4UDCIi0oGCQUREOlAwiIhIBwoGERHpQMEgIiIdKBhERKQDBYOIiHTw/2FdBtJ2d9FaAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "dimer_curve = []\n", "for dim in dimers:\n", " dim.set_calculator(gap3b)\n", " dimer_curve.append(dim.get_potential_energy())\n", " \n", "plt.plot([dim.positions[1,0] for dim in dimers], np.array(dimer_curve)/2.0)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Fitting the 2 and 3-body and SOAP potential" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will describe that environment using the SOAP descriptor and compare them using the SOAP kernel. Note right away that the quantum mechanically computed energies are not fully determined by the near-environment of atoms, so this is an early indication that we will be making use of the \"noise\" interpretation of the $\\lambda$ regularization parameter: we don't expect (and don't want) our fitted function to precisely go through each datapoint.\n", "\n", "The SOAP descriptor of an atomic environment is based on a spherical harmonic expansion of the neighbour density, and truncating this expansion at some maximum numer of radial (n_max) and angular (l_max) indices gives rise to some parameters. We also need to give the cutoff within which we consider the neighbour environment.\n", "\n", "Writing the descriptor vector as $p_{ss'nn'l}$, where $s$ and $s'$ are indices that run over the different atomic species in the atom's environment, $n$ and $n'$ are radial and $l$ is an angular index, the kernel between two atomic environments is\n", "\n", "$$\n", "K(p,p') = \\delta^2 \\left| \\sum_{ss'nn'l} p_{ss'nn'l} p'_{ss'nn'l}\\right|^\\zeta \\equiv \\delta^2 \\left| {\\bf p} \\cdot {\\bf p'}\\right|^\\zeta\n", "$$\n", "\n", "The factor of $\\delta^2$ allows the setting of the scale of fitted function, relative to the error specification $\\lambda$. " ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:24.495956Z", "start_time": "2019-09-25T22:45:17.312801Z" }, "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "libAtoms::Hello World: 07/10/2019 17:17:32\n", "libAtoms::Hello World: git version git@github.com:/libAtoms/QUIP,d204dca49-dirty\n", "libAtoms::Hello World: QUIP_ARCH darwin_x86_64_gfortran_openmp\n", "libAtoms::Hello World: compiled on Aug 7 2019 at 14:13:45\n", "libAtoms::Hello World: OpenMP parallelisation with 4 threads\n", "WARNING: libAtoms::Hello World: environment variable OMP_STACKSIZE not set explicitly. The default value - system and compiler dependent - may be too small for some applications.\n", "libAtoms::Hello World: Random Seed = 62252544\n", "libAtoms::Hello World: global verbosity = 0\n", "\n", "Calls to system_timer will do nothing by default\n", "\n", "\n", "================================ Input parameters ==============================\n", "\n", "at_file = /tmp/atoms_db.xyz\n", "gap = \"distance_Nb order=2 cutoff=5.0 covariance_type=ARD_SE theta_uniform=1.0 n_sparse=15 delta=1.0: distance_Nb order=3 cutoff=4.0 covariance_type=ARD_SE theta_uniform=1.0 n_sparse=50 delta=0.004: soap cutoff=4.0 covariance_type=dot_product zeta=2 delta=0.016 atom_sigma=0.7 l_max=6 n_max=6 n_sparse=200 sparse_method=cur_points\"\n", "e0 = -29.716948405885105\n", "local_property0 = 0.0\n", "e0_offset = 0.0\n", "e0_method = isolated\n", "default_sigma = \"0.001 0.5 0.0 0.0\"\n", "sparse_jitter = 1.0e-10\n", "hessian_delta = 1.0e-2\n", "core_param_file = quip_params.xml\n", "core_ip_args =\n", "energy_parameter_name = energy\n", "local_property_parameter_name = local_property\n", "force_parameter_name = force\n", "virial_parameter_name = virial\n", "hessian_parameter_name = hessian\n", "config_type_parameter_name = config_type\n", "sigma_parameter_name = sigma\n", "config_type_sigma =\n", "sigma_per_atom = T\n", "do_copy_at_file = F\n", "sparse_separate_file = F\n", "sparse_use_actual_gpcov = F\n", "gp_file = /tmp/gap_2b3bsoap.xml\n", "verbosity = NORMAL\n", "rnd_seed = -1\n", "do_ip_timing = F\n", "template_file = template.xyz\n", "sparsify_only_no_fit = F\n", "\n", "======================================== ======================================\n", "\n", "\n", "============== Gaussian Approximation Potentials - Database fitting ============\n", "\n", "\n", "Initial parsing of command line arguments finished.\n", "Found 3 GAPs.\n", "Descriptors have been parsed\n", "XYZ file read\n", "Unchanged GAP: {distance_Nb order=2 cutoff=5.0 covariance_type=ARD_SE theta_uniform=1.0 n_sparse=15 delta=1.0}\n", "Unchanged GAP: { distance_Nb order=3 cutoff=4.0 covariance_type=ARD_SE theta_uniform=1.0 n_sparse=50 delta=0.004}\n", "Unchanged GAP: { soap cutoff=4.0 covariance_type=dot_product zeta=2 delta=0.016 atom_sigma=0.7 l_max=6 n_max=6 n_sparse=200 sparse_method=cur_points}\n", "Multispecies support added where requested\n", "\n", "===================== Report on number of descriptors found ====================\n", "\n", "---------------------------------------------------------------------\n", "Descriptor: distance_Nb order=2 cutoff=5.0 covariance_type=ARD_SE theta_uniform=1.0 n_sparse=15 delta=1.0\n", "Number of descriptors: 35312\n", "Number of partial derivatives of descriptors: 0\n", "---------------------------------------------------------------------\n", "Descriptor: distance_Nb order=3 cutoff=4.0 covariance_type=ARD_SE theta_uniform=1.0 n_sparse=50 delta=0.004\n", "Number of descriptors: 150164\n", "Number of partial derivatives of descriptors: 0\n", "---------------------------------------------------------------------\n", "Descriptor: soap cutoff=4.0 covariance_type=dot_product zeta=2 delta=0.016 atom_sigma=0.7 l_max=6 n_max=6 n_sparse=200 sparse_method=cur_points\n", "Number of descriptors: 3200\n", "Number of partial derivatives of descriptors: 0\n", "\n", "======================================== ======================================\n", "\n", "\n", "========== Report on number of target properties found in training XYZ: ========\n", "\n", "Number of target energies (property name: energy) found: 100\n", "Number of target local_properties (property name: local_property) found: 0\n", "Number of target forces (property name: force) found: 0\n", "Number of target virials (property name: virial) found: 0\n", "Number of target Hessian eigenvalues (property name: hessian) found: 0\n", "\n", "================================= End of report ================================\n", "\n", "\n", "===== Report on per-configuration/per-atom sigma (error parameter) settings ====\n", "\n", "Number of per-configuration setting of energy_sigma found: 0\n", "Number of per-configuration setting of force_sigma found: 0\n", "Number of per-configuration setting of virial_sigma found: 0\n", "Number of per-configuration setting of hessian_sigma found: 0\n", "Number of per-atom setting of force_atom_sigma found: 0\n", "\n", "================================= End of report ================================\n", "\n", "Started CUR decomposition\n", "cur_decomposition: iteration: 1, error: .34329063034235423E-015\n", "Finished CUR decomposition\n", "Cartesian coordinates transformed to descriptors\n", "Started sparse covariance matrix calculation of coordinate 1\n", "\n", "Finished sparse covariance matrix calculation of coordinate 1\n", "TIMER: gpFull_covarianceMatrix_sparse_Coordinate1_sparse done in 1.9762869999999992 cpu secs, .54421901702880859 wall clock secs.\n", "TIMER: gpFull_covarianceMatrix_sparse_Coordinate1 done in 1.9763460000000004 cpu secs, .54428696632385254 wall clock secs.\n", "Started sparse covariance matrix calculation of coordinate 2\n", "\n", "Finished sparse covariance matrix calculation of coordinate 2\n", "TIMER: gpFull_covarianceMatrix_sparse_Coordinate2_sparse done in 52.650658000000000 cpu secs, 14.171960830688477 wall clock secs.\n", "TIMER: gpFull_covarianceMatrix_sparse_Coordinate2 done in 52.650689000000000 cpu secs, 14.171991109848022 wall clock secs.\n", "Started sparse covariance matrix calculation of coordinate 3\n", "Covariance matrix 100% |********************| 0.3 / 0.3 s\n", "Finished sparse covariance matrix calculation of coordinate 3\n", "TIMER: gpFull_covarianceMatrix_sparse_Coordinate3_sparse done in .69204299999999819 cpu secs, .25782394409179688 wall clock secs.\n", "TIMER: gpFull_covarianceMatrix_sparse_Coordinate3 done in .69208299999999667 cpu secs, .25786900520324707 wall clock secs.\n", "TIMER: gpFull_covarianceMatrix_sparse_LinearAlgebra done in .10295999999999594 cpu secs, .42098045349121094E-001 wall clock secs.\n", "TIMER: gpFull_covarianceMatrix_sparse_FunctionValues done in .20000000020559128E-005 cpu secs, .21457672119140625E-005 wall clock secs.\n", "TIMER: gpFull_covarianceMatrix_sparse done in 55.422404999999998 cpu secs, 15.016569852828979 wall clock secs.\n", "TIMER: GP sparsify done in 55.621861000000003 cpu secs, 15.223239183425903 wall clock secs.\n", "\n", "libAtoms::Finalise: 07/10/2019 17:17:51\n", "libAtoms::Finalise: Bye-Bye!\n" ] } ], "source": [ "!gap_fit at_file=/tmp/atoms_db.xyz \\\n", "gap={distance_Nb order=2 \\\n", " cutoff=5.0 \\\n", " covariance_type=ARD_SE \\\n", " theta_uniform=1.0 \\\n", " n_sparse=15 \\\n", " delta=1.0:\\\n", " distance_Nb order=3 \\\n", " cutoff=4.0 \\\n", " covariance_type=ARD_SE \\\n", " theta_uniform=1.0 \\\n", " n_sparse=50 \\\n", " delta=0.004:\\\n", " soap cutoff=4.0 \\\n", " covariance_type=dot_product \\\n", " zeta=2 \\\n", " delta=0.016 \\\n", " atom_sigma=0.7 \\\n", " l_max=6 \\\n", " n_max=6 \\\n", " n_sparse=200 \\\n", " sparse_method=cur_points} \\\n", "e0=-29.716948405885105 \\\n", "default_sigma={0.001 0.5 0.0 0.0} \\\n", "do_copy_at_file=F sparse_separate_file=F \\\n", "gp_file=/tmp/gap_2b3bsoap.xml 2>&1 | grep -v FoX" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can load and use the fitted potential:" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:31.872466Z", "start_time": "2019-09-25T22:45:24.499581Z" } }, "outputs": [], "source": [ "gap_soap = Potential(param_filename='/tmp/gap_2b3bsoap.xml')\n", "gap_energies = []\n", "for at in db:\n", " a = at.copy()\n", " a.set_calculator(gap_soap)\n", " gap_energies.append(a.get_potential_energy())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also calculate the RMSE (in meV) as follows:" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:31.955836Z", "start_time": "2019-09-25T22:45:31.898441Z" } }, "outputs": [ { "data": { "text/plain": [ "0.004254157149981674" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.sqrt(sum((np.array(qm_energies)/Natoms - np.array(gap_energies)/Natoms)**2)/len(gap_energies))" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:32.246843Z", "start_time": "2019-09-25T22:45:31.959788Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.scatter(np.array(qm_energies)/Natoms, np.array(gap_energies)/Natoms)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Using GAP for MD\n", "We can use now use the fitted potential to do MD or geometry relaxation:" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:32.259896Z", "start_time": "2019-09-25T22:45:32.250418Z" } }, "outputs": [], "source": [ "#attach tight binding calculator\n", "atoms.set_calculator(gap_soap)\n", "\n", "# Thermalize atoms\n", "# MaxwellBoltzmannDistribution(atoms, 2.0* T * units.kB)\n", "\n", "# dynamics = VelocityVerlet(atoms, timestep)\n", "dynamics = Langevin(atoms, timestep, T * units.kB, 0.002)\n", " \n", "dynamics.attach(print_status, interval=10)\n", "dynamics.attach(print_energy, interval=10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dynamics:" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:45.128606Z", "start_time": "2019-09-25T22:45:32.265254Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Step = 0, time = 0.0 [fs], T = 1294.479828341841 [K]\n", "Energy per atom: Epot = -34.698eV Ekin = 0.167eV (T=1294K) Etot = -34.531eV\n", "Step = 10, time = 10.0 [fs], T = 1189.7904138587505 [K]\n", "Energy per atom: Epot = -34.685eV Ekin = 0.154eV (T=1190K) Etot = -34.531eV\n", "Step = 20, time = 20.0 [fs], T = 1264.3379093179376 [K]\n", "Energy per atom: Epot = -34.696eV Ekin = 0.163eV (T=1264K) Etot = -34.533eV\n", "Step = 30, time = 30.0 [fs], T = 1457.3725237044011 [K]\n", "Energy per atom: Epot = -34.721eV Ekin = 0.188eV (T=1457K) Etot = -34.533eV\n", "Step = 40, time = 40.0 [fs], T = 1388.8679832826024 [K]\n", "Energy per atom: Epot = -34.715eV Ekin = 0.180eV (T=1389K) Etot = -34.536eV\n", "Step = 50, time = 50.00000000000001 [fs], T = 1561.736378264197 [K]\n", "Energy per atom: Epot = -34.738eV Ekin = 0.202eV (T=1562K) Etot = -34.536eV\n", "Step = 60, time = 60.0 [fs], T = 2028.6943305981565 [K]\n", "Energy per atom: Epot = -34.800eV Ekin = 0.262eV (T=2029K) Etot = -34.538eV\n", "Step = 70, time = 70.0 [fs], T = 1568.5562709553685 [K]\n", "Energy per atom: Epot = -34.737eV Ekin = 0.203eV (T=1569K) Etot = -34.535eV\n", "Step = 80, time = 80.0 [fs], T = 1886.3013570587461 [K]\n", "Energy per atom: Epot = -34.779eV Ekin = 0.244eV (T=1886K) Etot = -34.535eV\n", "Step = 90, time = 90.0 [fs], T = 1928.3315444589239 [K]\n", "Energy per atom: Epot = -34.787eV Ekin = 0.249eV (T=1928K) Etot = -34.537eV\n", "Step = 100, time = 100.00000000000001 [fs], T = 1727.5769477863184 [K]\n", "Energy per atom: Epot = -34.761eV Ekin = 0.223eV (T=1728K) Etot = -34.538eV\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.run(steps=100)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Geometry optimisation:" ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:45:45.175139Z", "start_time": "2019-09-25T22:45:45.137204Z" } }, "outputs": [], "source": [ "optatoms = db[0].copy()\n", "optatoms.set_calculator(gap_soap)\n", "opt = PreconLBFGS(optatoms, precon=Exp(3.0))" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:46:00.264930Z", "start_time": "2019-09-25T22:45:45.185216Z" }, "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PreconLBFGS: 0 17:18:02 -1109.683388 4.9234\n", "estimate_mu(): mu=1.4377293786564451, mu_c=1.0\n", "PreconLBFGS: 1 17:18:02 -1110.535572 4.5917\n", "PreconLBFGS: 2 17:18:02 -1111.272884 4.5079\n", "PreconLBFGS: 3 17:18:02 -1111.957952 4.3767\n", "PreconLBFGS: 4 17:18:02 -1112.578689 4.3500\n", "PreconLBFGS: 5 17:18:02 -1113.225669 4.3169\n", "PreconLBFGS: 6 17:18:02 -1113.863449 4.2918\n", "PreconLBFGS: 7 17:18:03 -1114.471548 4.2458\n", "PreconLBFGS: 8 17:18:03 -1115.032581 4.1511\n", "PreconLBFGS: 9 17:18:03 -1115.574963 4.0274\n", "PreconLBFGS: 10 17:18:03 -1116.119287 3.8739\n", "PreconLBFGS: 11 17:18:03 -1116.680878 3.6919\n", "PreconLBFGS: 12 17:18:03 -1117.209393 3.5311\n", "PreconLBFGS: 13 17:18:03 -1117.716249 3.3508\n", "PreconLBFGS: 14 17:18:03 -1118.160184 3.2262\n", "PreconLBFGS: 15 17:18:03 -1118.601303 3.0357\n", "PreconLBFGS: 16 17:18:03 -1118.990945 2.9062\n", "PreconLBFGS: 17 17:18:04 -1119.349906 2.8058\n", "PreconLBFGS: 18 17:18:04 -1119.678573 2.7172\n", "PreconLBFGS: 19 17:18:04 -1120.006870 2.6478\n", "PreconLBFGS: 20 17:18:04 -1120.342863 2.5801\n", "PreconLBFGS: 21 17:18:04 -1120.661850 2.5140\n", "PreconLBFGS: 22 17:18:04 -1120.989318 2.4015\n", "PreconLBFGS: 23 17:18:04 -1121.302870 2.4258\n", "PreconLBFGS: 24 17:18:04 -1121.594728 2.5018\n", "PreconLBFGS: 25 17:18:04 -1121.864728 2.5801\n", "PreconLBFGS: 26 17:18:04 -1122.124053 2.5994\n", "PreconLBFGS: 27 17:18:04 -1122.396679 2.6003\n", "PreconLBFGS: 28 17:18:05 -1122.669355 2.5872\n", "PreconLBFGS: 29 17:18:05 -1122.963355 2.4957\n", "PreconLBFGS: 30 17:18:05 -1123.269795 2.3171\n", "PreconLBFGS: 31 17:18:05 -1123.603594 1.9910\n", "PreconLBFGS: 32 17:18:05 -1123.937762 1.5578\n", "PreconLBFGS: 33 17:18:05 -1124.234675 1.3468\n", "PreconLBFGS: 34 17:18:05 -1124.513655 1.1899\n", "PreconLBFGS: 35 17:18:05 -1124.758552 1.2400\n", "PreconLBFGS: 36 17:18:05 -1124.966145 1.2919\n", "PreconLBFGS: 37 17:18:05 -1125.150890 1.3222\n", "PreconLBFGS: 38 17:18:06 -1125.313512 1.2540\n", "PreconLBFGS: 39 17:18:06 -1125.484647 1.2145\n", "PreconLBFGS: 40 17:18:06 -1125.645388 1.1570\n", "PreconLBFGS: 41 17:18:06 -1125.802081 1.1058\n", "PreconLBFGS: 42 17:18:06 -1125.944609 1.0548\n", "PreconLBFGS: 43 17:18:06 -1126.066383 1.0593\n", "PreconLBFGS: 44 17:18:06 -1126.162365 1.0664\n", "PreconLBFGS: 45 17:18:06 -1126.246577 1.0189\n", "PreconLBFGS: 46 17:18:06 -1126.330379 1.0728\n", "PreconLBFGS: 47 17:18:06 -1126.410825 1.1446\n", "PreconLBFGS: 48 17:18:07 -1126.488125 1.2435\n", "PreconLBFGS: 49 17:18:07 -1126.560200 1.3443\n", "PreconLBFGS: 50 17:18:07 -1126.626230 1.4196\n", "PreconLBFGS: 51 17:18:07 -1126.686193 1.3669\n", "PreconLBFGS: 52 17:18:07 -1126.742823 1.3389\n", "PreconLBFGS: 53 17:18:07 -1126.795906 1.2727\n", "PreconLBFGS: 54 17:18:07 -1126.845887 1.2176\n", "PreconLBFGS: 55 17:18:07 -1126.893799 1.1407\n", "PreconLBFGS: 56 17:18:07 -1126.940278 1.0719\n", "PreconLBFGS: 57 17:18:07 -1126.982981 0.9973\n", "PreconLBFGS: 58 17:18:08 -1127.029085 0.9026\n", "PreconLBFGS: 59 17:18:08 -1127.070015 0.8517\n", "PreconLBFGS: 60 17:18:08 -1127.116317 0.8929\n", "PreconLBFGS: 61 17:18:08 -1127.161266 0.9901\n", "PreconLBFGS: 62 17:18:08 -1127.202419 1.0645\n", "PreconLBFGS: 63 17:18:08 -1127.241068 1.0903\n", "PreconLBFGS: 64 17:18:08 -1127.282508 1.0586\n", "PreconLBFGS: 65 17:18:08 -1127.347191 0.8213\n", "PreconLBFGS: 66 17:18:08 -1127.405873 0.7884\n", "PreconLBFGS: 67 17:18:09 -1127.448727 0.7998\n", "PreconLBFGS: 68 17:18:09 -1127.486176 0.7780\n", "PreconLBFGS: 69 17:18:09 -1127.525671 0.7810\n", "PreconLBFGS: 70 17:18:09 -1127.558559 0.8359\n", "PreconLBFGS: 71 17:18:09 -1127.598349 0.8139\n", "PreconLBFGS: 72 17:18:09 -1127.634101 0.8673\n", "PreconLBFGS: 73 17:18:09 -1127.662738 0.8824\n", "PreconLBFGS: 74 17:18:09 -1127.687485 0.9169\n", "PreconLBFGS: 75 17:18:09 -1127.698444 1.0778\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Passed direction which is not downhill. Aborting...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PreconLBFGS: 76 17:18:09 -1127.698444 1.0778\n", "PreconLBFGS: 77 17:18:10 -1127.719816 1.0899\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/Users/jameskermode/.pyenv/versions/3.6.6/Python.framework/Versions/3.6/lib/python3.6/site-packages/ase/optimize/precon/lbfgs.py:352: UserWarning: Armijo linesearch failed, resetting Hessian and trying again\n", " 'Armijo linesearch failed, resetting Hessian and '\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PreconLBFGS: 78 17:18:10 -1127.761700 1.1322\n", "PreconLBFGS: 79 17:18:10 -1127.844255 1.2291\n", "PreconLBFGS: 80 17:18:10 -1127.969036 1.3938\n", "PreconLBFGS: 81 17:18:10 -1128.081393 1.4121\n", "PreconLBFGS: 82 17:18:10 -1128.181345 1.3558\n", "PreconLBFGS: 83 17:18:10 -1128.270254 1.3927\n", "PreconLBFGS: 84 17:18:10 -1128.348531 1.5283\n", "PreconLBFGS: 85 17:18:10 -1128.426889 1.7799\n", "PreconLBFGS: 86 17:18:11 -1128.445736 1.8243\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Passed direction which is not downhill. Aborting...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PreconLBFGS: 87 17:18:11 -1128.445736 1.8243\n", "PreconLBFGS: 88 17:18:11 -1128.482902 1.9309\n", "PreconLBFGS: 89 17:18:11 -1128.559965 2.2312\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Passed direction which is not downhill. Aborting...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PreconLBFGS: 90 17:18:11 -1128.559965 2.2312\n", "PreconLBFGS: 91 17:18:11 -1128.670491 2.4921\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Passed direction which is not downhill. Aborting...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PreconLBFGS: 92 17:18:11 -1128.670491 2.4921\n", "PreconLBFGS: 93 17:18:11 -1128.782318 2.3591\n", "PreconLBFGS: 94 17:18:11 -1128.894364 2.1521\n", "PreconLBFGS: 95 17:18:11 -1129.001220 2.2479\n", "PreconLBFGS: 96 17:18:11 -1129.106928 2.3316\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Passed direction which is not downhill. Aborting...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PreconLBFGS: 97 17:18:11 -1129.106928 2.3316\n", "PreconLBFGS: 98 17:18:11 -1129.220418 2.3091\n", "PreconLBFGS: 99 17:18:12 -1129.331678 2.2090\n", "PreconLBFGS: 100 17:18:12 -1129.443932 2.0163\n", "PreconLBFGS: 101 17:18:12 -1129.551115 1.6623\n", "PreconLBFGS: 102 17:18:12 -1129.652255 1.2197\n", "PreconLBFGS: 103 17:18:12 -1129.733200 0.8105\n", "PreconLBFGS: 104 17:18:12 -1129.793145 0.6091\n", "PreconLBFGS: 105 17:18:12 -1129.830076 0.5602\n", "PreconLBFGS: 106 17:18:12 -1129.844974 0.3316\n", "PreconLBFGS: 107 17:18:12 -1129.853075 0.4243\n", "PreconLBFGS: 108 17:18:13 -1129.857980 0.2636\n", "PreconLBFGS: 109 17:18:13 -1129.861664 0.1665\n", "PreconLBFGS: 110 17:18:13 -1129.863643 0.1211\n", "PreconLBFGS: 111 17:18:13 -1129.864671 0.0906\n", "PreconLBFGS: 112 17:18:13 -1129.865139 0.0449\n", "PreconLBFGS: 113 17:18:13 -1129.865458 0.0324\n", "PreconLBFGS: 114 17:18:14 -1129.865586 0.0232\n", "PreconLBFGS: 115 17:18:14 -1129.865642 0.0139\n", "PreconLBFGS: 116 17:18:14 -1129.865663 0.0100\n", "PreconLBFGS: 117 17:18:14 -1129.865673 0.0062\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "opt.run(fmax=0.01)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's visualise the relaxed structure:" ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "ExecuteTime": { "end_time": "2019-09-25T22:46:00.435231Z", "start_time": "2019-09-25T22:46:00.298120Z" }, "scrolled": false }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "8d54ce7eaee94e27ad3e77113adeecdb", "version_major": 2, "version_minor": 0 }, "text/plain": [ "NGLWidget()" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "view = ViewStructure(optatoms, (2,2,1))\n", "view.camera= 'orthographic'\n", "view" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.6.6" }, "pycharm": { "stem_cell": { "cell_type": "raw", "metadata": { "collapsed": false }, "source": [] } } }, "nbformat": 4, "nbformat_minor": 2 }