From 880b4ac0fcd7247a07db91aa10a2a9b0b5a7d484 Mon Sep 17 00:00:00 2001 From: Kamal Choudhary Date: Thu, 27 Jun 2024 23:35:23 -0400 Subject: [PATCH] Develop (#324) * improvement: add `Atoms.clone()` and `remove sites by indices`, including in-place. Use `develop` branch for the PR. (#315) * Fix phonopy requirements. * Fix all requirements. * Fix phonopy requirements. * QE test. * QE test. * Update action_build. * Try other python versions. * Try other python versions. * README updates. * Adding nexus. (#197) * Develop (#196) * Image augmentation. * Augment images. * Augment images. * Specie update. * Add Latt2D, STM image (b-1) fix, image augmentation fix. * Add Latt2D, STM image (b-1) fix, image augmentation fix. * Update conf.py * Update conf.py * Multi-output graph bacthing. * Add EDOS dataset. * Temp. * Add circuit maker. * Add circuit maker. * NELECT update. * Version update, more DBs added. * Fix CHGCAR vasp. * Added volumetric reshape for CHGCAR. * Tmp * Tershoff Hamman update, specie update. * Add crop from center in STM. * Add Fourier transfor in STM. * Update STM pytest. * Add DPI to STM. * Zeo++ added, Atoms cif update, STM update, random vacancy maker added. * Atoms tempfile fix, Potcar from atoms module added. * Test for docs. * C2DB link update, docs Atoms update. * C2DB link update, docs Atoms update. * Version update, COD DB, QM9 JCTC DB added. * Compostion bug fix, elemental descriptor added. * Develop (#186) * Update outputs.py I added the calculation of the Raman intensities inside parse_raman_dat * Update outputs.py * Update outputs.py * Update outputs.py * Update cfid.py * Delete __init__.py * stylecss added. * stylecss added. * Adding extra Makefile/ * Remove examples from docs. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Tutorials update. * Tutorials docs update. * Docs update,pdb reader updated. * Update action_build.yml * Update action_build.yml * Remove pytraj strong dependencies. * Update docs, Added PDBBind and HPOV datasets. * Docs update. * Add thcikness to surface builder. * Surface builder update, Chemical only magpie descriptors added, pdb_core dataset added, zeopp tempfile bugfix. * Typo fix. * Add names to chem descs. * Lessen hermsolver pytest. * Reduced pytest. * Reduced pytest. * Reduced pytest. * Reduced pytest. * Reduced pytest. * No DFT3D * Exclude dft_3d dataset for memory issue. * Update figshare test. * Update figshare test. * Exclude db from coverage. * Exclude db from coverage. * Add magpie.json. * Add magpie.json. * Wien2k bands bug fix. * Wien2k bands bug fix. * Update JARVIS-FF,Elastictensor,LAMMPS parse folder, VASP bandstructure plot code. * JFF update. * Add JQE_TB3 and hMOF dataset. * Update LAMMPS module. * Update LAMMPS module. * Fix elastic tensor module. * Figshare update, docs db name update. * Substitutions. * Update figshare dft_3d, cfid_3d. * Docs data update. * Generate substitutions. * Lint fix. * Update DOS. * Update DOS. Co-authored-by: tavazza Co-authored-by: knc6 Co-authored-by: KAMAL CHOUDHARY * First input. * added black * Example folder. Co-authored-by: Kamal Choudhary Co-authored-by: tavazza Co-authored-by: knc6 Co-authored-by: KAMAL CHOUDHARY * Revert back. * Update .readthedocs.yaml * Update dev-requirements.txt * Docs requirements update. * Update .readthedocs.yaml * Update requirements.txt * Update .readthedocs.yaml * Update requirements.txt * Update .readthedocs.yaml * Update requirements.txt * Update requirements.txt * Update requirements.txt * Update requirements.txt * Update requirements.txt * Update atoms.py * Fixe pbc in ase_to_Atoms. * Add installation tests (#214) * QE inputs, XANES, GHAction updates. (#210) * Image augmentation. * Augment images. * Augment images. * Specie update. * Add Latt2D, STM image (b-1) fix, image augmentation fix. * Add Latt2D, STM image (b-1) fix, image augmentation fix. * Update conf.py * Update conf.py * Multi-output graph bacthing. * Add EDOS dataset. * Temp. * Add circuit maker. * Add circuit maker. * NELECT update. * Version update, more DBs added. * Fix CHGCAR vasp. * Added volumetric reshape for CHGCAR. * Tmp * Tershoff Hamman update, specie update. * Add crop from center in STM. * Add Fourier transfor in STM. * Update STM pytest. * Add DPI to STM. * Zeo++ added, Atoms cif update, STM update, random vacancy maker added. * Atoms tempfile fix, Potcar from atoms module added. * Test for docs. * C2DB link update, docs Atoms update. * C2DB link update, docs Atoms update. * Version update, COD DB, QM9 JCTC DB added. * Compostion bug fix, elemental descriptor added. * Develop (#186) * Update outputs.py I added the calculation of the Raman intensities inside parse_raman_dat * Update outputs.py * Update outputs.py * Update outputs.py * Update cfid.py * Delete __init__.py * stylecss added. * stylecss added. * Adding extra Makefile/ * Remove examples from docs. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Tutorials update. * Tutorials docs update. * Docs update,pdb reader updated. * Update action_build.yml * Update action_build.yml * Remove pytraj strong dependencies. * Update docs, Added PDBBind and HPOV datasets. * Docs update. * Add thcikness to surface builder. * Surface builder update, Chemical only magpie descriptors added, pdb_core dataset added, zeopp tempfile bugfix. * Typo fix. * Add names to chem descs. * Lessen hermsolver pytest. * Reduced pytest. * Reduced pytest. * Reduced pytest. * Reduced pytest. * Reduced pytest. * No DFT3D * Exclude dft_3d dataset for memory issue. * Update figshare test. * Update figshare test. * Exclude db from coverage. * Exclude db from coverage. * Add magpie.json. * Add magpie.json. * Wien2k bands bug fix. * Wien2k bands bug fix. * Update JARVIS-FF,Elastictensor,LAMMPS parse folder, VASP bandstructure plot code. * JFF update. * Add JQE_TB3 and hMOF dataset. * Update LAMMPS module. * Update LAMMPS module. * Fix elastic tensor module. * Figshare update, docs db name update. * Substitutions. * Update figshare dft_3d, cfid_3d. * Docs data update. * Generate substitutions. * Lint fix. * Update DOS. * Update DOS. * Adding folders for nexus setup. * Update QMOF and hMOF info. * Fixing auto klength error. * Adding zeopp surface area. * Vacancy bug fix, added hmof to docs. * vacancy update. * QE inputs update. * Pyhon 3.9 test, added QE el-ph, VASP XANES, modified hmof db details. * Update Contribution.rst * Minor lint fix. * Update action_build.yml * Update action_build.yml * Fix qiskit requirements. * Fix phonopy requirements. * Fix all requirements. * Fix phonopy requirements. * QE test. * QE test. * Update action_build. * Try other python versions. * Try other python versions. * README updates. * Adding nexus. (#197) * Develop (#196) * Image augmentation. * Augment images. * Augment images. * Specie update. * Add Latt2D, STM image (b-1) fix, image augmentation fix. * Add Latt2D, STM image (b-1) fix, image augmentation fix. * Update conf.py * Update conf.py * Multi-output graph bacthing. * Add EDOS dataset. * Temp. * Add circuit maker. * Add circuit maker. * NELECT update. * Version update, more DBs added. * Fix CHGCAR vasp. * Added volumetric reshape for CHGCAR. * Tmp * Tershoff Hamman update, specie update. * Add crop from center in STM. * Add Fourier transfor in STM. * Update STM pytest. * Add DPI to STM. * Zeo++ added, Atoms cif update, STM update, random vacancy maker added. * Atoms tempfile fix, Potcar from atoms module added. * Test for docs. * C2DB link update, docs Atoms update. * C2DB link update, docs Atoms update. * Version update, COD DB, QM9 JCTC DB added. * Compostion bug fix, elemental descriptor added. * Develop (#186) * Update outputs.py I added the calculation of the Raman intensities inside parse_raman_dat * Update outputs.py * Update outputs.py * Update outputs.py * Update cfid.py * Delete __init__.py * stylecss added. * stylecss added. * Adding extra Makefile/ * Remove examples from docs. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Tutorials update. * Tutorials docs update. * Docs update,pdb reader updated. * Update action_build.yml * Update action_build.yml * Remove pytraj strong dependencies. * Update docs, Added PDBBind and HPOV datasets. * Docs update. * Add thcikness to surface builder. * Surface builder update, Chemical only magpie descriptors added, pdb_core dataset added, zeopp tempfile bugfix. * Typo fix. * Add names to chem descs. * Lessen hermsolver pytest. * Reduced pytest. * Reduced pytest. * Reduced pytest. * Reduced pytest. * Reduced pytest. * No DFT3D * Exclude dft_3d dataset for memory issue. * Update figshare test. * Update figshare test. * Exclude db from coverage. * Exclude db from coverage. * Add magpie.json. * Add magpie.json. * Wien2k bands bug fix. * Wien2k bands bug fix. * Update JARVIS-FF,Elastictensor,LAMMPS parse folder, VASP bandstructure plot code. * JFF update. * Add JQE_TB3 and hMOF dataset. * Update LAMMPS module. * Update LAMMPS module. * Fix elastic tensor module. * Figshare update, docs db name update. * Substitutions. * Update figshare dft_3d, cfid_3d. * Docs data update. * Generate substitutions. * Lint fix. * Update DOS. * Update DOS. Co-authored-by: tavazza Co-authored-by: knc6 Co-authored-by: KAMAL CHOUDHARY * First input. * added black * Example folder. Co-authored-by: Kamal Choudhary Co-authored-by: tavazza Co-authored-by: knc6 Co-authored-by: KAMAL CHOUDHARY * Revert back. * Update .readthedocs.yaml * Update dev-requirements.txt * Docs requirements update. * Update .readthedocs.yaml * Update requirements.txt * Update .readthedocs.yaml * Update requirements.txt * Update .readthedocs.yaml * Update requirements.txt * Update requirements.txt * Update requirements.txt * Update requirements.txt * Update requirements.txt * Update atoms.py * Fixe pbc in ase_to_Atoms. Co-authored-by: tavazza Co-authored-by: knc6 Co-authored-by: KAMAL CHOUDHARY Co-authored-by: wines1 <74620550+wines1@users.noreply.github.com> * Add installation tests * Fix codestyle * Fix codestyle with black * Add docstrings * Fix pydocstyle error * Update __init__.py * Update __init__.py Co-authored-by: Kamal Choudhary Co-authored-by: tavazza Co-authored-by: knc6 Co-authored-by: KAMAL CHOUDHARY Co-authored-by: wines1 <74620550+wines1@users.noreply.github.com> * Adding QE super. * Minor changes to QE module, atoms xyz fix. * Adding qe_tb info, and version update. * Update __init__.py * WIP super QE. * Working version of ScSi. * QE inputs and task update. * Add master super. * Add master super. * Lint fix. * Lint fix. * Minor fix. * ET update. * Fix ET test. * Update sanitize atoms. * Additonal checks on supercond. * Debye bug fix. * Pressure in QE Super. * Version fix, publication update, supercond workflow update. * Lint fix. * Tensorboard fix. * Tensorboard fix. * Tensorboard fix. * Melting temp fix. * Update vasp.py (#234) * Local tetra tmp. * Version update. * Lint fix. * HSE06 * Tmp. * Vacancy update, Optimade structureand other minor lint updates. * STEM pytest fix. * Minor lint fix. * Fixed selectrive dynamics issue in Poscar, force reading for single atom system in Vasprun, np.array in core.graps, num_atoms for single atom systems in core.Atoms * Lint fix. * Added phononDos class. * fix pytorch UserWarning in build_undirected_edgedata() (#243) site-packages/jarvis/core/graphs.py:158: UserWarning: Creating a tensor from a list of numpy.ndarrays is extremely slow. Please consider converting the list to a single numpy.ndarray with numpy.array() before converting to a tensor. r = torch.tensor(r).type(torch.get_default_dtype()) * Add PhaseDiagram. * Add PhaseDiagram. * PhaseDiagram update. * STM image pytest increase, requirements upgrade. * STM image pytest increase, requirements upgrade. * STM image pytest increase, requirements upgrade. * Compare atoms, get spg info directly from atoms. * Flake8 fix. * Update publications.rst * Update qiskit. * Update qiskit. * Update test_hermsolver.py * FIix qiskit DOS. * Update test_hermsolver.py * Fix linting. * Develop og (#257) * Added isotope scattering rate to phonon DOS analysis script. * Linting fix. * Linting fix. * Linting fix. * Add QE convergence. * Update converg.py. * Nexus. * Super with converg. * Super with converg. * SuperCon QE update. * Figshare DB update. * Figshare DB update. * Update alignn ff link. * Lint fix. * DB docs update. * Minor fixes: delete agg in figshare, add destination path in figshare data, dtype compatibility with new numpy. * Lint fix. * Supercon workflow fix. * Add extra db entires, fix chem in cfid_chem. * Version update. * Add figshare datasets. * Update databases.rst * codecov fix. * Version update. * Lint fix. * Add FigShare datasets, DOS in QE, Uncertainty. * Add python 3.9. * Create README.md * Update README. * Add README.md. * Update action_build.yml * Update action_lint.yml * Allow md file, add mode databases. * Create NISTtheDocs2Death.yml * Allow md file, add mode databases. * Add publications. * Update publications.rst * Update requirements.txt * Update requirements.txt * Update requirements.txt * Update requirements.txt * Create deploy_nist_pages.yml * Add mkdocs. * Update deploy_nist_pages.yml * Update md. * Update setup.py * Update readme. * Update setup.py * Remove absl. * Update dev-requirements.txt * Update index.md * Update deploy_nist_pages.yml * Update index.rst * Add redirect. * Update action_build.yml * Update dev-requirements.txt * Update dev-requirements.txt * Update setup.py * Update dev-requirements.txt * Fix __repr__ for Atoms. * Update requirements. * Update requirements. * Update requirements. * Update requirements. * Update requirements. * Update requirements. * Update requirements. * Update requirements. * Fix requirements. * Fix requirements. * Fix requirements. * Fix requirements. * Use poscar write as string. * Use poscar write as string. * Use poscar write as string. * Update action_build.yml * Use poscar write as string. * Use poscar write as string. * Update action_build.yml * Use poscar write as string. * Use poscar write as string. * Delete NISTtheDocs2Death.yml * Delete action_lint.yml * Use poscar write as string. * Fix phonopy. * Update dev-requirements.txt * Update databases. * Add eigs. * Add eigs. * Add eigs. * Fix STM test. * Delete .travis.yml * Update README. * Add python docs. * GA * Update action_build.yml * Atoms class update with props. * Atoms class update with props. * Delete .readthedocs.yaml * Update README.md * QEjob fix. * Chang poscar write. * Add check_polar update, locpot update. * Locpot pytest. * X locpot. * Lint. * Update figshare.py * Update tutorials.md for get_chem_only_descriptors (#309) * Develop (#308) * Exclude db from coverage. * Exclude db from coverage. * Add magpie.json. * Add magpie.json. * Wien2k bands bug fix. * Wien2k bands bug fix. * Update JARVIS-FF,Elastictensor,LAMMPS parse folder, VASP bandstructure plot code. * JFF update. * Add JQE_TB3 and hMOF dataset. * Update LAMMPS module. * Update LAMMPS module. * Fix elastic tensor module. * Figshare update, docs db name update. * Substitutions. * Update figshare dft_3d, cfid_3d. * Docs data update. * Generate substitutions. * Lint fix. * Update DOS. * Update DOS. * Adding folders for nexus setup. * Update QMOF and hMOF info. * Fixing auto klength error. * Adding zeopp surface area. * Vacancy bug fix, added hmof to docs. * vacancy update. * QE inputs update. * Pyhon 3.9 test, added QE el-ph, VASP XANES, modified hmof db details. * Update Contribution.rst * Minor lint fix. * Update action_build.yml * Update action_build.yml * Fix qiskit requirements. * Fix phonopy requirements. * Fix all requirements. * Fix phonopy requirements. * QE test. * QE test. * Update action_build. * Try other python versions. * Try other python versions. * README updates. * Adding nexus. (#197) * Develop (#196) * Image augmentation. * Augment images. * Augment images. * Specie update. * Add Latt2D, STM image (b-1) fix, image augmentation fix. * Add Latt2D, STM image (b-1) fix, image augmentation fix. * Update conf.py * Update conf.py * Multi-output graph bacthing. * Add EDOS dataset. * Temp. * Add circuit maker. * Add circuit maker. * NELECT update. * Version update, more DBs added. * Fix CHGCAR vasp. * Added volumetric reshape for CHGCAR. * Tmp * Tershoff Hamman update, specie update. * Add crop from center in STM. * Add Fourier transfor in STM. * Update STM pytest. * Add DPI to STM. * Zeo++ added, Atoms cif update, STM update, random vacancy maker added. * Atoms tempfile fix, Potcar from atoms module added. * Test for docs. * C2DB link update, docs Atoms update. * C2DB link update, docs Atoms update. * Version update, COD DB, QM9 JCTC DB added. * Compostion bug fix, elemental descriptor added. * Develop (#186) * Update outputs.py I added the calculation of the Raman intensities inside parse_raman_dat * Update outputs.py * Update outputs.py * Update outputs.py * Update cfid.py * Delete __init__.py * stylecss added. * stylecss added. * Adding extra Makefile/ * Remove examples from docs. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Tutorials update. * Tutorials docs update. * Docs update,pdb reader updated. * Update action_build.yml * Update action_build.yml * Remove pytraj strong dependencies. * Update docs, Added PDBBind and HPOV datasets. * Docs update. * Add thcikness to surface builder. * Surface builder update, Chemical only magpie descriptors added, pdb_core dataset added, zeopp tempfile bugfix. * Typo fix. * Add names to chem descs. * Lessen hermsolver pytest. * Reduced pytest. * Reduced pytest. * Reduced pytest. * Reduced pytest. * Reduced pytest. * No DFT3D * Exclude dft_3d dataset for memory issue. * Update figshare test. * Update figshare test. * Exclude db from coverage. * Exclude db from coverage. * Add magpie.json. * Add magpie.json. * Wien2k bands bug fix. * Wien2k bands bug fix. * Update JARVIS-FF,Elastictensor,LAMMPS parse folder, VASP bandstructure plot code. * JFF update. * Add JQE_TB3 and hMOF dataset. * Update LAMMPS module. * Update LAMMPS module. * Fix elastic tensor module. * Figshare update, docs db name update. * Substitutions. * Update figshare dft_3d, cfid_3d. * Docs data update. * Generate substitutions. * Lint fix. * Update DOS. * Update DOS. Co-authored-by: tavazza Co-authored-by: knc6 Co-authored-by: KAMAL CHOUDHARY * First input. * added black * Example folder. Co-authored-by: Kamal Choudhary Co-authored-by: tavazza Co-authored-by: knc6 Co-authored-by: KAMAL CHOUDHARY * Revert back. * Update .readthedocs.yaml * Update dev-requirements.txt * Docs requirements update. * Update .readthedocs.yaml * Update requirements.txt * Update .readthedocs.yaml * Update requirements.txt * Update .readthedocs.yaml * Update requirements.txt * Update requirements.txt * Update requirements.txt * Update requirements.txt * Update requirements.txt * Update atoms.py * Fixe pbc in ase_to_Atoms. * Add installation tests (#214) * QE inputs, XANES, GHAction updates. (#210) * Image augmentation. * Augment images. * Augment images. * Specie update. * Add Latt2D, STM image (b-1) fix, image augmentation fix. * Add Latt2D, STM image (b-1) fix, image augmentation fix. * Update conf.py * Update conf.py * Multi-output graph bacthing. * Add EDOS dataset. * Temp. * Add circuit maker. * Add circuit maker. * NELECT update. * Version update, more DBs added. * Fix CHGCAR vasp. * Added volumetric reshape for CHGCAR. * Tmp * Tershoff Hamman update, specie update. * Add crop from center in STM. * Add Fourier transfor in STM. * Update STM pytest. * Add DPI to STM. * Zeo++ added, Atoms cif update, STM update, random vacancy maker added. * Atoms tempfile fix, Potcar from atoms module added. * Test for docs. * C2DB link update, docs Atoms update. * C2DB link update, docs Atoms update. * Version update, COD DB, QM9 JCTC DB added. * Compostion bug fix, elemental descriptor added. * Develop (#186) * Update outputs.py I added the calculation of the Raman intensities inside parse_raman_dat * Update outputs.py * Update outputs.py * Update outputs.py * Update cfid.py * Delete __init__.py * stylecss added. * stylecss added. * Adding extra Makefile/ * Remove examples from docs. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Tutorials update. * Tutorials docs update. * Docs update,pdb reader updated. * Update action_build.yml * Update action_build.yml * Remove pytraj strong dependencies. * Update docs, Added PDBBind and HPOV datasets. * Docs update. * Add thcikness to surface builder. * Surface builder update, Chemical only magpie descriptors added, pdb_core dataset added, zeopp tempfile bugfix. * Typo fix. * Add names to chem descs. * Lessen hermsolver pytest. * Reduced pytest. * Reduced pytest. * Reduced pytest. * Reduced pytest. * Reduced pytest. * No DFT3D * Exclude dft_3d dataset for memory issue. * Update figshare test. * Update figshare test. * Exclude db from coverage. * Exclude db from coverage. * Add magpie.json. * Add magpie.json. * Wien2k bands bug fix. * Wien2k bands bug fix. * Update JARVIS-FF,Elastictensor,LAMMPS parse folder, VASP bandstructure plot code. * JFF update. * Add JQE_TB3 and hMOF dataset. * Update LAMMPS module. * Update LAMMPS module. * Fix elastic tensor module. * Figshare update, docs db name update. * Substitutions. * Update figshare dft_3d, cfid_3d. * Docs data update. * Generate substitutions. * Lint fix. * Update DOS. * Update DOS. * Adding folders for nexus setup. * Update QMOF and hMOF info. * Fixing auto klength error. * Adding zeopp surface area. * Vacancy bug fix, added hmof to docs. * vacancy update. * QE inputs update. * Pyhon 3.9 test, added QE el-ph, VASP XANES, modified hmof db details. * Update Contribution.rst * Minor lint fix. * Update action_build.yml * Update action_build.yml * Fix qiskit requirements. * Fix phonopy requirements. * Fix all requirements. * Fix phonopy requirements. * QE test. * QE test. * Update action_build. * Try other python versions. * Try other python versions. * README updates. * Adding nexus. (#197) * Develop (#196) * Image augmentation. * Augment images. * Augment images. * Specie update. * Add Latt2D, STM image (b-1) fix, image augmentation fix. * Add Latt2D, STM image (b-1) fix, image augmentation fix. * Update conf.py * Update conf.py * Multi-output graph bacthing. * Add EDOS dataset. * Temp. * Add circuit maker. * Add circuit maker. * NELECT update. * Version update, more DBs added. * Fix CHGCAR vasp. * Added volumetric reshape for CHGCAR. * Tmp * Tershoff Hamman update, specie update. * Add crop from center in STM. * Add Fourier transfor in STM. * Update STM pytest. * Add DPI to STM. * Zeo++ added, Atoms cif update, STM update, random vacancy maker added. * Atoms tempfile fix, Potcar from atoms module added. * Test for docs. * C2DB link update, docs Atoms update. * C2DB link update, docs Atoms update. * Version update, COD DB, QM9 JCTC DB added. * Compostion bug fix, elemental descriptor added. * Develop (#186) * Update outputs.py I added the calculation of the Raman intensities inside parse_raman_dat * Update outputs.py * Update outputs.py * Update outputs.py * Update cfid.py * Delete __init__.py * stylecss added. * stylecss added. * Adding extra Makefile/ * Remove examples from docs. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Docs update. * Tutorials update. * Tutorials docs update. * Docs update,pdb reader updated. * Update action_build.yml * Update action_build.yml * Remove pytraj strong dependencies. * Update docs, Added PDBBind and HPOV datasets. * Docs update. * Add thcikness to surface builder. * Surface builder update, Chemical only magpie descriptors added, pdb_core dataset added, zeopp tempfile bugfix. * Typo fix. * Add names to chem descs. * Lessen hermsolver pytest. * Reduced pytest. * Reduced pytest. * Reduced pytest. * Reduced pytest. * Reduced pytest. * No DFT3D * Exclude dft_3d dataset for memory issue. * Update figshare test. * Update figshare test. * Exclude db from coverage. * Exclude db from coverage. * Add magpie.json. * Add magpie.json. * Wien2k bands bug fix. * Wien2k bands bug fix. * Update JARVIS-FF,Elastictensor,LAMMPS parse folder, VASP bandstructure plot code. * JFF update. * Add JQE_TB3 and hMOF dataset. * Update LAMMPS module. * Update LAMMPS module. * Fix elastic tensor module. * Figshare update, docs db name update. * Substitutions. * Update figshare dft_3d, cfid_3d. * Docs data update. * Generate substitutions. * Lint fix. * Update DOS. * Update DOS. Co-authored-by: tavazza Co-authored-by: knc6 Co-authored-by: KAMAL CHOUDHARY * First input. * added black * Example folder. Co-authored-by: Kamal Choudhary Co-authored-by: tavazza Co-authored-by: knc6 Co-authored-by: KAMAL CHOUDHARY * Revert back. * Update .readthedocs.yaml * Update dev-requirements.txt * Docs requirements update. * Update .readthedocs.yaml * Update requirements.txt * Update .readthedocs.yaml * Update requirements.txt * Update .readthedocs.yaml * Update requirements.txt * Update requirements.txt * Update requirements.txt * Update requirements.txt * Update requirements.txt * Update atoms.py * Fixe pbc in ase_to_Atoms. Co-authored-by: tavazza Co-authored-by: knc6 Co-authored-by: KAMAL CHOUDHARY Co-authored-by: wines1 <74620550+wines1@users.noreply.github.com> * Add installation tests * Fix codestyle * Fix codestyle with black * Add docstrings * Fix pydocstyle error * Update __init__.py * Update __init__.py Co-authored-by: Kamal Choudhary Co-authored-by: tavazza Co-authored-by: knc6 Co-authored-by: KAMAL CHOUDHARY Co-authored-by: wines1 <74620550+wines1@users.noreply.github.com> * Adding QE super. * Minor changes to QE module, atoms xyz fix. * Adding qe_tb info, and version update. * Update __init__.py * WIP super QE. * Working version of ScSi. * QE inputs and task update. * Add master super. * Add master super. * Lint fix. * Lint fix. * Minor fix. * ET update. * Fix ET test. * Update sanitize atoms. * Additonal checks on supercond. * Debye bug fix. * Pressure in QE Super. * Version fix, publication update, supercond workflow update. * Lint fix. * Tensorboard fix. * Tensorboard fix. * Tensorboard fix. * Melting temp fix. * Update vasp.py (#234) * Local tetra tmp. * Version update. * Lint fix. * HSE06 * Tmp. * Vacancy update, Optimade structureand other minor lint updates. * STEM pytest fix. * Minor lint fix. * Fixed selectrive dynamics issue in Poscar, force reading for single atom system in Vasprun, np.array in core.graps, num_atoms for single atom systems in core.Atoms * Lint fix. * Added phononDos class. * fix pytorch UserWarning in build_undirected_edgedata() (#243) site-packages/jarvis/core/graphs.py:158: UserWarning: Creating a tensor from a list of numpy.ndarrays is extremely slow. Please consider converting the list to a single numpy.ndarray with numpy.array() before converting to a tensor. r = torch.tensor(r).type(torch.get_default_dtype()) * Add PhaseDiagram. * Add PhaseDiagram. * PhaseDiagram update. * STM image pytest increase, requirements upgrade. * STM image pytest increase, requirements upgrade. * STM image pytest increase, requirements upgrade. * Compare atoms, get spg info directly from atoms. * Flake8 fix. * Update publications.rst * Update qiskit. * Update qiskit. * Update test_hermsolver.py * FIix qiskit DOS. * Update test_hermsolver.py * Fix linting. * Develop og (#257) * Added isotope scattering rate to phonon DOS analysis script. * Linting fix. * Linting fix. * Linting fix. * Add QE convergence. * Update converg.py. * Nexus. * Super with converg. * Super with converg. * SuperCon QE update. * Figshare DB update. * Figshare DB update. * Update alignn ff link. * Lint fix. * DB docs update. * Minor fixes: delete agg in figshare, add destination path in figshare data, dtype compatibility with new numpy. * Lint fix. * Supercon workflow fix. * Add extra db entires, fix chem in cfid_chem. * Version update. * Add figshare datasets. * Update databases.rst * codecov fix. * Version update. * Lint fix. * Add FigShare datasets, DOS in QE, Uncertainty. * Add python 3.9. * Create README.md * Update README. * Add README.md. * Update action_build.yml * Update action_lint.yml * Allow md file, add mode databases. * Create NISTtheDocs2Death.yml * Allow md file, add mode databases. * Add publications. * Update publications.rst * Update requirements.txt * Update requirements.txt * Update requirements.txt * Update requirements.txt * Create deploy_nist_pages.yml * Add mkdocs. * Update deploy_nist_pages.yml * Update md. * Update setup.py * Update readme. * Update setup.py * Remove absl. * Update dev-requirements.txt * Update index.md * Update deploy_nist_pages.yml * Update index.rst * Add redirect. * Update action_build.yml * Update dev-requirements.txt * Update dev-requirements.txt * Update setup.py * Update dev-requirements.txt * Fix __repr__ for Atoms. * Update requirements. * Update requirements. * Update requirements. * Update requirements. * Update requirements. * Update requirements. * Update requirements. * Update requirements. * Fix requirements. * Fix requirements. * Fix requirements. * Fix requirements. * Use poscar write as string. * Use poscar write as string. * Use poscar write as string. * Update action_build.yml * Use poscar write as string. * Use poscar write as string. * Update action_build.yml * Use poscar write as string. * Use poscar write as string. * Delete NISTtheDocs2Death.yml * Delete action_lint.yml * Use poscar write as string. * Fix phonopy. * Update dev-requirements.txt * Update databases. * Add eigs. * Add eigs. * Add eigs. * Fix STM test. * Delete .travis.yml * Update README. * Add python docs. * GA * Update action_build.yml * Atoms class update with props. * Atoms class update with props. * Delete .readthedocs.yaml * Update README.md * QEjob fix. * Chang poscar write. * Add check_polar update, locpot update. * Locpot pytest. * X locpot. * Lint. --------- Co-authored-by: KAMAL CHOUDHARY Co-authored-by: wines1 <74620550+wines1@users.noreply.github.com> Co-authored-by: tavazza Co-authored-by: knc6 Co-authored-by: Saurav Maheshkar Co-authored-by: Janosh Riebesell Co-authored-by: Ramya Gurunathan * Update tutorials.md --------- Co-authored-by: Kamal Choudhary Co-authored-by: KAMAL CHOUDHARY Co-authored-by: wines1 <74620550+wines1@users.noreply.github.com> Co-authored-by: tavazza Co-authored-by: knc6 Co-authored-by: Saurav Maheshkar Co-authored-by: Janosh Riebesell Co-authored-by: Ramya Gurunathan * Qsiqskit dversion and CFID chemical feature doc issue. * Update dev-requirements.txt * Update dev-requirements.txt * Update dev-requirements.txt * Update inputs.py * Update figshare.py * Update figshare.py * chore: update .gitignore to add pycharm .idea * improvements: clone method and remove multiple sites, including in place * tests: attempt adding tests for the new functionality not sure how to run these - some documentation would be good to have in README.md * Flake8 fix. * Add pydantic. * wien2k fix. * Comment out qiskit related tests. * Fix OneHotEncoder. * Check conda * Update action_build.yml * Update action_build.yml * Update action_build.yml * Update action_build.yml * Update action_build.yml * Update action_build.yml * Update action_build.yml * Update action_build.yml * Update action_build.yml * Update action_build.yml * Update action_build.yml * Update docs. * Update index.md * Update index.md * Minor lint fix. * Update deploy_nist_pages.yml * fix: lint * Fix bug in the PR. --------- Co-authored-by: knc6 Co-authored-by: wines1 <74620550+wines1@users.noreply.github.com> Co-authored-by: tavazza Co-authored-by: knc6 Co-authored-by: KAMAL CHOUDHARY Co-authored-by: Saurav Maheshkar Co-authored-by: Janosh Riebesell Co-authored-by: Ramya Gurunathan Co-authored-by: Sangjoon Bob Lee * Version update. * QE PSP url updae. * Remove mkdocs hard dependency. * Update lammps. * Lint fix. * Adding restapi. * Update super.py. * Add describer. * Add describer. * Add describer. * Update describe. * Lint fix. * Mineral name. * Add atoms update. * Add atoms update. * Update proto pytest. * Update atoms, old prototype back. * Update atoms, old prototype back. * Describe out. * Fix surface layers. * Make c surface an option. * Lint fix. * Verbose false. * Parse outcar. * Outputs fix. * Update OUTCAR parser. * Update OUTCAR parser. * Update OUTCAR parser. * Update atoms describer. * Update atoms describer. * Fix motif and composition. * Rotate. * Add additionals DBs. * PyTest fix. * DB update. * Lint fix. --------- Co-authored-by: Timur Bazhirov Co-authored-by: wines1 <74620550+wines1@users.noreply.github.com> Co-authored-by: tavazza Co-authored-by: knc6 Co-authored-by: KAMAL CHOUDHARY Co-authored-by: Saurav Maheshkar Co-authored-by: Janosh Riebesell Co-authored-by: Ramya Gurunathan Co-authored-by: Sangjoon Bob Lee --- jarvis/__init__.py | 2 +- jarvis/core/atoms.py | 142 ++++++++++++++++++++-- jarvis/core/composition.py | 8 +- jarvis/core/element_names.json | 120 ++++++++++++++++++ jarvis/core/specie.py | 8 ++ jarvis/db/figshare.py | 21 ++++ jarvis/tests/testfiles/core/test_atoms.py | 2 + setup.py | 6 +- 8 files changed, 295 insertions(+), 14 deletions(-) create mode 100644 jarvis/core/element_names.json diff --git a/jarvis/__init__.py b/jarvis/__init__.py index 9b62ab0b..c93e8609 100644 --- a/jarvis/__init__.py +++ b/jarvis/__init__.py @@ -1,6 +1,6 @@ """Version number.""" -__version__ = "2024.4.30" +__version__ = "2024.5.10" import os diff --git a/jarvis/core/atoms.py b/jarvis/core/atoms.py index 53633158..7c6ca144 100644 --- a/jarvis/core/atoms.py +++ b/jarvis/core/atoms.py @@ -23,6 +23,7 @@ from sklearn.metrics import mean_absolute_error import zipfile import json +from math import cos, pi, sin amu_gm = 1.66054e-24 ang_cm = 1e-8 @@ -867,6 +868,128 @@ def get_neighbors_cutoffs(self, max_cut=10, r=5, bond_tol=0.15): pass return rcut1, rcut2, neighbors + def rotate_pos(self, phi=0.0, theta=90.0, psi=0.0, center=(0, 0, 0)): + """Rotate atom sites via Euler angles (in degrees). + + See e.g http://mathworld.wolfram.com/EulerAngles.html for explanation. + Adapted from + https://wiki.fysik.dtu.dk/ase/_modules/ase/atoms.html#Atoms.rotate + center : + The point to rotate about. A sequence of length 3 with the + coordinates. + phi : + The 1st rotation angle around the z axis. + theta : + Rotation around the x axis. + psi : + 2nd rotation around the z axis. + + """ + phi *= pi / 180 + theta *= pi / 180 + psi *= pi / 180 + + rcoords = self.cart_coords - center + D = np.array( + ( + (cos(phi), sin(phi), 0.0), + (-sin(phi), cos(phi), 0.0), + (0.0, 0.0, 1.0), + ) + ) + # Second Euler rotation about x: + C = np.array( + ( + (1.0, 0.0, 0.0), + (0.0, cos(theta), sin(theta)), + (0.0, -sin(theta), cos(theta)), + ) + ) + # Third Euler rotation, 2nd rotation about z: + B = np.array( + ( + (cos(psi), sin(psi), 0.0), + (-sin(psi), cos(psi), 0.0), + (0.0, 0.0, 1.0), + ) + ) + # Total Euler rotation + A = np.dot(B, np.dot(C, D)) + # Do the rotation + rcoords = np.dot(A, np.transpose(rcoords)) + positions = np.transpose(rcoords) + center + + return Atoms( + lattice_mat=self.lattice_mat, + elements=self.elements, + coords=positions, + cartesian=True, + props=self.props, + ) + + def rotate_cell(self, phi=0.0, theta=90.0, psi=0.0, center=(0, 0, 0)): + """Rotate atom cell via Euler angles (in degrees). + + See e.g http://mathworld.wolfram.com/EulerAngles.html for explanation. + Adapted from + https://wiki.fysik.dtu.dk/ase/_modules/ase/atoms.html#Atoms.rotate + center : + The point to rotate about. A sequence of length 3 with the + coordinates. + phi : + The 1st rotation angle around the z axis. + theta : + Rotation around the x axis. + psi : + 2nd rotation around the z axis. + + """ + phi *= pi / 180 + theta *= pi / 180 + psi *= pi / 180 + + # First move the molecule to the origin In contrast to MATLAB, + # numpy broadcasts the smaller array to the larger row-wise, + # so there is no need to play with the Kronecker product. + # rcoords = atoms.cart_coords - center + # First Euler rotation about z in matrix form + D = np.array( + ( + (cos(phi), sin(phi), 0.0), + (-sin(phi), cos(phi), 0.0), + (0.0, 0.0, 1.0), + ) + ) + # Second Euler rotation about x: + C = np.array( + ( + (1.0, 0.0, 0.0), + (0.0, cos(theta), sin(theta)), + (0.0, -sin(theta), cos(theta)), + ) + ) + # Third Euler rotation, 2nd rotation about z: + B = np.array( + ( + (cos(psi), sin(psi), 0.0), + (-sin(psi), cos(psi), 0.0), + (0.0, 0.0, 1.0), + ) + ) + # Total Euler rotation + A = np.dot(B, np.dot(C, D)) + # Do the rotation + r_lattice_mat = np.dot(A, self.lattice_mat) + # Move back to the roactation point + # positions = np.transpose(rcoords) + center + return Atoms( + lattice_mat=r_lattice_mat, + elements=self.elements, + coords=self.frac_coords, + cartesian=False, + props=self.props, + ) + def atomwise_angle_and_radial_distribution( self, r=5, bond_tol=0.15, c_size=10, verbose=False ): @@ -1335,6 +1458,7 @@ def hook(model, input, output): def get_mineral_prototype_name( self, prim=True, include_c_over_a=False, digits=3 ): + """Get mineral_prototype_name.""" from jarvis.analysis.structure.spacegroup import Spacegroup3D spg = Spacegroup3D(self) @@ -1524,9 +1648,9 @@ def describe( list(set(spg._dataset["wyckoffs"])) ) struct_info["natoms_primitive"] = spg.primitive_atoms.num_atoms - struct_info[ - "natoms_conventional" - ] = spg.conventional_standard_structure.num_atoms + struct_info["natoms_conventional"] = ( + spg.conventional_standard_structure.num_atoms + ) info["chemical_info"] = chem_info info["structure_info"] = struct_info line = "The number of atoms are: " + str( @@ -2276,18 +2400,18 @@ def to_optimade( info_at["cartesian_site_positions"] = atoms.cart_coords[order].tolist() info_at["nperiodic_dimensions"] = 3 # info_at["species"] = atoms.elements - info_at[ - "species" - ] = self.get_optimade_species() # dict(atoms.composition.to_dict()) + info_at["species"] = ( + self.get_optimade_species() + ) # dict(atoms.composition.to_dict()) info_at["elements_ratios"] = list( atoms.composition.atomic_fraction.values() ) info_at["structure_features"] = [] info_at["last_modified"] = str(now) # info_at["more_data_available"] = True - info_at[ - "chemical_formula_descriptive" - ] = atoms.composition.reduced_formula + info_at["chemical_formula_descriptive"] = ( + atoms.composition.reduced_formula + ) info_at["dimension_types"] = [1, 1, 1] info["attributes"] = info_at return info diff --git a/jarvis/core/composition.py b/jarvis/core/composition.py index 223adb11..3c91ec93 100644 --- a/jarvis/core/composition.py +++ b/jarvis/core/composition.py @@ -156,10 +156,14 @@ def formula(self): form = "" for specie, count in self._content.items(): if float(count).is_integer(): - form = form + str(specie) + str(int(count)) + # form = form + str(specie) + str(int(count)) + if count == 1: + form = form + specie + else: + form = form + specie + str(int(count)) else: form = form + str(specie) + str(count) - return form.replace("1", "") + return form # .replace("1", "") @property def atomic_fraction(self): diff --git a/jarvis/core/element_names.json b/jarvis/core/element_names.json new file mode 100644 index 00000000..07c12a1b --- /dev/null +++ b/jarvis/core/element_names.json @@ -0,0 +1,120 @@ +{ + "H": "Hydrogen", + "He": "Helium", + "Li": "Lithium", + "Be": "Beryllium", + "B": "Boron", + "C": "Carbon", + "N": "Nitrogen", + "O": "Oxygen", + "F": "Fluorine", + "Ne": "Neon", + "Na": "Sodium", + "Mg": "Magnesium", + "Al": "Aluminum", + "Si": "Silicon", + "P": "Phosphorus", + "S": "Sulfur", + "Cl": "Chlorine", + "Ar": "Argon", + "K": "Potassium", + "Ca": "Calcium", + "Sc": "Scandium", + "Ti": "Titanium", + "V": "Vanadium", + "Cr": "Chromium", + "Mn": "Manganese", + "Fe": "Iron", + "Co": "Cobalt", + "Ni": "Nickel", + "Cu": "Copper", + "Zn": "Zinc", + "Ga": "Gallium", + "Ge": "Germanium", + "As": "Arsenic", + "Se": "Selenium", + "Br": "Bromine", + "Kr": "Krypton", + "Rb": "Rubidium", + "Sr": "Strontium", + "Y": "Yttrium", + "Zr": "Zirconium", + "Nb": "Niobium", + "Mo": "Molybdenum", + "Tc": "Technetium", + "Ru": "Ruthenium", + "Rh": "Rhodium", + "Pd": "Palladium", + "Ag": "Silver", + "Cd": "Cadmium", + "In": "Indium", + "Sn": "Tin", + "Sb": "Antimony", + "Te": "Tellurium", + "I": "Iodine", + "Xe": "Xenon", + "Cs": "Cesium", + "Ba": "Barium", + "La": "Lanthanum", + "Ce": "Cerium", + "Pr": "Praseodymium", + "Nd": "Neodymium", + "Pm": "Promethium", + "Sm": "Samarium", + "Eu": "Europium", + "Gd": "Gadolinium", + "Tb": "Terbium", + "Dy": "Dysprosium", + "Ho": "Holmium", + "Er": "Erbium", + "Tm": "Thulium", + "Yb": "Ytterbium", + "Lu": "Lutetium", + "Hf": "Hafnium", + "Ta": "Tantalum", + "W": "Tungsten", + "Re": "Rhenium", + "Os": "Osmium", + "Ir": "Iridium", + "Pt": "Platinum", + "Au": "Gold", + "Hg": "Mercury", + "Tl": "Thallium", + "Pb": "Lead", + "Bi": "Bismuth", + "Po": "Polonium", + "At": "Astatine", + "Rn": "Radon", + "Fr": "Francium", + "Ra": "Radium", + "Ac": "Actinium", + "Th": "Thorium", + "Pa": "Protactinium", + "U": "Uranium", + "Np": "Neptunium", + "Pu": "Plutonium", + "Am": "Americium", + "Cm": "Curium", + "Bk": "Berkelium", + "Cf": "Californium", + "Es": "Einsteinium", + "Fm": "Fermium", + "Md": "Mendelevium", + "No": "Nobelium", + "Lr": "Lawrencium", + "Rf": "Rutherfordium", + "Db": "Dubnium", + "Sg": "Seaborgium", + "Bh": "Bohrium", + "Hs": "Hassium", + "Mt": "Meitnerium", + "Ds": "Darmstadtium", + "Rg": "Roentgenium", + "Cn": "Copernicium", + "Nh": "Nihonium", + "Fl": "Flerovium", + "Mc": "Moscovium", + "Lv": "Livermorium", + "Ts": "Tennessine", + "Og": "Oganesson" +} diff --git a/jarvis/core/specie.py b/jarvis/core/specie.py index d3d898c5..f2a767e8 100644 --- a/jarvis/core/specie.py +++ b/jarvis/core/specie.py @@ -28,6 +28,14 @@ el_chrg_json.close() cgcnn_feature_json = os.path.join(os.path.dirname(__file__), "atom_init.json") +element_full_name = os.path.join( + os.path.dirname(__file__), "element_names.json" +) + + +def get_element_full_names(): + return loadjson(element_full_name) + def get_descrp_arr_name(elm="Al"): """ diff --git a/jarvis/db/figshare.py b/jarvis/db/figshare.py index 4e414b28..283bcd4c 100644 --- a/jarvis/db/figshare.py +++ b/jarvis/db/figshare.py @@ -421,6 +421,27 @@ def get_db_info(): "Obtaining m3gnet_mpf dataset 168917...", "https://github.com/materialsvirtuallab/m3gnet", ], + # https://doi.org/10.6084/m9.figshare.23267852 + "m3gnet_mpf_1.5mil": [ + "https://figshare.com/ndownloader/files/47281519", + "id_prop.json", + "Obtaining m3gnet_mpf dataset 1.5mil...", + "https://github.com/materialsvirtuallab/m3gnet", + ], + # https://doi.org/10.6084/m9.figshare.23531523 + "mxene275": [ + "https://figshare.com/ndownloader/files/41266233", + "mxene275.json", + "Obtaining mxene dataset 275...", + "https://cmr.fysik.dtu.dk/c2db/c2db.html", + ], + # https://doi.org/10.6084/m9.figshare.26117998 + "cccbdb": [ + "https://figshare.com/ndownloader/files/47283808", + "cccbdb.json", + "Obtaining CCCBDB dataset 1333...", + "https://cccbdb.nist.gov/", + ], # https://doi.org/10.6084/m9.figshare.13154159 "raw_files": [ "https://ndownloader.figshare.com/files/25295732", diff --git a/jarvis/tests/testfiles/core/test_atoms.py b/jarvis/tests/testfiles/core/test_atoms.py index d044e1c3..43f20781 100644 --- a/jarvis/tests/testfiles/core/test_atoms.py +++ b/jarvis/tests/testfiles/core/test_atoms.py @@ -132,6 +132,8 @@ def test_basic_atoms(): rem = (Si.make_supercell([2, 2, 2]).remove_site_by_index(site=0)).num_atoms prim = Si.get_primitive_atoms print(prim.cart_coords) + #print(prim.get_pos()) + #print(prim.get_cell()) conv = Si.get_conventional_atoms spgn = Si.get_spacegroup comp = compare_atoms(atoms1=prim, atoms2=conv) diff --git a/setup.py b/setup.py index 984a9304..db1c57df 100644 --- a/setup.py +++ b/setup.py @@ -12,7 +12,7 @@ setup( name="jarvis-tools", - version="2024.4.30", + version="2024.5.10", long_description=long_d, install_requires=[ "numpy>=1.20.1", @@ -24,6 +24,8 @@ "toolz>=0.9.0", "xmltodict>=0.11.0", "tqdm>=4.41.1", + "scikit-learn", + "inflect", # "mkdocs-material>=9.0.5", # "markdown>=3.2.1", # "absl-py==1.4.0", @@ -34,6 +36,7 @@ "magpie.json", "element_charge.json", "atom_init.json", + "element_names.json", "mineral_name_prototype.json.zip", ], "jarvis.tasks.lammps.templates": [ @@ -59,7 +62,6 @@ "dgl", "keras", "tensorflow", - "scikit-learn", "flask", "pandas", ],