{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "### Calculation of migration barriers using NEB method\n", "In this example we show how to calculate migration barrier on the example of LiFePO4\n", "\n", "## Important notes\n", "\n", "- Creation of intermediate images on server is done with [nebmake.pl] and [vasp.pm] (https://theory.cm.utexas.edu/code/vtstscripts.tgz) script. By using *add_neb(upload_vts = 1)* it will be uploaded to ~/tools/vts/ otherwise do it manually\n", "\n", "- initialize header.PATH2NEBMAKE constant with path to nebmake.pl; either in header.py or project_conf.py\n", "\n", "- To use void search you should compile *findpores.cpp*. For linux use *make_findpores* script in siman folder. Fow windows use *make_findpores.bat* (mingw64v5.2 or Visuall C++ should be installed).\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import sys\n", "sys.path.append('/home/aksenov/Simulation_wrapper/siman')\n", "from SSHTools import SSHTools\n", "import header\n", "from calc_manage import add_loop, res_loop, smart_structure_read\n", "from database import write_database, read_database\n", "from set_functions import read_vasp_sets\n", "from neb import add_neb\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Attention! You have chosen to override set ion_relax\n", " \n", "\n", "Warning! You did not change ISIF in ion_relax set\n", " \n", "\n", "Warning! You did not change IBRION in ion_relax set\n", " \n", "\n" ] }, { "data": { "text/plain": [ "{'static': ,\n", " 'ion_relax': }" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "header.ssh_object = SSHTools()\n", "header.ssh_object.setup(user=\"aksenov\",host=\"10.30.16.62\",pkey=\"/home/aksenov/.ssh/id_rsa\")\n", "\n", "header.PATH2PROJECT = 'neb' # path to project relative to your home folder on cluster\n", "header.PATH2POTENTIALS = '/home/aksenov/scientific_projects/PAW_PBE_VASP' #path to VASP POTENTIALS\n", "\n", "header.varset['static'].potdir = {3:'Li', 26:'Fe', 15:'P', 8:'O'} #subfolders with required potentials\n", "read_vasp_sets([('ion_relax', 'static', {'ISIF':2, 'IBRION':1, 'NSW':20, 'EDIFFG':-0.025}, 'override')]) #new set 'ion_relax' from 'static' with 'NSW' = 20" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-- You provided the following geo file explicitly in/mp-19017.POSCAR ; Version of file does not matter, I use *curver*= 1 as a new version \n", "\n" ] } ], "source": [ "st = smart_structure_read(input_geo_file = 'in/mp-19017.POSCAR') #read LiFePO4 structure" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Create Initial and Final configurations and run on server\n", "Function add_neb() creates start and end configurations by removing or adding alkali ion atoms.\n", "The start and end configurations have 1 and 2 version numbers, respectively.\n", "All intermidiate images have version numbers starting from 3.\n", "Before setting *run = 1* you can check created configurations in xyz folder: mp-19017_start.xyz and mp-19017_end.xyz\n", " \n", "- *it_new* and *it_new_folder* are name and folder for new calculation. \n", "- *ise_new* is set with VASP parameters defined above.\n", "- *images* is number of images and *corenum* is number of cores used for calculation; should be dividable by images.\n", "- *upload_vts = 1* upload nebmake.pl to server." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-- You have chosen vacancy_creation mode of add_neb tool \n", "\n", "-- Type of atom to move = Li \n", "\n", "I can suggest you 4 end positions. The distances to them are : [ 0. 3.04 5.74 6.5 ] A\n", " They are all Li atoms \n", "\n", "-- File xyz/mp-19017_start.xyz was written \n", "\n", "-- File xyz/mp-19017_end.xyz was written \n", "\n", "-- Creating geo files for starting and final configurations (versions 1 and 2) \n", "\n", "-- Warning! File ./LiFePO4/neb/LiFePO4.n3Li1v1/LiFePO4.n3Li1v1.auto_created_starting_position_for_neb_vacancy_creation.1.geo was replaced \n", "\n", "-- Warning! File ./LiFePO4/neb/LiFePO4.n3Li1v1/LiFePO4.n3Li1v1.auto_created_final_position_for_neb_vacancy_creation.2.geo was replaced \n", "\n", "-- Attention, I update number of images in the set to 3 for this calculation; \n", "\n", "-- check_kpoints(): Kpoint mesh is: [3, 5, 6] \n", "\n", "-- check_kpoints(): The actual k-spacings are [ 0.2 0.21 0.22] \n", "\n", "\n", "Calculation ('LiFePO4.n3Li1v1', 'ion_relax', 1) successfully created\n", "\n", " \n", "\n", "-- check_kpoints(): Kpoint mesh is: [3, 5, 6] \n", "\n", "-- check_kpoints(): The actual k-spacings are [ 0.2 0.21 0.22] \n", "\n", "-- Attention! ngkpt = [3, 5, 6] is adopted from struct_des which you provided for it LiFePO4.n3Li1v1 and kspacing = 0.235 \n", "\n", "\n", "Calculation ('LiFePO4.n3Li1v1', 'ion_relax', 2) successfully created\n", "\n", " \n", "\n", "-- Please be sure that vtsttools are at aksenov@10.30.16.62 /home/aksenov/tools/vts/ \n", "\n" ] }, { "data": { "text/plain": [ "'LiFePO4.n3Li1v1'" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "add_neb(st = st, it_new = 'LiFePO4', ise_new = 'ion_relax', it_new_folder = 'LiFePO4/neb',\n", " images = 3, corenum = 15, upload_vts = 0, run = 0) \n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "Max. F. tot (meV/A) = \n", "[1845 2447 1024 738 489 772 231 237 184 126 139 104 55 89 42\n", " 47 37 32 31 27]; \n", "\n", "-- name | energy(eV)| Vector lenghts (A) | Stresses (MPa) | N MD, N SCF \n", "-- LiFePO4.n3Li1v1.ion_relax.1 | -185.3215 | 10.45;6.09;4.75 |-13095,-13883,-9633 | 20, 7,147 \n", "-- Attention!, SCF was not converged to desirable prec 0.014 > 0.006 meV \n", "\n", "\n", "\n", "Max. F. tot (meV/A) = \n", "[1845 2447 1025 734 492 779 233 240 187 135 151 86 57 82 46\n", " 47 36 38 36 30]; \n", "\n", "-- LiFePO4.n3Li1v1.ion_relax.2 | -185.3211 | 10.45;6.09;4.75 |-13152,-13905,-9671 | 20, 7,149 \n", "-- Directory LiFePO4/neb//LiFePO4.n3Li1v1.ion_relax/01 was created \n", "\n", "\n", "\n", "Max. F. chain+tot (meV/A) = \n", "[1046 1926 794 776 662 593 547 466 379 384 324 348 294 270 248\n", " 226 278 193 182 166]; \n", "\n", "-- LiFePO4.n3Li1v1.ion_relax.3 | -185.1748 | 10.45;6.09;4.75 |-12612,-13980,-8884 | 20, 6,134 \n", "-- Directory LiFePO4/neb//LiFePO4.n3Li1v1.ion_relax/02 was created \n", "\n", "\n", "\n", "Max. F. chain+tot (meV/A) = \n", "[2115 4022 1893 1924 1032 849 773 603 530 850 381 398 340 310 362\n", " 252 249 229 216 198]; \n", "\n", "-- LiFePO4.n3Li1v1.ion_relax.4 | -185.0004 | 10.45;6.09;4.75 |-12148,-14496,-8454 | 20, 7,146 \n", "-- Directory LiFePO4/neb//LiFePO4.n3Li1v1.ion_relax/03 was created \n", "\n", "\n", "\n", "Max. F. chain+tot (meV/A) = \n", "[1052 1932 795 782 663 592 546 465 378 384 326 351 294 271 247\n", " 227 280 190 179 165]; \n", "\n", "-- LiFePO4.n3Li1v1.ion_relax.5 | -185.1748 | 10.45;6.09;4.75 |-12614,-13976,-8877 | 20, 6,138 \n", "[ 0. 1.61416911 3.22825098]\n", "-- plot_mep(): Diffusion barrier = 0.32 eV \n", "\n", "[ 0. 1.61416911 3.22825098]\n", "-- plot_mep(): Diffusion barrier = 0.32 eV \n", "\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "({'barrier': 0.32107652044765422}, [])" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "header.warnings = 'yY' #control warning levels: n, e, y, Y\n", "\n", "res_loop('LiFePO4.n3Li1v1', 'ion_relax', [1,2,3,4,5], show = 'fomepp', analys_type = 'neb' )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Other regimes:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Start: atom number; End: find interstitial void" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "add_neb(RbVl, ise_new = '1u', images = 5, r_impurity = 1.5, search_type = 'existing_voids',\n", " i_atom_to_move = 1, i_void_final = None) #" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Start: atom number; End: xred coordinates of void" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# xr_final is coordinates of final position - void\n", "it = add_neb(RbVl, ise_new = '1u', images = 5,\n", " i_atom_to_move = 2, xr_final = [0.2, 0.1, 0.3], i_void_final = 10) # *i_void_final* is needed here only for producing unique name" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Use external files for NEB (version >1.1.0 is required ) " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# here 'NEB_by_lain' is external folder with geo files for NEB in VASP format, i.e. POSCAR files in 00, 01, 02 ... subfolders\n", "add_neb(init_neb_geo_fld = 'NEB_by_lain/',\n", " it_new = 'Ag9Bi4S4Cl8', ise_new = '1', it_new_folder = 'AgBiSCl/neb' )\n", "# res('Ag9Bi4S4Cl8', '1', range(1,8), show = 'fomepp.neb_geo', analys_type = 'neb' )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Additional parameters:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#1. produce xyz trajectory and shift cell\n", "res_loop(show = 'neb_geo', params = {'mep_shift_vector':(0.,0.5,0.5)}) " ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.6" } }, "nbformat": 4, "nbformat_minor": 1 }