{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Primitive unit cells\n", "====================\n", "\n", "Understanding the definitions of the crystal structure are of paramount importance. If your structure is wrong your results are wrong. Thus it is *highly recommended* to check your data carefully before even starting the calculation.\n", "\n", "This tutorial shows how to generate the structure and how to check its relationship with the primitive unit cell and how to generate primitive unit cells with various definitions." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Import the basic libraries\n", "\n", "# ASE system\n", "import ase\n", "from ase import Atom, Atoms\n", "from ase import io\n", "from ase.lattice.spacegroup import crystal\n", "\n", "# Spacegroup/symmetry library\n", "from pyspglib import spglib\n", "\n", "# The qe-util package\n", "from qeutil import QuantumEspresso\n", "\n", "# iPython utility function\n", "from IPython.core.display import Image\n", "\n", "# Configure qe-util for local execution of the Quantum Espresso on four processors\n", "QuantumEspresso.pw_cmd='mpiexec -n 4 pw.x < %(infile)s > %(outfile)s'" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Crystal definition\n", "------------------\n", "\n", "Here we define a $\\beta$-SiC crystal: a cubic zincblende crystal with a spacegroup F-43m (space group number 216) and an experimental lattice constant (here, A=4.3596 A). The atomic positions are specified in the fractional (crystallographic) coordinates; i.e. coordinates measured in units of lattice constants in the coordinate system defined by lattice vectors. The unit cell is specified as three lengths (in angstrom) of the lattice vectors and three angles (in degrees) between these vectors. The crystal axis are oriented in the conventional way in the Cartesian (X,Y,Z) coordinate system:\n", "\n", "* Vector $\\vec{A}$ is along the X axis\n", "* Vector $\\vec{B}$ is in the XY plane\n", "\n", "This crystal is defined in what is usually called *Conventional Unit Cell*." ] }, { "cell_type": "code", "collapsed": false, "input": [ "a=4.3596 # Lattice constant in Angstrom\n", "cryst = crystal(['Si', 'C'], # Atoms in the crystal\n", " [(0, 0, 0), (0.25, 0.25, 0.25)], # Atomic positions (fractional coordinates)\n", " spacegroup=216, # International number of the spacegroup of the crystal\n", " cellpar=[a, a, a, 90, 90, 90]) # Unit cell (a, b, c, alpha, beta, gamma) in Angstrom, Degrees" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can display the picture of the crystal. The `ase.io.write` procedure, used here, is a very flexible tool. It can write the crystal in numerous formats, it can even run external tools for rendering a 3D scene. Here, we just use a simple renderer build into the write procedure to store a picture of the crystal into a disk file and then to display it." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Write the image to disk file\n", "ase.io.write('crystal.png', # The file where the picture get stored\n", " cryst, # The object holding the crystal definition\n", " format='png', # Format of the file\n", " show_unit_cell=2, # Draw the unit cell boundaries\n", " rotation='115y,15x', # Rotate the scene by 115deg around Y axis and 15deg around X axis\n", " scale=35) # Scale of the picture\n", "\n", "# Display the image\n", "Image(filename='crystal.png')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "png": "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\n", "prompt_number": 3, "text": [ "" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Most of the calculations are done on the primitive unit cell of the crystal (instead of the traditional, crystallographic unit cell). The primitive unit cell is usually substantially smaller, thus the calculations are much faster. The `spglib` library contains also a function which can identify a primitive unit cell for a given structure. In this part of the tutorial we create a primitive unit cell for the crystal. Usually we do not need to do it explicitly - the `qeutil` library extracts this information internally when it is needed. Still it is worthwhile to do it by hand to learn about relationships. Furthermore one needs to note that the definition of the primitive unit cell is not unique. The same parallerogram in space may be described by many different base vectors - depending on selection of edges used for the base vectors.\n", "\n", "The `spglib.find_primitive` function returns three arrays containing respectively (remember that lists and array indexes start from 0 in python): \n", "\n", "* unit cell vectors (3x3) matrix (in Angstrom)\n", "* atomic positions (3xN-atoms) matrix (fractional coordinates)\n", "* list of atomic numbers of the atoms in the unit cell\n", "\n", "The returned primitive unit cell is usually *not* the one which is conventionally used in the literature (e.g. it usually differs from the one required by the Quantum Espresso). If you want some particular form of the unit cell you have to do the conversion yourself (see below).\n", "\n", "**Note 1:** The primitive unit cell is defined in the *Cartesian* coordinate system (as a 3x3 matrix of lattice vectors coordinates in angstroms). It corresponds to the orientation of the crystal for which it was derived. The orientation of both crystals are *the same* but the primitive unit cell is usually **not** oriented in the conventional way (see the remark about orientation of axis above). Particularly in the case presented here the A, B, C axes of the primitive lattice are oriented, respectively, in the XY, XZ and XY planes (see the matrix below).\n", "\n", "**Note 2:** The atomic coordinates below are specified in *fractional* coordinates in the *primitive unit cell*. Thus they are different then the fractional coordinatesin the conventional unit cell defined above. This is an important rule: *The fractional coordinates are always defined and measured by the vectors of the **current** unit cell*." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Find a primitive cell of the structure\n", "puc=spglib.find_primitive(cryst)\n", "\n", "# Parameters of the unit cell\n", "print 'Primitive unit cell (Angstrom, carthesian coordinates):\\n', puc[0]\n", "print '\\nAtomic positions (fractional, crystalographic):\\n', puc[1]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Primitive unit cell (Angstrom, carthesian coordinates):\n", "[[ 2.1798 -2.1798 0. ]\n", " [-2.1798 -0. -2.1798]\n", " [ 2.1798 2.1798 0. ]]\n", "\n", "Atomic positions (fractional, crystalographic):\n", "[[ 1.38777878e-17 5.55111512e-17 2.77555756e-17]\n", " [ -2.50000000e-01 -5.00000000e-01 2.50000000e-01]]\n" ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Based on the parameters of the primitive unit cell we can build a crystal object for it. Just feed the parameters stored in `puc` variable to the creator of the generic atomic systems: `Atoms`. Then we will check the symmetry of the created structure to verify it is the same." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Create the primitive cell crystal\n", "cryst_prim=Atoms( # Create a generic atomic structure\n", " cell=puc[0], # Unit cell (Angstrom)\n", " scaled_positions=puc[1], # Atomic positions (fractional)\n", " numbers=puc[2], # Atomic numbers\n", " pbc=True) # Use Periodic Boundary Conditions" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "# Check if the symmetry is still the same\n", "print spglib.get_spacegroup(cryst_prim)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "F-43m (216)\n" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "For the FCC structure we have here the traditional primitive unit cell is quite different from the one obtained above. Typically the vectors of the primitive unit cell of the FCC structure point to the centers of faces of three sides of the cube adjanced to the origin giving the following cell matrix:\n", "$$\n", "\\frac{a}{2}\\left[ \n", "\\begin{array}{ccc}\n", "1 & 0 & 1 \\\\\n", "1 & 1 & 0 \\\\\n", "0 & 1 & 1 \n", "\\end{array}\\right]\n", "$$\n", "\n", "One can transform the unit cell created above (`cryst_prim`) into this standard prymitive unit cell. \n", "\n", "The trick is simple: build a new unit cell with the same *cartesian* atomic positions and your desired unit cell. The creation procedure will automatically fold the atoms into correct positions inside the unit cell." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# define the new unit cell\n", "new_uc=a*array([[1,0,1],[1,1,0],[0,1,1]])/2\n", "\n", "print \"New primitive unit cell (A)\\n\", new_uc" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "New primitive unit cell (A)\n", "[[ 2.1798 0. 2.1798]\n", " [ 2.1798 2.1798 0. ]\n", " [ 0. 2.1798 2.1798]]\n" ] } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "# Create a new crystal with a new primitive unit cell\n", "new_crystal=Atoms(cell=new_uc, # Define new unit cell\n", " positions=cryst_prim.get_positions(), # Put atoms in cartesian positions from the cryst_prim\n", " numbers=cryst_prim.get_atomic_numbers(), # Set atomic numbers\n", " pbc=True) # Make the structure periodic\n", "\n", "print \"Atomic positions (fractional)\\n\", new_crystal.get_scaled_positions()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Atomic positions (fractional)\n", "[[ 0.00000000e+00 2.77555756e-17 0.00000000e+00]\n", " [ 2.50000000e-01 2.50000000e-01 2.50000000e-01]]\n" ] } ], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "# Take a look, same orientation as before\n", "ase.io.write('crystal-prim.png',new_crystal,format='png',show_unit_cell=2, rotation='115y,15x', scale=40)\n", "Image(filename='crystal-prim.png')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "png": "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\n", "prompt_number": 9, "text": [ "" ] } ], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The image above shows exactly the type of the primitive unit cell we have requested. Furthermore, if you compare the orientation of the atoms here and on the picture of the conventional unit cell you will notice that they are the same. The whole procedure just \"cut out\" the primitive unit cell out of the conventional one. Note the fractional coordinates of the carbon atom in two definitions of the primitive unit cell. In the first it is [-1/4, 1/2, 1/4] while in the second one it is [1/4, 1/4, 1/4] as expected." ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 9 } ], "metadata": {} } ] }