Skip to main content

gblearn: Machine Learning for Grain Boundaries

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).

Metadata

Release files for gblearn 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gblearn 0.4.1
File Size Uploaded Provenance
gblearn-0.4.1.tar.gz 31.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for gblearn 0.4.1
File Interpreter ABI Platform
gblearn-0.4.1-py2-none-any.whl Python 2 none any Details

Total release size: 68.0 kB

Release files / gblearn-0.4.1.tar.gz

Download URL gblearn-0.4.1.tar.gz
Size 31.6 kB
Tags Source
SHA-256 checksum
How to use checksums
07689f0070ed16cb380f9d821b55deba6e3e63c96076eab7cb5f2311acebcc2f
BLAKE2b-256 checksum
How to use checksums
4f5d563fb5790b099929c398d86ae4621a40b46785cc643dbaa6e5008ecd69d6
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / gblearn-0.4.1-py2-none-any.whl

Download URL gblearn-0.4.1-py2-none-any.whl
Size 36.4 kB
Tags Python 2
SHA-256 checksum
How to use checksums
b5811fbe50d3a3098eef8e9911f2b3902f988b94ceae733ca62f3b26b8e2951c
BLAKE2b-256 checksum
How to use checksums
99480398bdf0e76512a72f4ef7e2fc054311b8ff2f1676d2a1ff781d2c0645b0
Upload date
Uploaded using Trusted Publishing?
What is 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

Security for gblearn 0.4.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page