Skip to main content

jarvis-tools: an open-source software package for data-driven atomistic materials design. https://jarvis.nist.gov/

Project description

https://img.shields.io/travis/usnistgov/jarvis/master.svg?label=Travis%20CI https://ci.appveyor.com/api/projects/status/d8na8vyfm7ulya9p/branch/master?svg=true https://github.com/usnistgov/jarvis/workflows/JARVIS-Tools%20github%20action/badge.svg https://github.com/usnistgov/jarvis/workflows/JARVIS-Tools%20linting/badge.svg https://readthedocs.org/projects/jarvis-tools/badge/?version=latest https://img.shields.io/codecov/c/github/knc6/jarvis https://img.shields.io/pypi/dm/jarvis-tools.svg https://pepy.tech/badge/jarvis-tools https://zenodo.org/badge/DOI/10.5281/zenodo.3903515.svg https://img.shields.io/github/v/tag/usnistgov/jarvis https://app.codacy.com/project/badge/Grade/be8fa78b1c0a49c280415ce061163e77 https://img.shields.io/github/commit-activity/y/usnistgov/jarvis https://img.shields.io/github/repo-size/usnistgov/jarvis https://img.shields.io/twitter/url?style=social&url=https%3A%2F%2Ftwitter.com%2Fjarvisnist https://img.shields.io/badge/Facebook-Follow-Blue.svg https://img.shields.io/badge/LinkedIn-Follow-Blue.svg

JARVIS-Tools: an open-source software package for data-driven atomistic materials design

NIST-JARVIS (Joint Automated Repository for Various Integrated Simulations) is an integrated framework for computational science using density functional theory, classical force-field/molecular dynamics and machine-learning. The jarvis-tools package consists of scripts used in generating and analyzing the dataset. The NIST-JARVIS official website is: https://jarvis.nist.gov . This project is a part of the Materials Genome Initiative (MGI) at NIST (https://mgi.nist.gov/).

For more details, checkout our latest article: The joint automated repository for various integrated simulations (JARVIS) for data-driven materials design and YouTube videos

https://www.ctcms.nist.gov/~knc6/images/logo/jarvis-mission.png

Capabilities

  • Software workflow tasks for preprcessing and post-processing: VASP, Quantum Espresso, Wien2k BoltzTrap, Wannier90, LAMMPS, Scikit-learn, TensorFlow, LightGBM.

  • Several examples: Notebooks and test scripts to explain the package.

  • Several analysis tools: Atomic structure, Electronic structure, Spacegroup, Diffraction, 2D materials and other vdW bonded systems, Mechanical, Optoelectronic, Topological, Solar-cell, Thermoelectric, Piezoelectric, Dielectric, STM, Phonon, Dark matter, Wannier tight binding models, Point defects, Heterostructures, Magnetic ordering, Images, Spectrum etc.

  • Database upload and download: Download JARVIS databases such as JARVIS-DFT, FF, ML, WannierTB, Solar, STM and also external databases such as Materials project, OQMD, AFLOW etc.

  • Access raw input/output files: Download input/ouput files for JARVIS-databases to enhance reproducibility.

  • Train machine learning models: Use different descriptors, graphs and datasets for training machine learning models.

  • HPC clusters: Torque/PBS and SLURM.

  • Available datasets: Summary of several datasets .

Installation

>>> pip install -U jarvis-tools

For detailed instructions, please see Installation instructions

Example function

