gblearn: Machine Learning for Grain Boundaries
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| gblearn-0.4.1.tar.gz | 31.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.