Skip to main content

Machine learning grain boundary properties and structure.

Project description

API Documentation Build Status

Recently, we proposed a universal descriptor for grain boundaries that has desirable mathematical properties, and which can be applied to arbitrary grain boundaries. Using this descriptor, we were able to create a feature matrix for machine learning based on the local atomic environments present at the grain boundary. In addition to being useful for predicting grain boundary energy and mobility, the method also allows important atomic environments to be discovered for each of the properties.

If you use this package, please cite the paper:

@article{Rosenbrock:2017vd,
author = {Rosenbrock, Conrad W and Homer, Eric R and Csanyi, G{\'a}bor and Hart, Gus L W},
title = {{Discovering the building blocks of atomic systems using machine learning: application to grain boundaries}},
journal = {npj Computational Materials},
year = {2017},
volume = {3},
number = {1},
pages = {29}
}

You can generate the Local Environment Representation for the Olmsted dataset using the following code. It assumes that all the Olmsted [1] dump files from LAMMPS are in /dbs/olmsted. We tell the framework to store all representations in the /gbs/olmsted folder.

# Load the perfect FCC as a seed so the LER can be constructed.
# It assumes the the seed file is found at /seeds/"Ni.pissnnl_seed.txt"
seed = np.loadtxt("/seeds/Ni.pissnnl_seed.txt")

from gblearn.gb import GrainBoundaryCollection as GBC
olmsted = GBC("olmsted", "/dbs/olmsted", "/gbs/olmsted",
      r"ni.p(?P<gbid>\d+).out", seed=seed, padding=6.50)

# We explicitly call :meth:`load` to parse the GB files. Then, construct
# the SOAP representation for each GB.
# As part of the load function, we call it with Z=28 for the nickel database,
# and also give it a method and pattern to use
olmsted.load(Z=28, method="cna", pattr="c_cna")

# Calculate the SOAP representation.
# The SOAP representation includes padding around the boundary atoms, so
# that each atom in the GB has a full `rcut` of atoms around it.
# The "meth: 'soap' auto trims those atoms that don't have full environments.
olmsted.soap(rcut=3.25, lmax=12, nmax=12, sigma=0.5)

#Now, we can finally construct the LER.
olmsted.LER(0.0025)

References

[1]: Olmsted, D. L., Foiles, S. M. & Holm, E. A. Survey of computed grain boundary properties in face-centered cubic metals: I. Grain boundary energy. Acta Mater. 57, 3694–3703 (2009).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gblearn-0.4.1.tar.gz (31.6 kB view details)

Uploaded Source

Built Distribution

gblearn-0.4.1-py2-none-any.whl (36.4 kB view details)

Uploaded Python 2

File details

Details for the file gblearn-0.4.1.tar.gz.

File metadata

  • Download URL: gblearn-0.4.1.tar.gz
  • Upload date:
  • Size: 31.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.15

File hashes

Hashes for gblearn-0.4.1.tar.gz
Algorithm Hash digest
SHA256 07689f0070ed16cb380f9d821b55deba6e3e63c96076eab7cb5f2311acebcc2f
MD5 61e463e1087e7af7b88c89db95de1f4b
BLAKE2b-256 4f5d563fb5790b099929c398d86ae4621a40b46785cc643dbaa6e5008ecd69d6

See more details on using hashes here.

File details

Details for the file gblearn-0.4.1-py2-none-any.whl.

File metadata

  • Download URL: gblearn-0.4.1-py2-none-any.whl
  • Upload date:
  • Size: 36.4 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.15

File hashes

Hashes for gblearn-0.4.1-py2-none-any.whl
Algorithm Hash digest
SHA256 b5811fbe50d3a3098eef8e9911f2b3902f988b94ceae733ca62f3b26b8e2951c
MD5 563c9c250bebca653c49cd9fa129119f
BLAKE2b-256 99480398bdf0e76512a72f4ef7e2fc054311b8ff2f1676d2a1ff781d2c0645b0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page