>>> from jarvis.core.atoms import Atoms
>>> box = [[2.715, 2.715, 0], [0, 2.715, 2.715], [2.715, 0, 2.715]]
>>> coords = [[0, 0, 0], [0.25, 0.25, 0.25]]
>>> elements = ["Si", "Si"]
>>> Si = Atoms(lattice_mat=box, coords=coords, elements=elements)
>>> density = round(Si.density,2)
>>> print (density)
2.33
>>>
>>> from jarvis.db.figshare import data
>>> dft_3d = data(dataset='dft_3d')
>>> print (len(dft_3d))
36099
>>> from jarvis.io.vasp.inputs import Poscar
>>> for i in dft_3d:
...     atoms = Atoms.from_dict(i['atoms'])
...     poscar = Poscar(atoms)
...     jid = i['jid']
...     filename = 'POSCAR-'+jid+'.vasp'
...     poscar.write_file(filename)
>>> dft_2d = data(dataset='dft_2d')
>>> print (len(dft_2d))
1070
>>> for i in dft_2d:
...     atoms = Atoms.from_dict(i['atoms'])
...     poscar = Poscar(atoms)
...     jid = i['jid']
...     filename = 'POSCAR-'+jid+'.vasp'
...     poscar.write_file(filename)
>>> # Example to parse DOS data from JARVIS-DFT webpages
>>> from jarvis.db.webpages import Webpage
>>> from jarvis.core.spectrum import Spectrum
>>> import numpy as np
>>> new_dist=np.arange(-5, 10, 0.05)
>>> all_atoms = []
>>> all_dos_up = []
>>> all_jids = []
>>> for ii,i in enumerate(dft_3d):
      all_jids.append(i['jid'])
...   try:
...     w = Webpage(jid=i['jid'])
...     edos_data = w.get_dft_electron_dos()
...     ens = np.array(edos_data['edos_energies'].strip("'").split(','),dtype='float')
...     tot_dos_up = np.array(edos_data['total_edos_up'].strip("'").split(','),dtype='float')
...     s = Spectrum(x=ens,y=tot_dos_up)
...     interp = s.get_interpolated_values(new_dist=new_dist)
...     atoms=Atoms.from_dict(i['atoms'])
...     all_dos_up.append(interp)
...     all_atoms.append(atoms)
...     all_jids.append(i['jid'])
...     filename=i['jid']+'.cif'
...     atoms.write_cif(filename)
...     break
...   except Exception as exp :
...     print (exp,i['jid'])
...     pass

Find more examples at

  1. https://jarvis-materials-design.github.io/dbdocs/tutorials

  2. https://github.com/JARVIS-Materials-Design/jarvis-tools-notebooks

  3. https://github.com/usnistgov/jarvis/tree/master/jarvis/tests/testfiles

References

Please see Publications related to JARVIS-Tools

Documentation

https://jarvis-materials-design.github.io/dbdocs/

Correspondence

Please report bugs as Github issues (https://github.com/usnistgov/jarvis/issues) or email to kamal.choudhary@nist.gov.

Funding support

NIST-MGI (https://www.nist.gov/mgi).

Code of conduct

Please see Code of conduct

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

jarvis-tools-2021.2.21.tar.gz (818.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jarvis_tools-2021.2.21-py2.py3-none-any.whl (892.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file jarvis-tools-2021.2.21.tar.gz.

File metadata

  • Download URL: jarvis-tools-2021.2.21.tar.gz
  • Upload date:
  • Size: 818.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0.post20200209 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.11

File hashes

Hashes for jarvis-tools-2021.2.21.tar.gz
Algorithm Hash digest
SHA256 61030ab97ee862508fd7d4b7aafa5dc5960e9e05d68d7abe6230404519e2f9e8
MD5 e7a66baf7f93d7689d53ef2a44590abe
BLAKE2b-256 ba379aad3da446c2d6e3dac5a231fb4a0d1019b43bec9f2f2bd2f91acedf5448

See more details on using hashes here.

File details

Details for the file jarvis_tools-2021.2.21-py2.py3-none-any.whl.

File metadata

  • Download URL: jarvis_tools-2021.2.21-py2.py3-none-any.whl
  • Upload date:
  • Size: 892.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0.post20200209 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.11

File hashes

Hashes for jarvis_tools-2021.2.21-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 864af765d4eb3ab2031c54682b1b3592d92bf7619fcd8424e4f38a12cd8e553c
MD5 1479064ac5430c374351f454bd64dd8b
BLAKE2b-256 f9e0b33bfecc3598d50f0721eba47e9e40b8cb2b5b1b66018fec4d814c73ad77

See more details on using hashes here.

Supported by

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