From 17f31e8a165f2731fd427360eb5d04bd8d9563d8 Mon Sep 17 00:00:00 2001 From: knc6 Date: Fri, 11 Aug 2023 12:01:12 -0400 Subject: [PATCH] Update readme. --- README.md | 368 +------------------------------------------------- docs/index.md | 45 +++--- 2 files changed, 24 insertions(+), 389 deletions(-) diff --git a/README.md b/README.md index 5fe6cf15..a71cf87f 100644 --- a/README.md +++ b/README.md @@ -16,375 +16,11 @@ ------------------------------------------------------------------------ -# Table of Contents -* [Introduction](#intro) -* [Documentation](#doc) -* [Capabilities](#cap) -* [Installation](#install) -* [Example function](#example) -* [Citation](#cite) -* [References](#refs) -* [How to contribute](#contrib) -* [Correspondence](#corres) -* [Funding support](#fund) -* [Code of conduct](#conduct) -* [Module structure](#module) - - -# JARVIS-Tools (Introduction) +# JARVIS-Tools The JARVIS-Tools is an open-access software package for atomistic data-driven materials design. JARVIS-Tools can be used for a) setting up calculations, b) analysis and informatics, c) plotting, d) database development and e) web-page development. -JARVIS-Tools empowers NIST-JARVIS (Joint Automated Repository for -Various Integrated Simulations) repository which is an integrated -framework for computational science using density functional theory, -classical force-field/molecular dynamics and machine-learning. The -NIST-JARVIS official website is: . This -project is a part of the Materials Genome Initiative (MGI) at NIST -(). - -For more details, checkout our latest article: [The joint automated -repository for various integrated simulations (JARVIS) for data-driven -materials design](https://www.nature.com/articles/s41524-020-00440-1) -and [YouTube -videos](https://www.youtube.com/watch?v=P0ZcHXOC6W0&feature=emb_title&ab_channel=JARVIS-repository) - -[![image](https://www.ctcms.nist.gov/~knc6/images/logo/jarvis-mission.png)](https://jarvis.nist.gov/) - - -## Documentation - -> - - -## Capabilities - -- **Software workflow tasks for preprcessing, executing and - post-processing**: VASP, Quantum Espresso, Wien2k BoltzTrap, - Wannier90, LAMMPS, Scikit-learn, TensorFlow, LightGBM, Qiskit, - Tequila, Pennylane, DGL, PyTorch. -- **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](https://github.com/usnistgov/jarvis/blob/master/DatasetSummary.rst) - . - -## Installation - -- We recommend installing miniconda environment from - : - - bash Miniconda3-latest-Linux-x86_64.sh (for linux) - bash Miniconda3-latest-MacOSX-x86_64.sh (for Mac) - Download 32/64 bit python 3.8 miniconda exe and install (for windows) - Now, let's make a conda environment just for JARVIS:: - conda create --name my_jarvis python=3.8 - source activate my_jarvis - -- Method-1: Installation using pip: - - pip install -U jarvis-tools - -- Method-2: Installation using conda: - - conda install -c conda-forge jarvis-tools - -- Method-3: Installation using setup.py: - - pip install numpy scipy matplotlib - git clone https://github.com/usnistgov/jarvis.git - cd jarvis - python setup.py install - -- Note on installing additional dependencies for all modules to - function: - - pip install -r dev-requirements.txt - - -## 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)) -75993 - - -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)) -1109 - -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']) - ase_atoms=atoms.ase_converter() - 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. -> 2. -> 3. - - -## Citing - -Please cite the following if you happen to use JARVIS-Tools for a -publication. - - - -> Choudhary, K. et al. The joint automated repository for various -> integrated simulations (JARVIS) for data-driven materials design. npj -> Computational Materials, 6(1), 1-13 (2020). - - -## References - -Please see [Publications related to -JARVIS-Tools](https://pages.nist.gov/jarvis/publications/) - - -## How to contribute - -[![image](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) - -For detailed instructions, please see [Contribution -instructions](https://github.com/usnistgov/jarvis/blob/master/Contribution.rst) - - -## Correspondence - -Please report bugs as Github issues -() or email to -. - - -## Funding support - -NIST-MGI (). - - -## Code of conduct - -Please see [Code of -conduct](https://github.com/usnistgov/jarvis/blob/master/CODE_OF_CONDUCT.md) - - -## Module structure - - jarvis/ - ├── ai - │ ├── descriptors - │ │ ├── cfid.py - │ │ ├── coulomb.py - │ ├── gcn - │ ├── pkgs - │ │ ├── lgbm - │ │ │ ├── classification.py - │ │ │ └── regression.py - │ │ ├── sklearn - │ │ │ ├── classification.py - │ │ │ ├── hyper_params.py - │ │ │ └── regression.py - │ │ └── utils.py - │ ├── uncertainty - │ │ └── lgbm_quantile_uncertainty.py - ├── analysis - │ ├── darkmatter - │ │ └── metrics.py - │ ├── defects - │ │ ├── surface.py - │ │ └── vacancy.py - │ ├── diffraction - │ │ └── xrd.py - │ ├── elastic - │ │ └── tensor.py - │ ├── interface - │ │ └── zur.py - │ ├── magnetism - │ │ └── magmom_setup.py - │ ├── periodic - │ │ └── ptable.py - │ ├── phonon - │ │ ├── force_constants.py - │ │ └── ir.py - │ ├── solarefficiency - │ │ └── solar.py - │ ├── stm - │ │ └── tersoff_hamann.py - │ ├── structure - │ │ ├── neighbors.py - │ │ ├── spacegroup.py - │ ├── thermodynamics - │ │ ├── energetics.py - │ ├── topological - │ │ └── spillage.py - ├── core - │ ├── atoms.py - │ ├── composition.py - │ ├── graphs.py - │ ├── image.py - │ ├── kpoints.py - │ ├── lattice.py - │ ├── pdb_atoms.py - │ ├── specie.py - │ ├── spectrum.py - │ └── utils.py - ├── db - │ ├── figshare.py - │ ├── jsonutils.py - │ ├── lammps_to_xml.py - │ ├── restapi.py - │ ├── vasp_to_xml.py - │ └── webpages.py - ├── examples - │ ├── lammps - │ │ ├── jff_test.py - │ │ ├── Al03.eam.alloy_nist.tgz - │ ├── vasp - │ │ ├── dft_test.py - │ │ ├── SiOptb88.tgz - ├── io - │ ├── boltztrap - │ │ ├── inputs.py - │ │ └── outputs.py - │ ├── calphad - │ │ └── write_decorated_poscar.py - │ ├── lammps - │ │ ├── inputs.py - │ │ └── outputs.py - │ ├── pennylane - │ │ ├── inputs.py - │ ├── phonopy - │ │ ├── fcmat2hr.py - │ │ ├── inputs.py - │ │ └── outputs.py - │ ├── qe - │ │ ├── inputs.py - │ │ └── outputs.py - │ ├── qiskit - │ │ ├── inputs.py - │ ├── tequile - │ │ ├── inputs.py - │ ├── vasp - │ │ ├── inputs.py - │ │ └── outputs.py - │ ├── wannier - │ │ ├── inputs.py - │ │ └── outputs.py - │ ├── wanniertools - │ │ ├── inputs.py - │ │ └── outputs.py - │ ├── wien2k - │ │ ├── inputs.py - │ │ ├── outputs.py - ├── tasks - │ ├── boltztrap - │ │ └── run.py - │ ├── lammps - │ │ ├── templates - │ │ └── lammps.py - │ ├── phonopy - │ │ └── run.py - │ ├── vasp - │ │ └── vasp.py - │ ├── queue_jobs.py - ├── tests - │ ├── testfiles - │ │ ├── ai - │ │ ├── analysis - │ │ │ ├── darkmatter - │ │ │ ├── defects - │ │ │ ├── elastic - │ │ │ ├── interface - │ │ │ ├── magnetism - │ │ │ ├── periodic - │ │ │ ├── phonon - │ │ │ ├── solar - │ │ │ ├── stm - │ │ │ ├── structure - │ │ │ ├── thermodynamics - │ │ │ ├── topological - │ │ ├── core - │ │ ├── db - │ │ ├── io - │ │ │ ├── boltztrap - │ │ │ ├── calphad - │ │ │ ├── lammps - │ │ │ ├── pennylane - │ │ │ ├── phonopy - │ │ │ ├── qiskit - │ │ │ ├── qe - │ │ │ ├── tequila - │ │ │ ├── vasp - │ │ │ ├── wannier - │ │ │ ├── wanniertools - │ │ │ ├── wien2k - │ │ ├── tasks - │ │ │ ├── test_lammps.py - │ │ │ └── test_vasp.py - └── README.rst +Detailed documentation available at: https://pages.nist.gov/jarvis/ diff --git a/docs/index.md b/docs/index.md index 5d11dd6a..7b78d3c1 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,21 +1,3 @@ -[![image](https://badge.fury.io/py/jarvis-tools.svg)](https://pypi.org/project/jarvis-tools/) -[![image](https://anaconda.org/conda-forge/jarvis-tools/badges/version.svg)](https://anaconda.org/conda-forge/jarvis-tools) -[![image](https://img.shields.io/github/v/tag/usnistgov/jarvis)](https://github.com/usnistgov/jarvis) -[![image](https://ci.appveyor.com/api/projects/status/d8na8vyfm7ulya9p/branch/master?svg=true)](https://ci.appveyor.com/project/knc6/jarvis-63tl9) -[![image](https://github.com/usnistgov/jarvis/workflows/JARVIS-Tools%20github%20action/badge.svg)](https://github.com/usnistgov/jarvis) -[![image](https://github.com/usnistgov/jarvis/workflows/JARVIS-Tools%20linting/badge.svg)](https://github.com/usnistgov/jarvis) -[![image](https://img.shields.io/codecov/c/github/knc6/jarvis)](https://codecov.io/gh/knc6/jarvis) -[![image](https://img.shields.io/pypi/dm/jarvis-tools.svg)](https://img.shields.io/pypi/dm/jarvis-tools.svg) -[![image](https://pepy.tech/badge/jarvis-tools)](https://pepy.tech/badge/jarvis-tools) -[![image](https://zenodo.org/badge/DOI/10.5281/zenodo.3903515.svg)](https://doi.org/10.5281/zenodo.3903515) -[![image](https://img.shields.io/github/commit-activity/y/usnistgov/jarvis)](https://github.com/usnistgov/jarvis) -[![image](https://img.shields.io/github/repo-size/usnistgov/jarvis)](https://github.com/usnistgov/jarvis) -[![image](https://img.shields.io/badge/JARVIS-Figshare-Green.svg)](https://figshare.com/authors/Kamal_Choudhary/4445539) -[![image](https://img.shields.io/badge/JARVIS-ToolsDocs-Green.svg)](https://jarvis-tools.readthedocs.io) -[![image](https://colab.research.google.com/assets/colab-badge.svg)](https://github.com/JARVIS-Materials-Design/jarvis-tools-notebooks) - ------------------------------------------------------------------------- - # Table of Contents * [Introduction](#intro) * [Documentation](#doc) @@ -48,8 +30,7 @@ project is a part of the Materials Genome Initiative (MGI) at NIST For more details, checkout our latest article: [The joint automated repository for various integrated simulations (JARVIS) for data-driven -materials design](https://www.nature.com/articles/s41524-020-00440-1) -and [YouTube +materials design](https://www.nature.com/articles/s41524-020-00440-1), [other publications](https://pages.nist.gov/jarvis/publications/) and [YouTube videos](https://www.youtube.com/watch?v=P0ZcHXOC6W0&feature=emb_title&ab_channel=JARVIS-repository) @@ -58,12 +39,30 @@ videos](https://www.youtube.com/watch?v=P0ZcHXOC6W0&feature=emb_title&ab_channel

