Commit 6bcb3e48 authored by Sherri Hadian's avatar Sherri Hadian
Browse files

changes to README, Paper

parent 8bf3a491
Loading
Loading
Loading
Loading
+29 −37
Original line number Diff line number Diff line
# GB_code
This python package helps you create orthogonal grain boundary supercells for atomistic calculations. The code is based on the coincident site lattice (CSL) formulations for cubic materials (sc, bcc, fcc, diamond). I intend to extend it to hcp structures soon. This code produces a final structure to be read in [LAMMPS](https://lammps.sandia.gov/).    
If you want to run DFT calculations you can use [Ovito](https://ovito.org/index.php/download) to output a POSCAR file from this LAMMPS input structure.
This python package helps you create orthogonal grain boundary supercells for atomistic calculations. The code is based on the coincident site lattice (CSL) formulations for cubic materials (sc, bcc, fcc, diamond). I intend to extend it to hcp structures soon. This code produces a final structure to be read in [LAMMPS](https://lammps.sandia.gov/) or [VASP](https://www.vasp.at/).

# Overview
There are two main scripts: [_csl_generator.py_](./csl_generator.py) and [_gb_generator.py_](./csl_generator.py) which you need to use in this order to produce the final grain boundary (GB) structure.
In this README I will explain the steps to use the code in the Linux Terminal and I have also attached two _jupyter notebooks_ ([Usage_of_GB_code.ipynb](./Usage_of_GB_code.ipynb), [Dichromatic_pattern_CSL.ipynb](./Dichromatic_pattern_CSL.ipynb)) which describe how the code can be accessed and used in the notebooks by various examples. These notebooks have extra functionality. The former is for the general usage of the code with some tips to locate GBs of interest, the latter depicts how CSL construction can be used for different purposes.
You can use [this link](https://mybinder.org/v2/gh/oekosheri/GB_code/master) for an interactive Jupyter notebook environment provided by Binder. [![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/oekosheri/GB_code/master)
To use it locally, you would need python3 and numpy1.14 for the main scripts and additionally matplotlib and pandas to use the auxilliary Jupyter notebooks. For installation simply clone or download the code in your terminal.
To use it locally, you need python3 and numpy1.14 for the main scripts and additionally matplotlib and pandas to use the auxilliary Jupyter notebooks. For installation simply clone or download the code in your terminal.

# Usage
To pick a grain boundary 5 degrees of freedom need to be fixed: rotation axis, rotation angle and GB plane orientation.
@@ -167,10 +166,3 @@ Feel free to use the code anyway you like, if you find it useful please cite thi

# License
[MIT](./LICENSE).






+17 −1
Original line number Diff line number Diff line
@@ -22,6 +22,22 @@ booktitle = {SERBIULA (sistema Librum 2.0)}
	Volume = {117},
	Year = {1995}}

@article{VASP,
 author =        {Kresse, G. and Furthm\"uller, J.},
 journal =       {Phys. Rev. B},
 month =         {Oct},
 pages =         {11169--11186},
 publisher =     {American Physical Society},
 title =         {Efficient iterative schemes for \textit{ab initio}
                  total-energy calculations using a plane-wave basis
                  set},
 volume =        {54},
 year =          {1996},
 doi =           {10.1103/PhysRevB.54.11169},
 url =           {http://link.aps.org/doi/10.1103/PhysRevB.54.11169},
}


@article{Grimmer,
   author = {Grimmer, H. and Bollmann, W. and Warrington, D. H.},
   title = {Coincidence-site lattices and complete pattern-shift in cubic crystals},
+9 −10
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@ tags:
  - grain boundary
  - crystallography
  - CSL
  - atomistic simulations
  - atomistic simulations (VASP, LAMMPS)
 authors:
  - name: R. Hadian
    orcid: 0000-0002-9616-4602
@@ -27,8 +27,7 @@ bibliography: paper.bib
Grain boundaries (GBs) are crystalline borders between single crystals in materials microstructure. They play an important
role in mechanical, chemical or electronic response of materials and are therefore essential to materials science and physics.

GBs are geometrical entities with a large parameter space that has been well formulated within a coincident site lattice (CSL) mathematical framework [@Sutton:1996]. One important computational advantage of the CSL formalism is that it enables the construction of GBs in a periodic setup for atomistic simulations. ``GB_code`` [@GB_code] uses the CSL construction to generate GB atomic structures (currently for cubic materials) systematically and provides input atomic structures for atomistic calculations (e.g. ``LAMMPS``[@LAMMPS]). These atomistic codes can further calculate different properties of the GBs.  
In addition to providing the input structures, the ``csl_generator.py`` script and the attached Jupyter notebooks have extra functionality to show how the CSL properties can be used to locate, classify and categorize different GBs and to extract detailed information about them; which causes it to be a good interactive toolbox to learn about grain boundaries and versatile for running high-throughput calculations. The target audience are students/scientists of materials science and physics at any level of familiarity with the topic. 
GBs are geometrical entities with a large parameter space that has been well formulated within a coincident site lattice (CSL) mathematical framework [@Sutton:1996]. One important computational advantage of the CSL formalism is that it enables the construction of GBs in a periodic setup for atomistic simulations. ``GB_code`` [@GB_code] uses the CSL construction to generate GB atomic structures (currently for cubic materials) systematically. It provides input atomic structures for large-scale atomistic simulations with interatomic potentials (as implemented e.g. in ``LAMMPS``[@LAMMPS]) or _ab initio_, density-functional-theory (DFT) simulations (as implemented e.g. in VASP [@VASP]). These atomistic codes can further calculate different properties of the GBs. In addition to providing the input structures, the ``csl_generator.py`` script and the attached Jupyter notebooks have extra functionality to show how the CSL properties can be used to locate, classify and categorize different GBs and to extract detailed information about them; which causes it to be a good interactive toolbox to learn about grain boundaries and versatile for running high-throughput calculations. The target audience are students/scientists of materials science and physics at any level of familiarity with the topic.

``GB_code`` is mainly designed to be run in Linux terminal as it is documented in detail in the README file of the repository
but it can also be accessed via the attached Jupyter notebooks. The code consists of two main scripts, ``csl_generator.py`` and ``gb_generator.py``, that should be used in this order to produce the final GB structures. The attached Jupyter notebooks, ``Usage_of_GB_code.ipynb`` and ``Dichromatic_pattern_CSL.ipynb``, can access the two scripts as modules, the former addresses the