From 4ec2bf53c491a7ffbf48438d5eb1d5d336cdb19d Mon Sep 17 00:00:00 2001 From: Kamal Choudhary Date: Sun, 14 Apr 2024 10:33:39 -0400 Subject: [PATCH] Develop (#318) * 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. --------- 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 | 253 +++++++++++++++++----- jarvis/core/graphs.py | 6 +- jarvis/tasks/qe/super.py | 3 +- jarvis/tests/testfiles/core/test_atoms.py | 2 + setup.py | 2 +- 6 files changed, 214 insertions(+), 54 deletions(-) diff --git a/jarvis/__init__.py b/jarvis/__init__.py index 9b8ece67..afffb341 100644 --- a/jarvis/__init__.py +++ b/jarvis/__init__.py @@ -1,6 +1,6 @@ """Version number.""" -__version__ = "2024.3.30" +__version__ = "2024.4.10" import os diff --git a/jarvis/core/atoms.py b/jarvis/core/atoms.py index 0e612ee9..722e7734 100644 --- a/jarvis/core/atoms.py +++ b/jarvis/core/atoms.py @@ -19,6 +19,7 @@ import random import string import datetime +from collections import defaultdict amu_gm = 1.66054e-24 ang_cm = 1e-8 @@ -1224,6 +1225,157 @@ def lattice_points_in_supercell(self, supercell_matrix): assert len(tvects) == round(abs(np.linalg.det(supercell_matrix))) return tvects + def describe( + self, + xrd_peaks=5, + xrd_round=1, + cutoff=4, + take_n_bonds=2, + include_spg=True, + ): + """Describe for NLP applications.""" + from jarvis.analysis.diffraction.xrd import XRD + + if include_spg: + from jarvis.analysis.structure.spacegroup import Spacegroup3D + + spg = Spacegroup3D(self) + theta, d_hkls, intens = XRD().simulate(atoms=self) + # x = atoms.atomwise_angle_and_radial_distribution() + # bond_distances = {} + # for i, j in x[-1]["different_bond"].items(): + # bond_distances[i.replace("_", "-")] = ", ".join( + # map(str, (sorted(list(set([round(jj, 2) for jj in j]))))) + # ) + dists = defaultdict(list) + elements = self.elements + for i in self.get_all_neighbors(r=cutoff): + for j in i: + key = "-".join(sorted([elements[j[0]], elements[j[1]]])) + dists[key].append(j[2]) + bond_distances = {} + for i, j in dists.items(): + dist = sorted(set([round(k, 2) for k in j])) + if len(dist) >= take_n_bonds: + dist = dist[0:take_n_bonds] + bond_distances[i] = ", ".join(map(str, dist)) + fracs = {} + for i, j in (self.composition.atomic_fraction).items(): + fracs[i] = round(j, 3) + info = {} + chem_info = { + "atomic_formula": self.composition.reduced_formula, + "prototype": self.composition.prototype, + "molecular_weight": round(self.composition.weight / 2, 2), + "atomic_fraction": (fracs), + "atomic_X": ", ".join( + map(str, [Specie(s).X for s in self.uniq_species]) + ), + "atomic_Z": ", ".join( + map(str, [Specie(s).Z for s in self.uniq_species]) + ), + } + struct_info = { + "lattice_parameters": ", ".join( + map(str, [round(j, 2) for j in self.lattice.abc]) + ), + "lattice_angles": ", ".join( + map(str, [round(j, 2) for j in self.lattice.angles]) + ), + # "spg_number": spg.space_group_number, + # "spg_symbol": spg.space_group_symbol, + "top_k_xrd_peaks": ", ".join( + map( + str, + sorted(list(set([round(i, xrd_round) for i in theta])))[ + 0:xrd_peaks + ], + ) + ), + "density": round(self.density, 3), + # "crystal_system": spg.crystal_system, + # "point_group": spg.point_group_symbol, + # "wyckoff": ", ".join(list(set(spg._dataset["wyckoffs"]))), + "bond_distances": bond_distances, + } + if include_spg: + struct_info["spg_number"] = spg.space_group_number + struct_info["spg_symbol"] = spg.space_group_symbol + struct_info["crystal_system"] = spg.crystal_system + struct_info["point_group"] = spg.point_group_symbol + struct_info["wyckoff"] = ", ".join( + list(set(spg._dataset["wyckoffs"])) + ) + struct_info["natoms_primitive"] = spg.primitive_atoms.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( + self.num_atoms + ) # +"., The elements are: "+",".join(atoms.elements)+". " + for i, j in info.items(): + if not isinstance(j, dict): + line += "The " + i + " is " + j + ". " + else: + # print("i",i) + # print("j",j) + for ii, jj in j.items(): + tmp = "" + if isinstance(jj, dict): + for iii, jjj in jj.items(): + tmp += iii + ": " + str(jjj) + " " + else: + tmp = jj + line += "The " + ii + " is " + str(tmp) + ". " + line1 = line + # print('bond_distances', struct_info['bond_distances']) + tmp = "" + p = struct_info["bond_distances"] + for ii, (kk, vv) in enumerate(p.items()): + if ii == len(p) - 1: + punc = " Å." + else: + punc = " Å; " + tmp += kk + ": " + vv + punc + line2 = ( + chem_info["atomic_formula"] + + " crystallizes in the " + + struct_info["crystal_system"] + + " " + + str(struct_info["spg_symbol"]) + + " spacegroup, " + + struct_info["point_group"] + + " pointgroup with a prototype of " + + str(chem_info["prototype"]) + # " and a molecular weight of " + + # str(chem_info['molecular_weight']) + + + ". The atomic fractions are: " + + str(chem_info["atomic_fraction"]) + .replace("{", "") + .replace("}", "") + + " with electronegaticities as " + + str(chem_info["atomic_X"]) + + " and atomic numbers as " + + str(chem_info["atomic_Z"]) + + ". The bond distances are: " + + str(tmp) + + "The lattice lengths are: " + + struct_info["lattice_parameters"] + + " Å, and the lattice angles are: " + + struct_info["lattice_angles"] + + "º with some of the top XRD peaks at " + + struct_info["top_k_xrd_peaks"] + + "º with " + + "Wyckoff symbols " + + struct_info["wyckoff"] + + "." + ) + info["desc_1"] = line1 + info["desc_2"] = line2 + return info + def make_supercell_matrix(self, scaling_matrix): """ Adapted from Pymatgen. @@ -1279,49 +1431,52 @@ def make_supercell(self, dim=[2, 2, 2]): if dim.shape == (3, 3): dim = np.array([int(np.linalg.norm(v)) for v in dim]) return self.make_supercell_matrix(dim) - # coords = self.frac_coords - # all_symbs = self.elements # [i.symbol for i in s.species] - # nat = len(coords) - - # new_nat = nat * dim[0] * dim[1] * dim[2] - # new_coords = np.zeros((new_nat, 3)) - # new_symbs = [] # np.chararray((new_nat)) - # props = [] # self.props - - # ct = 0 - # for i in range(nat): - # for j in range(dim[0]): - # for k in range(dim[1]): - # for m in range(dim[2]): - # props.append(self.props[i]) - # new_coords[ct][0] = (coords[i][0] + j) / float(dim[0]) - # new_coords[ct][1] = (coords[i][1] + k) / float(dim[1]) - # new_coords[ct][2] = (coords[i][2] + m) / float(dim[2]) - # new_symbs.append(all_symbs[i]) - # ct = ct + 1 - - # nat = new_nat - - # nat = len(coords) # int(s.composition.num_atoms) - # lat = np.zeros((3, 3)) - # box = self.lattice_mat - # lat[0][0] = dim[0] * box[0][0] - # lat[0][1] = dim[0] * box[0][1] - # lat[0][2] = dim[0] * box[0][2] - # lat[1][0] = dim[1] * box[1][0] - # lat[1][1] = dim[1] * box[1][1] - # lat[1][2] = dim[1] * box[1][2] - # lat[2][0] = dim[2] * box[2][0] - # lat[2][1] = dim[2] * box[2][1] - # lat[2][2] = dim[2] * box[2][2] - # super_cell = Atoms( - # lattice_mat=lat, - # coords=new_coords, - # elements=new_symbs, - # props=props, - # cartesian=False, - # ) - # return super_cell + + def make_supercell_old(self, dim=[2, 2, 2]): + """Make supercell of dimension dim using for loop.""" + coords = self.frac_coords + all_symbs = self.elements # [i.symbol for i in s.species] + nat = len(coords) + + new_nat = nat * dim[0] * dim[1] * dim[2] + new_coords = np.zeros((new_nat, 3)) + new_symbs = [] # np.chararray((new_nat)) + props = [] # self.props + + ct = 0 + for i in range(nat): + for j in range(dim[0]): + for k in range(dim[1]): + for m in range(dim[2]): + props.append(self.props[i]) + new_coords[ct][0] = (coords[i][0] + j) / float(dim[0]) + new_coords[ct][1] = (coords[i][1] + k) / float(dim[1]) + new_coords[ct][2] = (coords[i][2] + m) / float(dim[2]) + new_symbs.append(all_symbs[i]) + ct = ct + 1 + + nat = new_nat + + nat = len(coords) # int(s.composition.num_atoms) + lat = np.zeros((3, 3)) + box = self.lattice_mat + lat[0][0] = dim[0] * box[0][0] + lat[0][1] = dim[0] * box[0][1] + lat[0][2] = dim[0] * box[0][2] + lat[1][0] = dim[1] * box[1][0] + lat[1][1] = dim[1] * box[1][1] + lat[1][2] = dim[1] * box[1][2] + lat[2][0] = dim[2] * box[2][0] + lat[2][1] = dim[2] * box[2][1] + lat[2][2] = dim[2] * box[2][2] + super_cell = Atoms( + lattice_mat=lat, + coords=new_coords, + elements=new_symbs, + props=props, + cartesian=False, + ) + return super_cell def get_lll_reduced_structure(self): """Get LLL algorithm based reduced structure.""" @@ -1882,18 +2037,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/graphs.py b/jarvis/core/graphs.py index b3295e48..adfe7cc5 100644 --- a/jarvis/core/graphs.py +++ b/jarvis/core/graphs.py @@ -49,7 +49,8 @@ def nearest_neighbor_edges( cutoff=8, max_neighbors=12, id=None, - use_canonize=False, + use_canonize=True, + # use_canonize=False, ): """Construct k-NN edge list.""" # returns List[List[Tuple[site, distance, index, image]]] @@ -200,7 +201,8 @@ def atom_dgl_multigraph( max_attempts=3, id: Optional[str] = None, compute_line_graph: bool = True, - use_canonize: bool = False, + use_canonize: bool = True, + # use_canonize: bool = False, ): """Obtain a DGLGraph for Atoms object.""" if neighbor_strategy == "k-nearest": diff --git a/jarvis/tasks/qe/super.py b/jarvis/tasks/qe/super.py index 4e6e9d28..b11d6b3f 100644 --- a/jarvis/tasks/qe/super.py +++ b/jarvis/tasks/qe/super.py @@ -218,7 +218,8 @@ def runjob(self): "outdir": "'./'", "tstress": ".true.", "tprnfor": ".true.", - "disk_io": "'nowf'", + "disk_io": "'low'", + # "disk_io": "'nowf'", "pseudo_dir": None, "verbosity": "'high'", "nstep": 100, diff --git a/jarvis/tests/testfiles/core/test_atoms.py b/jarvis/tests/testfiles/core/test_atoms.py index 11712676..0d40f4d0 100644 --- a/jarvis/tests/testfiles/core/test_atoms.py +++ b/jarvis/tests/testfiles/core/test_atoms.py @@ -118,6 +118,8 @@ def test_basic_atoms(): den_0d = round(vac_pad.get_effective_molecule().density, 2) den_lll_red = round(Si.get_lll_reduced_structure().density, 2) strng = Si.get_string() + scell_nat_old = Si.make_supercell_old([2, 2, 2]).num_atoms + descr = Si.describe() scell_nat = Si.make_supercell([2, 2, 2]).num_atoms scell_nat2 = Si.make_supercell_matrix( [[2, 0, 0], [0, 2, 0], [0, 0, 2]] diff --git a/setup.py b/setup.py index 3775af0e..4a03d57a 100644 --- a/setup.py +++ b/setup.py @@ -12,7 +12,7 @@ setup( name="jarvis-tools", - version="2024.3.30", + version="2024.4.10", long_description=long_d, install_requires=[ "numpy>=1.20.1",