+[![image](https://badge.fury.io/py/jarvis-tools.svg)](https://pypi.org/project/jarvis-tools/) +[![image](https://anaconda.org/conda-forge/jarvis-tools/badges/version.svg)](https://anaconda.org/conda-forge/jarvis-tools) +[![image](https://img.shields.io/github/v/tag/usnistgov/jarvis)](https://github.com/usnistgov/jarvis) +[![image](https://ci.appveyor.com/api/projects/status/d8na8vyfm7ulya9p/branch/master?svg=true)](https://ci.appveyor.com/project/knc6/jarvis-63tl9) +[![image](https://github.com/usnistgov/jarvis/workflows/JARVIS-Tools%20github%20action/badge.svg)](https://github.com/usnistgov/jarvis) +[![image](https://github.com/usnistgov/jarvis/workflows/JARVIS-Tools%20linting/badge.svg)](https://github.com/usnistgov/jarvis) +[![image](https://img.shields.io/codecov/c/github/knc6/jarvis)](https://codecov.io/gh/knc6/jarvis) +[![image](https://img.shields.io/pypi/dm/jarvis-tools.svg)](https://img.shields.io/pypi/dm/jarvis-tools.svg) +[![image](https://pepy.tech/badge/jarvis-tools)](https://pepy.tech/badge/jarvis-tools) +[![image](https://zenodo.org/badge/DOI/10.5281/zenodo.3903515.svg)](https://doi.org/10.5281/zenodo.3903515) +[![image](https://img.shields.io/github/commit-activity/y/usnistgov/jarvis)](https://github.com/usnistgov/jarvis) +[![image](https://img.shields.io/github/repo-size/usnistgov/jarvis)](https://github.com/usnistgov/jarvis) +[![image](https://img.shields.io/badge/JARVIS-Figshare-Green.svg)](https://figshare.com/authors/Kamal_Choudhary/4445539) +[![image](https://img.shields.io/badge/JARVIS-ToolsDocs-Green.svg)](https://pages.nist.gov/jarvis) +[![image](https://colab.research.google.com/assets/colab-badge.svg)](https://github.com/JARVIS-Materials-Design/jarvis-tools-notebooks) + +------------------------------------------------------------------------ + ## Documentation -> +> ## Capabilities @@ -191,7 +190,7 @@ for ii,i in enumerate(dft_3d): Find more examples at -> 1. +> 1. > 2. > 3. @@ -211,7 +210,7 @@ publication. ## References Please see [Publications related to -JARVIS-Tools](https://jarvis-tools.readthedocs.io/en/master/publications.html) +JARVIS-Tools](https://pages.nist.gov/jarvis/publications/) ## How to contribute