Skip to content

Commit

Permalink
Surface maker and atoms describer update. (#320)
Browse files Browse the repository at this point in the history
* 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 <[email protected]>
Co-authored-by: knc6 <[email protected]>
Co-authored-by: KAMAL CHOUDHARY <[email protected]>

* First input.

* added black

* Example folder.

Co-authored-by: Kamal Choudhary <[email protected]>
Co-authored-by: tavazza <[email protected]>
Co-authored-by: knc6 <[email protected]>
Co-authored-by: KAMAL CHOUDHARY <[email protected]>

* 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 <[email protected]>
Co-authored-by: knc6 <[email protected]>
Co-authored-by: KAMAL CHOUDHARY <[email protected]>

* First input.

* added black

* Example folder.

Co-authored-by: Kamal Choudhary <[email protected]>
Co-authored-by: tavazza <[email protected]>
Co-authored-by: knc6 <[email protected]>
Co-authored-by: KAMAL CHOUDHARY <[email protected]>

* 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 <[email protected]>
Co-authored-by: knc6 <[email protected]>
Co-authored-by: KAMAL CHOUDHARY <[email protected]>
Co-authored-by: wines1 <[email protected]>

* 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 <[email protected]>
Co-authored-by: tavazza <[email protected]>
Co-authored-by: knc6 <[email protected]>
Co-authored-by: KAMAL CHOUDHARY <[email protected]>
Co-authored-by: wines1 <[email protected]>

* 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 <[email protected]>
Co-authored-by: knc6 <[email protected]>
Co-authored-by: KAMAL CHOUDHARY <[email protected]>

* First input.

* added black

* Example folder.

Co-authored-by: Kamal Choudhary <[email protected]>
Co-authored-by: tavazza <[email protected]>
Co-authored-by: knc6 <[email protected]>
Co-authored-by: KAMAL CHOUDHARY <[email protected]>

* 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 <[email protected]>
Co-authored-by: knc6 <[email protected]>
Co-authored-by: KAMAL CHOUDHARY <[email protected]>

* First input.

* added black

* Example folder.

Co-authored-by: Kamal Choudhary <[email protected]>
Co-authored-by: tavazza <[email protected]>
Co-authored-by: knc6 <[email protected]>
Co-authored-by: KAMAL CHOUDHARY <[email protected]>

* 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 <[email protected]>
Co-authored-by: knc6 <[email protected]>
Co-authored-by: KAMAL CHOUDHARY <[email protected]>
Co-authored-by: wines1 <[email protected]>

* 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 <[email protected]>
Co-authored-by: tavazza <[email protected]>
Co-authored-by: knc6 <[email protected]>
Co-authored-by: KAMAL CHOUDHARY <[email protected]>
Co-authored-by: wines1 <[email protected]>

* 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 <[email protected]>
Co-authored-by: wines1 <[email protected]>
Co-authored-by: tavazza <[email protected]>
Co-authored-by: knc6 <[email protected]>
Co-authored-by: Saurav Maheshkar <[email protected]>
Co-authored-by: Janosh Riebesell <[email protected]>
Co-authored-by: Ramya Gurunathan <[email protected]>

* Update tutorials.md

---------

Co-authored-by: Kamal Choudhary <[email protected]>
Co-authored-by: KAMAL CHOUDHARY <[email protected]>
Co-authored-by: wines1 <[email protected]>
Co-authored-by: tavazza <[email protected]>
Co-authored-by: knc6 <[email protected]>
Co-authored-by: Saurav Maheshkar <[email protected]>
Co-authored-by: Janosh Riebesell <[email protected]>
Co-authored-by: Ramya Gurunathan <[email protected]>

* 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 <[email protected]>
Co-authored-by: wines1 <[email protected]>
Co-authored-by: tavazza <[email protected]>
Co-authored-by: knc6 <[email protected]>
Co-authored-by: KAMAL CHOUDHARY <[email protected]>
Co-authored-by: Saurav Maheshkar <[email protected]>
Co-authored-by: Janosh Riebesell <[email protected]>
Co-authored-by: Ramya Gurunathan <[email protected]>
Co-authored-by: Sangjoon Bob Lee <[email protected]>

* 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.

---------

Co-authored-by: Timur Bazhirov <[email protected]>
Co-authored-by: wines1 <[email protected]>
Co-authored-by: tavazza <[email protected]>
Co-authored-by: knc6 <[email protected]>
Co-authored-by: KAMAL CHOUDHARY <[email protected]>
Co-authored-by: Saurav Maheshkar <[email protected]>
Co-authored-by: Janosh Riebesell <[email protected]>
Co-authored-by: Ramya Gurunathan <[email protected]>
Co-authored-by: Sangjoon Bob Lee <[email protected]>
  • Loading branch information
10 people authored May 4, 2024
1 parent 4ec2bf5 commit 9cdcab2
Show file tree
Hide file tree
Showing 11 changed files with 397 additions and 35 deletions.
2 changes: 1 addition & 1 deletion jarvis/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""Version number."""

__version__ = "2024.4.10"
__version__ = "2024.4.20"

import os

Expand Down
25 changes: 23 additions & 2 deletions jarvis/analysis/defects/surface.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,11 @@ def __init__(
atoms=None,
indices=[0, 0, 1],
layers=3,
thickness=25,
thickness=None,
vacuum=18.0,
tol=1e-10,
from_conventional_structure=True,
use_thickness_c=True,
):
"""Initialize the class.
Expand Down Expand Up @@ -67,6 +68,7 @@ def __init__(
self.vacuum = vacuum
self.layers = layers
self.thickness = thickness
self.use_thickness_c = use_thickness_c
# Note thickness overwrites layers

def to_dict(self):
Expand Down Expand Up @@ -147,7 +149,26 @@ def make_surface(self):
cartesian=True,
)
if self.thickness is not None and (self.thickness) > 0:
self.layers = int(self.thickness / new_atoms.lattice.c) + 1
if not self.use_thickness_c:
new_lat = new_atoms.lattice_mat # lat_lengths()
a1 = new_lat[0]
a2 = new_lat[1]
a3 = new_lat[2]
new_lat = np.array(
[
a1,
a2,
np.cross(a1, a2)
* np.dot(a3, np.cross(a1, a2))
/ norm(np.cross(a1, a2)) ** 2,
]
)

a3 = new_lat[2]
self.layers = int(self.thickness / np.linalg.norm(a3)) + 1
else:
self.layers = int(self.thickness / new_atoms.lattice.c) + 1
# print("self.layers", self.layers)
# dims=get_supercell_dims(new_atoms,enforce_c_size=self.thickness)
# print ('dims=',dims,self.layers)
# surf_atoms = new_atoms.make_supercell_matrix([1, 1, dims[2]])
Expand Down
243 changes: 241 additions & 2 deletions jarvis/core/atoms.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,26 @@
import string
import datetime
from collections import defaultdict
from sklearn.metrics import mean_absolute_error
import zipfile
import json

amu_gm = 1.66054e-24
ang_cm = 1e-8

with zipfile.ZipFile(
str(
os.path.join(
os.path.dirname(__file__), "mineral_name_prototype.json.zip"
)
),
"r",
) as z:
# Open the specific JSON file within the zip
with z.open("mineral_name_prototype.json") as file:
# Load the JSON data from the file
mineral_json_file = json.load(file)


class Atoms(object):
"""
Expand Down Expand Up @@ -649,10 +665,10 @@ def check_polar(self):
dn = dn + Specie(element).Z
polar = False
if up != dn:
print("Seems like a polar materials.")
# print("Seems like a polar materials.")
polar = True
if up == dn:
print("Non-polar")
# print("Non-polar")
polar = False
return polar

Expand Down Expand Up @@ -1039,6 +1055,106 @@ def density(self):
)
return den

def plot_atoms(
self=None,
colors=[],
sizes=[],
cutoff=1.9,
opacity=0.5,
bond_width=2,
filename=None,
):
"""Plot atoms using plotly."""
import plotly.graph_objects as go

fig = go.Figure()
if not colors:
colors = ["blue", "green", "red"]

unique_elements = self.uniq_species
if len(unique_elements) > len(colors):
raise ValueError("Provide more colors.")
color_map = {}
size_map = {}
for ii, i in enumerate(unique_elements):
color_map[i] = colors[ii]
size_map[i] = Specie(i).Z * 2
cart_coords = self.cart_coords
elements = self.elements
atoms_arr = []

for ii, i in enumerate(cart_coords):
atoms_arr.append(
[
i[0],
i[1],
i[2],
color_map[elements[ii]],
size_map[elements[ii]],
]
)
# atoms = [
# (0, 0, 0, 'red'), # Atom 1
# (1, 1, 1, 'blue'), # Atom 2
# (2, 0, 1, 'green') # Atom 3
# ]

# Create a scatter plot for the 3D points
trace1 = go.Scatter3d(
x=[atom[0] for atom in atoms_arr],
y=[atom[1] for atom in atoms_arr],
z=[atom[2] for atom in atoms_arr],
mode="markers",
marker=dict(
size=[atom[4] for atom in atoms_arr], # Marker size
color=[atom[3] for atom in atoms_arr], # Marker color
opacity=opacity,
),
)
fig.add_trace(trace1)

# Update plot layout
fig.update_layout(
title="3D Atom Coordinates",
scene=dict(
xaxis_title="X Coordinates",
yaxis_title="Y Coordinates",
zaxis_title="Z Coordinates",
),
margin=dict(l=0, r=0, b=0, t=0), # Tight layout
)
if bond_width is not None:
nbs = self.get_all_neighbors(r=5)
bonds = []
for i in nbs:
for j in i:
if j[2] <= cutoff:
bonds.append([j[0], j[1]])
for bond in bonds:
# print(bond)
# Extract coordinates of the first and second atom in each bond
x_coords = [atoms_arr[bond[0]][0], atoms_arr[bond[1]][0]]
y_coords = [atoms_arr[bond[0]][1], atoms_arr[bond[1]][1]]
z_coords = [atoms_arr[bond[0]][2], atoms_arr[bond[1]][2]]

fig.add_trace(
go.Scatter3d(
x=x_coords,
y=y_coords,
z=z_coords,
mode="lines",
line=dict(color="grey", width=bond_width),
marker=dict(
size=0.1
), # Small marker size to make lines prominent
)
)
# Show the plot
if filename is not None:
fig.write_image(filename)
else:
fig.show()

@property
def atomic_numbers(self):
"""Get list of atomic numbers of atoms in the atoms object."""
Expand Down Expand Up @@ -1168,6 +1284,105 @@ def packing_fraction(self):
pf = np.array([4 * np.pi * total_rad / (3 * self.volume)])
return round(pf[0], 5)

def get_alignn_feats(
self,
model_name="jv_formation_energy_peratom_alignn",
max_neighbors=12,
neighbor_strategy="k-nearest",
use_canonize=True,
atom_features="cgcnn",
line_graph=True,
cutoff=8,
model="",
):
"""Get ALIGNN features."""

def get_val(model, g, lg):
activation = {}

def getActivation(name):
# the hook signature
def hook(model, input, output):
activation[name] = output.detach()

return hook

h = model.readout.register_forward_hook(getActivation("readout"))
out = model([g, lg])
del out
h.remove()
return activation["readout"][0]

from alignn.graphs import Graph
from alignn.pretrained import get_figshare_model

g, lg = Graph.atom_dgl_multigraph(
self,
cutoff=cutoff,
atom_features=atom_features,
max_neighbors=max_neighbors,
neighbor_strategy=neighbor_strategy,
compute_line_graph=line_graph,
use_canonize=use_canonize,
)
if model == "":
model = get_figshare_model(
model_name="jv_formation_energy_peratom_alignn"
)
h = get_val(model, g, lg)
return h

def get_mineral_prototype_name(
self, prim=True, include_c_over_a=False, digits=3
):
from jarvis.analysis.structure.spacegroup import Spacegroup3D

spg = Spacegroup3D(self)
number = spg.space_group_number
cnv_atoms = spg.conventional_standard_structure
n_conv = cnv_atoms.num_atoms
# hall_number=str(spg._dataset['hall_number'])
wyc = "".join(list((sorted(set(spg._dataset["wyckoffs"])))))
name = (
(self.composition.prototype_new)
+ "_"
+ str(number)
+ "_"
+ str(wyc)
+ "_"
+ str(n_conv)
)
# if include_com:
if include_c_over_a:
# print(cnv_atoms)
abc = cnv_atoms.lattice.abc
ca = round(abc[2] / abc[0], digits)
# com_positions = "_".join(map(str,self.get_center_of_mass()))
# round(np.sum(spg._dataset['std_positions']),round_digit)
name += "_" + str(ca)
# name+="_"+str(com_positions)
return name

def get_minaral_name(self, model=""):
"""Get mineral prototype."""
mae = np.inf
feats = self.get_alignn_feats(model=model)
nm = self.get_mineral_prototype_name()
if nm in mineral_json_file:
for i in mineral_json_file[nm]:
maem = mean_absolute_error(i[1], feats)
if maem < mae:
mae = maem
name = i[0]
else:
for i, j in mineral_json_file.items():
for k in j:
maem = mean_absolute_error(k[1], feats)
if maem < mae:
mae = maem
name = k[0]
return name

def lattice_points_in_supercell(self, supercell_matrix):
"""
Adapted from Pymatgen.
Expand Down Expand Up @@ -1236,6 +1451,7 @@ def describe(
"""Describe for NLP applications."""
from jarvis.analysis.diffraction.xrd import XRD

min_name = self.get_minaral_name()
if include_spg:
from jarvis.analysis.structure.spacegroup import Spacegroup3D

Expand Down Expand Up @@ -1264,6 +1480,7 @@ def describe(
fracs[i] = round(j, 3)
info = {}
chem_info = {
"mineral_name": min_name,
"atomic_formula": self.composition.reduced_formula,
"prototype": self.composition.prototype,
"molecular_weight": round(self.composition.weight / 2, 2),
Expand Down Expand Up @@ -1372,8 +1589,30 @@ def describe(
+ struct_info["wyckoff"]
+ "."
)
if min_name is not None:
line3 = (
chem_info["atomic_formula"]
+ " is "
+ min_name
+ "-derived structured and"
+ " crystallizes in the "
+ struct_info["crystal_system"]
+ " "
+ str(struct_info["spg_symbol"])
+ " spacegroup."
)
else:
line3 = (
chem_info["atomic_formula"]
+ " crystallizes in the "
+ struct_info["crystal_system"]
+ " "
+ str(struct_info["spg_symbol"])
+ " spacegroup."
)
info["desc_1"] = line1
info["desc_2"] = line2
info["desc_3"] = line3
return info

def make_supercell_matrix(self, scaling_matrix):
Expand Down
Loading

0 comments on commit 9cdcab2

Please sign in to comment.