{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# First steps through pyiron" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "This section gives a brief introduction about fundamental concepts of pyiron and how they can be used to setup, run and analyze atomic simulations. As a first step we import the libraries [numpy](http://www.numpy.org/) for data analysis and [matplotlib](https://matplotlib.org/) for visualization." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "%matplotlib inline\n", "import matplotlib.pylab as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To import pyiron simply use:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2018-02-09T18:45:45.068257Z", "start_time": "2018-02-09T18:45:43.533004Z" } }, "outputs": [], "source": [ "from pyiron.project import Project" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Project object introduced below is central in pyiron. It allows to name the project as well as to derive all other objects such as structures, jobs etc. without having to import them. Thus, by code completion *Tab* the respective commands can be found easily." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We now create a pyiron Project named 'first_steps'." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "pr = Project(path='first_steps')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The project name also applies for the directory that is created for the project." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Perform a LAMMPS MD simulation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Having created an instance of the pyiron Project we now perform a [LAMMPS](http://lammps.sandia.gov/) molecular dynamics simulation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For this basic simulation example we construct an fcc Al crystal in a cubic supercell (`cubic=True`). For more details on generating structures, please have a look at our [structures example](./structures.ipynb)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "1296530f94ae4dbb834f32e2150d93bb", "version_major": 2, "version_minor": 0 }, "text/html": [ "
Failed to display Jupyter Widget of type NGLWidget
.
\n", " If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n", " that the widgets JavaScript is still loading. If this message persists, it\n", " likely means that the widgets JavaScript library is either not installed or\n", " not enabled. See the Jupyter\n", " Widgets Documentation for setup instructions.\n", "
\n", "\n", " If you're reading this message in another frontend (for example, a static\n", " rendering on GitHub or NBViewer),\n", " it may mean that your frontend doesn't currently support widgets.\n", "
\n" ], "text/plain": [ "NGLWidget()" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "basis = pr.create_ase_bulk('Al', cubic=True)\n", "supercell_3x3x3 = basis.repeat([3, 3, 3])\n", "supercell_3x3x3.plot3d()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here `create_ase_bulk` uses the [ASE bulk module](https://wiki.fysik.dtu.dk/ase/ase/build/build.html). The structure can be modified - here we extend the original cell to a 3x3x3 supercell (`repeat([3, 3, 3]`). Finally, we plot the structure using [NGlview](http://nglviewer.org/nglview/latest/api.html)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The project object allows to create various simulation job types. Here, we create a LAMMPS job." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "job = pr.create_job(job_type=pr.job_type.Lammps, job_name='Al_T800K')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Further, we specify a Molecular Dynamics simulation at $T=800$ K using the supercell structure created above." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2018-02-09T18:45:46.155546Z", "start_time": "2018-02-09T18:45:45.553946Z" } }, "outputs": [], "source": [ "job.structure = supercell_3x3x3\n", "job.calc_md(temperature=800, pressure=0, n_ionic_steps=10000)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To see all available interatomic potentials which are compatible with the structure (for our example they must contain Al) and the job type (here LAMMPS) we call `job.list_potentials()`." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Al_Mg_Mendelev_eam', 'Zope_Ti_Al_2003_eam', 'Al_H_Ni_Angelo_eam']" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "job.list_potentials()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From the above let us select the first potential in the list." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2018-02-09T18:45:46.735000Z", "start_time": "2018-02-09T18:45:46.202421Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Selected potential: Al_Mg_Mendelev_eam\n" ] } ], "source": [ "pot = job.list_potentials()[0]\n", "print ('Selected potential: ', pot)\n", "job.potential = pot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To run the LAMMPS simulation (locally) we now simply use:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "job.run()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Analyze the calculation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "After the simulation has finished the information about the job can be accessed through the Project object." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "ExecuteTime": { "end_time": "2018-02-09T18:45:47.358552Z", "start_time": "2018-02-09T18:45:46.757140Z" } }, "outputs": [ { "data": { "text/plain": [ "{'groups': ['input', 'output'], 'nodes': ['NAME', 'server', 'VERSION', 'TYPE']}" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "job = pr['Al_T800K']\n", "job" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Printing the job object (note that in Jupyter we don't have to call a print statement if the variable/object is in the last line). The output lists the variables (nodes) and the directories (groups). To get a list of all variables stored in the generic output we type:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "ExecuteTime": { "end_time": "2018-02-09T18:45:47.421055Z", "start_time": "2018-02-09T18:45:47.374180Z" } }, "outputs": [ { "data": { "text/plain": [ "{'groups': [], 'nodes': ['temperatures', 'positions', 'steps', 'forces', 'energy_pot', 'energy_tot', 'volume', 'cells', 'pressures', 'unwrapped_positions', 'time']}" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "job['output/generic']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An animated 3d plot of the MD trajectories is created by:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "ExecuteTime": { "end_time": "2018-02-09T18:45:47.536944Z", "start_time": "2018-02-09T18:45:47.421055Z" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "8b809c517e50423f81fb574ebd6eb06f", "version_major": 2, "version_minor": 0 }, "text/html": [ "Failed to display Jupyter Widget of type NGLWidget
.
\n", " If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n", " that the widgets JavaScript is still loading. If this message persists, it\n", " likely means that the widgets JavaScript library is either not installed or\n", " not enabled. See the Jupyter\n", " Widgets Documentation for setup instructions.\n", "
\n", "\n", " If you're reading this message in another frontend (for example, a static\n", " rendering on GitHub or NBViewer),\n", " it may mean that your frontend doesn't currently support widgets.\n", "
\n" ], "text/plain": [ "NGLWidget(count=101)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "job.animate_structure()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To analyze the temperature evolution we plot it as function of the MD step." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "