TB2J 0.9.9rc9__tar.gz → 0.9.9rc11__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tb2j-0.9.9rc11/.github/workflows/pylint.yml.bak +23 -0
- tb2j-0.9.9rc11/.github/workflows/python-app.yml +44 -0
- tb2j-0.9.9rc11/.gitignore +131 -0
- tb2j-0.9.9rc11/.pre-commit-config.yaml +11 -0
- tb2j-0.9.9rc11/.readthedocs.yml +28 -0
- tb2j-0.9.9rc11/.ruff.toml +78 -0
- tb2j-0.9.9rc11/.travis.yml +33 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/PKG-INFO +2 -2
- tb2j-0.9.9rc11/TB2J/.gitignore +5 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/exchange.py +8 -5
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/exchange_params.py +1 -1
- tb2j-0.9.9rc11/TB2J/interfaces/abacus/.gitignore +2 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/rotate_siestaDM.py +11 -9
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J.egg-info/PKG-INFO +2 -2
- tb2j-0.9.9rc11/TB2J.egg-info/SOURCES.txt +216 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J.egg-info/requires.txt +1 -1
- tb2j-0.9.9rc11/buildimage.sh +51 -0
- tb2j-0.9.9rc11/docs/Makefile +20 -0
- tb2j-0.9.9rc11/docs/_static/Logo-ULG.png +0 -0
- tb2j-0.9.9rc11/docs/_static/logo_TB2J_horizon.png +0 -0
- tb2j-0.9.9rc11/docs/conf.py +67 -0
- tb2j-0.9.9rc11/docs/index.rst +44 -0
- tb2j-0.9.9rc11/docs/make.bat +35 -0
- tb2j-0.9.9rc11/docs/requirements.txt +3 -0
- tb2j-0.9.9rc11/docs/src/BFOvarT.png +0 -0
- tb2j-0.9.9rc11/docs/src/Contributors.rst +44 -0
- tb2j-0.9.9rc11/docs/src/ReleaseNotes.md +226 -0
- tb2j-0.9.9rc11/docs/src/SrMnO3_DOS.png +0 -0
- tb2j-0.9.9rc11/docs/src/abacus.md +103 -0
- tb2j-0.9.9rc11/docs/src/applications.rst +9 -0
- tb2j-0.9.9rc11/docs/src/convention.rst +18 -0
- tb2j-0.9.9rc11/docs/src/development.md +22 -0
- tb2j-0.9.9rc11/docs/src/downfold.md +28 -0
- tb2j-0.9.9rc11/docs/src/ecosystem.md +51 -0
- tb2j-0.9.9rc11/docs/src/eigen.rst +34 -0
- tb2j-0.9.9rc11/docs/src/extend.rst +45 -0
- tb2j-0.9.9rc11/docs/src/faq.rst +79 -0
- tb2j-0.9.9rc11/docs/src/install.rst +86 -0
- tb2j-0.9.9rc11/docs/src/mae.md +127 -0
- tb2j-0.9.9rc11/docs/src/magnon_band.assets/exchange_magnon-1593690872101.png +0 -0
- tb2j-0.9.9rc11/docs/src/magnon_band.assets/exchange_magnon.png +0 -0
- tb2j-0.9.9rc11/docs/src/magnon_band.assets/magnon_dos.png +0 -0
- tb2j-0.9.9rc11/docs/src/magnon_band.rst +98 -0
- tb2j-0.9.9rc11/docs/src/multibinit.rst +89 -0
- tb2j-0.9.9rc11/docs/src/openmx.rst +27 -0
- tb2j-0.9.9rc11/docs/src/orbital_contribution.md +80 -0
- tb2j-0.9.9rc11/docs/src/output.rst +52 -0
- tb2j-0.9.9rc11/docs/src/parameters.rst +89 -0
- tb2j-0.9.9rc11/docs/src/references.rst +36 -0
- tb2j-0.9.9rc11/docs/src/roadmap.md +8 -0
- tb2j-0.9.9rc11/docs/src/rotate_and_merge.rst +54 -0
- tb2j-0.9.9rc11/docs/src/siesta.rst +38 -0
- tb2j-0.9.9rc11/docs/src/spin_model_assets/canting_DMI.png +0 -0
- tb2j-0.9.9rc11/docs/src/spin_model_assets/tmulti5_2.png +0 -0
- tb2j-0.9.9rc11/docs/src/symmetry.md +42 -0
- tb2j-0.9.9rc11/docs/src/tutorial.rst +18 -0
- tb2j-0.9.9rc11/docs/src/wannier.rst +228 -0
- tb2j-0.9.9rc11/examples/Siesta/BccFe/Fe.1.psml +1181 -0
- tb2j-0.9.9rc11/examples/Siesta/BccFe/TB2J_results/EigenJq.txt +119 -0
- tb2j-0.9.9rc11/examples/Siesta/BccFe/TB2J_results/Multibinit/exchange.xml +4126 -0
- tb2j-0.9.9rc11/examples/Siesta/BccFe/TB2J_results/Multibinit/exchange_kpth.txt +8 -0
- tb2j-0.9.9rc11/examples/Siesta/BccFe/TB2J_results/Multibinit/exchange_magnon.png +0 -0
- tb2j-0.9.9rc11/examples/Siesta/BccFe/TB2J_results/Multibinit/magnon.py +3 -0
- tb2j-0.9.9rc11/examples/Siesta/BccFe/TB2J_results/Multibinit/magnon_band.json +3332 -0
- tb2j-0.9.9rc11/examples/Siesta/BccFe/TB2J_results/Multibinit/magnon_band.pdf +0 -0
- tb2j-0.9.9rc11/examples/Siesta/BccFe/TB2J_results/Multibinit/magnon_dos.png +0 -0
- tb2j-0.9.9rc11/examples/Siesta/BccFe/TB2J_results/Multibinit/magnon_dos.txt +302 -0
- tb2j-0.9.9rc11/examples/Siesta/BccFe/TB2J_results/Multibinit/mb.files +3 -0
- tb2j-0.9.9rc11/examples/Siesta/BccFe/TB2J_results/Multibinit/mb.in +33 -0
- tb2j-0.9.9rc11/examples/Siesta/BccFe/TB2J_results/Multibinit/plot.sh +1 -0
- tb2j-0.9.9rc11/examples/Siesta/BccFe/TB2J_results/Multibinit/plot_magnon_dos.sh +1 -0
- tb2j-0.9.9rc11/examples/Siesta/BccFe/TB2J_results/Multibinit/plot_magnon_from_json_file.py +73 -0
- tb2j-0.9.9rc11/examples/Siesta/BccFe/TB2J_results/TB2J.pickle +0 -0
- tb2j-0.9.9rc11/examples/Siesta/BccFe/TB2J_results/TomASD/exchange.exch +1381 -0
- tb2j-0.9.9rc11/examples/Siesta/BccFe/TB2J_results/TomASD/exchange.ucf +3 -0
- tb2j-0.9.9rc11/examples/Siesta/BccFe/TB2J_results/exchange.out +3097 -0
- tb2j-0.9.9rc11/examples/Siesta/BccFe/getJ.sh +2 -0
- tb2j-0.9.9rc11/examples/Siesta/BccFe/run.sh +3 -0
- tb2j-0.9.9rc11/examples/Siesta/BccFe/siesta.fdf +61 -0
- tb2j-0.9.9rc11/examples/Siesta/HcpCo/Co.1.psml +3174 -0
- tb2j-0.9.9rc11/examples/Siesta/HcpCo/TB2J_results/Multibinit/exchange.xml +7610 -0
- tb2j-0.9.9rc11/examples/Siesta/HcpCo/TB2J_results/Multibinit/mb.files +3 -0
- tb2j-0.9.9rc11/examples/Siesta/HcpCo/TB2J_results/Multibinit/mb.in +33 -0
- tb2j-0.9.9rc11/examples/Siesta/HcpCo/TB2J_results/TB2J.pickle +0 -0
- tb2j-0.9.9rc11/examples/Siesta/HcpCo/TB2J_results/TomASD/exchange.exch +2556 -0
- tb2j-0.9.9rc11/examples/Siesta/HcpCo/TB2J_results/TomASD/exchange.ucf +4 -0
- tb2j-0.9.9rc11/examples/Siesta/HcpCo/TB2J_results/Vampire/input +42 -0
- tb2j-0.9.9rc11/examples/Siesta/HcpCo/TB2J_results/Vampire/vampire.UCF +644 -0
- tb2j-0.9.9rc11/examples/Siesta/HcpCo/TB2J_results/Vampire/vampire.mat +24 -0
- tb2j-0.9.9rc11/examples/Siesta/HcpCo/TB2J_results/exchange.out +5708 -0
- tb2j-0.9.9rc11/examples/Siesta/HcpCo/TB2J_results/summary.txt +10 -0
- tb2j-0.9.9rc11/examples/Siesta/HcpCo/getJ.sh +1 -0
- tb2j-0.9.9rc11/examples/Siesta/HcpCo/run.sh +3 -0
- tb2j-0.9.9rc11/examples/Siesta/HcpCo/siesta.fdf +63 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/TB2J_results/JvsR.pdf +0 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/TB2J_results/Multibinit/exchange.xml +533 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/TB2J_results/Multibinit/mb.files +3 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/TB2J_results/Multibinit/mb.in +33 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/TB2J_results/TB2J.pickle +0 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/TB2J_results/TomASD/exchange.exch +509 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/TB2J_results/TomASD/exchange.ucf +3 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/TB2J_results/Vampire/input +42 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/TB2J_results/Vampire/vampire.UCF +135 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/TB2J_results/Vampire/vampire.mat +13 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/TB2J_results/assigned_basis.txt +14 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/TB2J_results/exchange.out +406 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/TB2J_results/exchange_orb_decomposition.out +1274 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/abinit.files +8 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/abinit.in +83 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/abinito_w90_down.win +113 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/abinito_w90_down_centres.xyz +21 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/abinito_w90_down_hr.dat +24512 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/abinito_w90_up.win +113 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/abinito_w90_up_centres.xyz +21 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/abinito_w90_up_hr.dat +24512 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/get_J.sh +1 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/psp/Mn.GGA-PBESOL-JTH.xml +16818 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/psp/O.GGA-PBESOL-JTH.xml +12782 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/psp/Sr.GGA-PBESOL-JTH.xml +12646 -0
- tb2j-0.9.9rc11/examples/abinit-w90/SrMnO3/run.sh +6 -0
- tb2j-0.9.9rc11/requirements.txt +11 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/scripts/abacus2J.py +1 -2
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/scripts/siesta2J.py +1 -2
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/setup.py +2 -2
- tb2j-0.9.9rc11/upload_to_pip.sh +5 -0
- tb2j-0.9.9rc9/TB2J.egg-info/SOURCES.txt +0 -101
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/LICENSE +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/README.md +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/Jdownfolder.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/Jtensor.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/MAE.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/MAEGreen.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/Oiju.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/Oiju_epc.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/__init__.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/anisotropy.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/basis.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/citation.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/contour.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/density_matrix.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/epc.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/exchangeCL2.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/exchange_pert.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/exchange_qspace.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/external/__init__.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/external/p_tqdm.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/gpaw_wrapper.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/green.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/greentest.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/interfaces/__init__.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/interfaces/abacus/__init__.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/interfaces/abacus/abacus_api.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/interfaces/abacus/abacus_wrapper.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/interfaces/abacus/gen_exchange_abacus.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/interfaces/abacus/orbital_api.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/interfaces/abacus/stru_api.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/interfaces/abacus/test_density_matrix.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/interfaces/abacus/test_read_HRSR.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/interfaces/abacus/test_read_stru.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/interfaces/gpaw_interface.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/interfaces/lawaf_interface.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/interfaces/manager.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/interfaces/siesta_interface.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/interfaces/wannier90_interface.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/io_exchange/__init__.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/io_exchange/io_exchange.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/io_exchange/io_multibinit.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/io_exchange/io_tomsasd.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/io_exchange/io_txt.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/io_exchange/io_uppasd.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/io_exchange/io_vampire.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/io_merge.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/kpoints.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/mathutils/__init__.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/mathutils/fermi.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/mathutils/fibonacci_sphere.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/mathutils/kR_convert.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/mathutils/lowdin.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/mathutils/rotate_spin.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/myTB.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/mycfr.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/orbital_magmom.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/orbmap.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/pauli.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/pert.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/plot.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/rotate_atoms.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/sisl_wrapper.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/spinham/__init__.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/spinham/base_parser.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/spinham/constants.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/spinham/hamiltonian.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/spinham/hamiltonian_terms.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/spinham/plot.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/spinham/qsolver.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/spinham/spin_api.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/spinham/spin_xml.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/spinham/supercell.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/symmetrize_J.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/tensor_rotate.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/thetaphi.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/utest.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/utils.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/versioninfo.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/wannier/__init__.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/wannier/w90_parser.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J/wannier/w90_tb_parser.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J.egg-info/dependency_links.txt +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J.egg-info/entry_points.txt +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/TB2J.egg-info/top_level.txt +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/scripts/TB2J_downfold.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/scripts/TB2J_eigen.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/scripts/TB2J_magnon.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/scripts/TB2J_magnon_dos.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/scripts/TB2J_merge.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/scripts/TB2J_rotate.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/scripts/TB2J_rotateDM.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/scripts/wann2J.py +0 -0
- {tb2j-0.9.9rc9 → tb2j-0.9.9rc11}/setup.cfg +0 -0
@@ -0,0 +1,23 @@
|
|
1
|
+
name: Pylint
|
2
|
+
|
3
|
+
on: [push]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
build:
|
7
|
+
runs-on: ubuntu-latest
|
8
|
+
strategy:
|
9
|
+
matrix:
|
10
|
+
python-version: ["3.8", "3.9", "3.10"]
|
11
|
+
steps:
|
12
|
+
- uses: actions/checkout@v3
|
13
|
+
- name: Set up Python ${{ matrix.python-version }}
|
14
|
+
uses: actions/setup-python@v3
|
15
|
+
with:
|
16
|
+
python-version: ${{ matrix.python-version }}
|
17
|
+
- name: Install dependencies
|
18
|
+
run: |
|
19
|
+
python -m pip install --upgrade pip
|
20
|
+
pip install pylint
|
21
|
+
- name: Analysing the code with pylint
|
22
|
+
run: |
|
23
|
+
pylint $(git ls-files '*.py')
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# This workflow will install Python dependencies, run tests and lint with a single version of Python
|
2
|
+
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
|
3
|
+
|
4
|
+
name: Python application
|
5
|
+
|
6
|
+
on:
|
7
|
+
push:
|
8
|
+
branches: [ "master" ]
|
9
|
+
pull_request:
|
10
|
+
branches: [ "master" ]
|
11
|
+
|
12
|
+
permissions:
|
13
|
+
contents: read
|
14
|
+
|
15
|
+
jobs:
|
16
|
+
build:
|
17
|
+
runs-on: ubuntu-latest
|
18
|
+
steps:
|
19
|
+
- uses: actions/checkout@v4
|
20
|
+
- name: Set up Python 3.10
|
21
|
+
uses: actions/setup-python@v5
|
22
|
+
with:
|
23
|
+
python-version: "3.10"
|
24
|
+
- name: Install dependencies
|
25
|
+
run: |
|
26
|
+
python -m pip install --upgrade pip
|
27
|
+
pip install flake8 pytest
|
28
|
+
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
|
29
|
+
- name: Lint with flake8
|
30
|
+
run: |
|
31
|
+
# stop the build if there are Python syntax errors or undefined names
|
32
|
+
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
33
|
+
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
34
|
+
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
35
|
+
- name: Test with pytest
|
36
|
+
run: |
|
37
|
+
#pytest
|
38
|
+
# - pwd
|
39
|
+
python -m pip install .
|
40
|
+
cd examples/abinit-w90/SrMnO3
|
41
|
+
ls -lah
|
42
|
+
sh get_J.sh
|
43
|
+
cd TB2J_results/Multibinit
|
44
|
+
TB2J_magnon.py --figfname magnon.png
|
@@ -0,0 +1,131 @@
|
|
1
|
+
doc/refs/*.pdf
|
2
|
+
|
3
|
+
|
4
|
+
*.swp
|
5
|
+
|
6
|
+
# Latex
|
7
|
+
*.aux
|
8
|
+
|
9
|
+
# xyz files
|
10
|
+
|
11
|
+
.DS_Store
|
12
|
+
|
13
|
+
# Byte-compiled / optimized / DLL files
|
14
|
+
__pycache__/
|
15
|
+
*.py[cod]
|
16
|
+
*$py.class
|
17
|
+
|
18
|
+
# numpy results
|
19
|
+
*.npy
|
20
|
+
|
21
|
+
# png files
|
22
|
+
|
23
|
+
# C extensions
|
24
|
+
*.so
|
25
|
+
*.a
|
26
|
+
|
27
|
+
# Fortran extensions
|
28
|
+
*.fpp
|
29
|
+
*.mod
|
30
|
+
*.o
|
31
|
+
|
32
|
+
# F90wrap files
|
33
|
+
*.plist
|
34
|
+
|
35
|
+
# Distribution / packaging
|
36
|
+
.Python
|
37
|
+
env/
|
38
|
+
build/
|
39
|
+
develop-eggs/
|
40
|
+
dist/
|
41
|
+
downloads/
|
42
|
+
eggs/
|
43
|
+
.eggs/
|
44
|
+
lib/
|
45
|
+
lib64/
|
46
|
+
parts/
|
47
|
+
sdist/
|
48
|
+
var/
|
49
|
+
wheels/
|
50
|
+
*.egg-info/
|
51
|
+
*.egg-info/*
|
52
|
+
.installed.cfg
|
53
|
+
*.egg
|
54
|
+
|
55
|
+
# temporary files
|
56
|
+
temp/
|
57
|
+
|
58
|
+
# PyInstaller
|
59
|
+
# Usually these files are written by a python script from a template
|
60
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
61
|
+
*.manifest
|
62
|
+
*.spec
|
63
|
+
|
64
|
+
# Installer logs
|
65
|
+
pip-log.txt
|
66
|
+
pip-delete-this-directory.txt
|
67
|
+
|
68
|
+
# Unit test / coverage reports
|
69
|
+
htmlcov/
|
70
|
+
.tox/
|
71
|
+
.coverage
|
72
|
+
.coverage.*
|
73
|
+
.cache
|
74
|
+
nosetests.xml
|
75
|
+
coverage.xml
|
76
|
+
*.cover
|
77
|
+
.hypothesis/
|
78
|
+
|
79
|
+
# Translations
|
80
|
+
*.mo
|
81
|
+
*.pot
|
82
|
+
|
83
|
+
# Django stuff:
|
84
|
+
*.log
|
85
|
+
local_settings.py
|
86
|
+
|
87
|
+
# Flask stuff:
|
88
|
+
instance/
|
89
|
+
.webassets-cache
|
90
|
+
|
91
|
+
# Scrapy stuff:
|
92
|
+
.scrapy
|
93
|
+
|
94
|
+
# Sphinx documentation
|
95
|
+
docs/_build/
|
96
|
+
|
97
|
+
# PyBuilder
|
98
|
+
target/
|
99
|
+
|
100
|
+
# Jupyter Notebook
|
101
|
+
.ipynb_checkpoints
|
102
|
+
|
103
|
+
# pyenv
|
104
|
+
.python-version
|
105
|
+
|
106
|
+
# celery beat schedule file
|
107
|
+
celerybeat-schedule
|
108
|
+
|
109
|
+
# SageMath parsed files
|
110
|
+
*.sage.py
|
111
|
+
|
112
|
+
# dotenv
|
113
|
+
.env
|
114
|
+
|
115
|
+
# virtualenv
|
116
|
+
.venv
|
117
|
+
venv/
|
118
|
+
ENV/
|
119
|
+
|
120
|
+
# Spyder project settings
|
121
|
+
.spyderproject
|
122
|
+
.spyproject
|
123
|
+
|
124
|
+
# Rope project settings
|
125
|
+
.ropeproject
|
126
|
+
|
127
|
+
# mkdocs documentation
|
128
|
+
/site
|
129
|
+
|
130
|
+
# mypy
|
131
|
+
.mypy_cache/
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# .readthedocs.yml
|
2
|
+
# Read the Docs configuration file
|
3
|
+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
|
4
|
+
|
5
|
+
# Required
|
6
|
+
version: 2
|
7
|
+
build:
|
8
|
+
os: "ubuntu-22.04"
|
9
|
+
tools:
|
10
|
+
python: "3.11"
|
11
|
+
|
12
|
+
# Build documentation in the docs/ directory with Sphinx
|
13
|
+
sphinx:
|
14
|
+
configuration: docs/conf.py
|
15
|
+
|
16
|
+
# Build documentation with MkDocs
|
17
|
+
#mkdocs:
|
18
|
+
# configuration: mkdocs.yml
|
19
|
+
|
20
|
+
# Optionally build your docs in additional formats such as PDF
|
21
|
+
formats:
|
22
|
+
- pdf
|
23
|
+
|
24
|
+
# Optionally set the version of Python and requirements required to build your docs
|
25
|
+
python:
|
26
|
+
install:
|
27
|
+
- requirements: requirements.txt
|
28
|
+
- requirements: docs/requirements.txt
|
@@ -0,0 +1,78 @@
|
|
1
|
+
# Exclude a variety of commonly ignored directories.
|
2
|
+
exclude = [
|
3
|
+
".bzr",
|
4
|
+
".direnv",
|
5
|
+
".eggs",
|
6
|
+
".git",
|
7
|
+
".git-rewrite",
|
8
|
+
".hg",
|
9
|
+
".ipynb_checkpoints",
|
10
|
+
".mypy_cache",
|
11
|
+
".nox",
|
12
|
+
".pants.d",
|
13
|
+
".pyenv",
|
14
|
+
".pytest_cache",
|
15
|
+
".pytype",
|
16
|
+
".ruff_cache",
|
17
|
+
".svn",
|
18
|
+
".tox",
|
19
|
+
".venv",
|
20
|
+
".vscode",
|
21
|
+
"__pypackages__",
|
22
|
+
"_build",
|
23
|
+
"buck-out",
|
24
|
+
"build",
|
25
|
+
"dist",
|
26
|
+
"node_modules",
|
27
|
+
"site-packages",
|
28
|
+
"venv",
|
29
|
+
]
|
30
|
+
|
31
|
+
# Same as Black.
|
32
|
+
line-length = 88
|
33
|
+
indent-width = 4
|
34
|
+
|
35
|
+
# Assume Python 3.8
|
36
|
+
target-version = "py38"
|
37
|
+
|
38
|
+
[lint]
|
39
|
+
# Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default.
|
40
|
+
# Unlike Flake8, Ruff doesn't enable pycodestyle warnings (`W`) or
|
41
|
+
# McCabe complexity (`C901`) by default.
|
42
|
+
select = ["E4", "E7", "E9", "F"]
|
43
|
+
ignore = ["E741"]
|
44
|
+
|
45
|
+
# Allow fix for all enabled rules (when `--fix`) is provided.
|
46
|
+
fixable = ["ALL"]
|
47
|
+
unfixable = []
|
48
|
+
|
49
|
+
# Allow unused variables when underscore-prefixed.
|
50
|
+
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
|
51
|
+
|
52
|
+
[format]
|
53
|
+
# Like Black, use double quotes for strings.
|
54
|
+
quote-style = "double"
|
55
|
+
|
56
|
+
# Like Black, indent with spaces, rather than tabs.
|
57
|
+
indent-style = "space"
|
58
|
+
|
59
|
+
# Like Black, respect magic trailing commas.
|
60
|
+
skip-magic-trailing-comma = false
|
61
|
+
|
62
|
+
# Like Black, automatically detect the appropriate line ending.
|
63
|
+
line-ending = "auto"
|
64
|
+
|
65
|
+
# Enable auto-formatting of code examples in docstrings. Markdown,
|
66
|
+
# reStructuredText code/literal blocks and doctests are all supported.
|
67
|
+
#
|
68
|
+
# This is currently disabled by default, but it is planned for this
|
69
|
+
# to be opt-out in the future.
|
70
|
+
docstring-code-format = false
|
71
|
+
|
72
|
+
# Set the line length limit used when formatting code snippets in
|
73
|
+
# docstrings.
|
74
|
+
#
|
75
|
+
# This only has an effect when the `docstring-code-format` setting is
|
76
|
+
# enabled.
|
77
|
+
docstring-code-line-length = "dynamic"
|
78
|
+
|
@@ -0,0 +1,33 @@
|
|
1
|
+
language: python
|
2
|
+
python:
|
3
|
+
- "3.7"
|
4
|
+
- "3.8"
|
5
|
+
- "3.9"
|
6
|
+
- "3.10"
|
7
|
+
- "3.11"
|
8
|
+
cache: pip
|
9
|
+
|
10
|
+
addons:
|
11
|
+
apt:
|
12
|
+
packages: &common_packages
|
13
|
+
- gfortran
|
14
|
+
- libatlas-base-dev
|
15
|
+
- liblapack-dev
|
16
|
+
- libnetcdf-dev
|
17
|
+
- libnetcdff-dev
|
18
|
+
- eatmydata
|
19
|
+
- ccache
|
20
|
+
before_install:
|
21
|
+
- if [[ $TRAVIS_PYTHON_VERSION == 3.7 ]]; then pip install -U importlib_metadata; fi
|
22
|
+
|
23
|
+
install:
|
24
|
+
- pip install -r requirements.txt
|
25
|
+
- pip install sisl
|
26
|
+
- pip install -e .
|
27
|
+
script:
|
28
|
+
- pwd
|
29
|
+
- cd examples/abinit-w90/SrMnO3
|
30
|
+
- ls -lah
|
31
|
+
- sh get_J.sh
|
32
|
+
- cd TB2J_results/Multibinit
|
33
|
+
- TB2J_magnon.py --figfname magnon.png
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: TB2J
|
3
|
-
Version: 0.9.
|
3
|
+
Version: 0.9.9rc11
|
4
4
|
Summary: TB2J: First principle to Heisenberg exchange J using tight-binding Green function method
|
5
5
|
Author: Xu He
|
6
6
|
Author-email: mailhexu@gmail.com
|
@@ -21,7 +21,7 @@ Requires-Dist: ase>=3.19
|
|
21
21
|
Requires-Dist: tqdm
|
22
22
|
Requires-Dist: pathos
|
23
23
|
Requires-Dist: packaging>=20.0
|
24
|
-
Requires-Dist: HamiltonIO>=0.1.
|
24
|
+
Requires-Dist: HamiltonIO>=0.1.10
|
25
25
|
Requires-Dist: pre-commit
|
26
26
|
Requires-Dist: sympair>0.1.0
|
27
27
|
Requires-Dist: sisl>=0.9.0
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import os
|
2
2
|
import pickle
|
3
|
-
from collections import
|
3
|
+
from collections import defaultdict
|
4
4
|
|
5
5
|
import numpy as np
|
6
6
|
from tqdm import tqdm
|
@@ -97,7 +97,7 @@ class Exchange(ExchangeParams):
|
|
97
97
|
def _prepare_orb_dict(self):
|
98
98
|
"""
|
99
99
|
Generate orbital and magnetic atom mappings needed for exchange calculations.
|
100
|
-
|
100
|
+
|
101
101
|
Creates:
|
102
102
|
- self.orb_dict: Maps atom indices to their orbital indices
|
103
103
|
- self.labels: Maps atom indices to their orbital labels
|
@@ -114,13 +114,13 @@ class Exchange(ExchangeParams):
|
|
114
114
|
def _create_orbital_mappings(self):
|
115
115
|
"""Create mappings between atoms and their orbitals."""
|
116
116
|
self.orb_dict = {} # {atom_index: [orbital_indices]}
|
117
|
-
self.labels = {}
|
117
|
+
self.labels = {} # {atom_index: [orbital_labels]}
|
118
118
|
atom_symbols = symbol_number(self.atoms)
|
119
119
|
|
120
120
|
for orb_idx, base in enumerate(self.basis):
|
121
121
|
if orb_idx in self.exclude_orbs:
|
122
122
|
continue
|
123
|
-
|
123
|
+
|
124
124
|
# Extract atom and orbital info
|
125
125
|
if isinstance(base, str):
|
126
126
|
atom_sym, orb_sym = base.split("|")[:2]
|
@@ -152,7 +152,10 @@ class Exchange(ExchangeParams):
|
|
152
152
|
tags = self.atoms.get_tags()
|
153
153
|
|
154
154
|
for atom_idx, (sym, tag) in enumerate(zip(symbols, tags)):
|
155
|
-
if
|
155
|
+
if (
|
156
|
+
sym in self.magnetic_elements
|
157
|
+
or f"{sym}{tag}" in self.magnetic_elements
|
158
|
+
):
|
156
159
|
self.ind_mag_atoms.append(atom_idx)
|
157
160
|
print(f"Magnetic atoms: {self.ind_mag_atoms}")
|
158
161
|
|
@@ -1,28 +1,28 @@
|
|
1
1
|
import sisl
|
2
2
|
|
3
|
+
|
3
4
|
def rotate_siesta_DM(DM, noncollinear=False):
|
4
|
-
|
5
|
-
angles_list = [ [0.0, 90.0, 0.0], [0.0, 90.0, 90.0] ]
|
5
|
+
angles_list = [[0.0, 90.0, 0.0], [0.0, 90.0, 90.0]]
|
6
6
|
if noncollinear:
|
7
7
|
angles_list += [[0.0, 45.0, 0.0], [0.0, 90.0, 45.0], [0.0, 45.0, 90.0]]
|
8
8
|
|
9
9
|
for angles in angles_list:
|
10
10
|
yield DM.spin_rotate(angles)
|
11
11
|
|
12
|
-
def read_label(fdf_fname):
|
13
12
|
|
14
|
-
|
15
|
-
|
13
|
+
def read_label(fdf_fname):
|
14
|
+
label = "siesta"
|
15
|
+
with open(fdf_fname, "r") as File:
|
16
16
|
for line in File:
|
17
|
-
corrected_line = line.lower().replace(
|
18
|
-
if
|
17
|
+
corrected_line = line.lower().replace(".", "").replace("-", "")
|
18
|
+
if "systemlabel" in corrected_line:
|
19
19
|
label = line.split()[1]
|
20
20
|
break
|
21
21
|
|
22
22
|
return label
|
23
23
|
|
24
|
-
def rotate_DM(fdf_fname, noncollinear=False):
|
25
24
|
|
25
|
+
def rotate_DM(fdf_fname, noncollinear=False):
|
26
26
|
fdf = sisl.get_sile(fdf_fname)
|
27
27
|
DM = fdf.read_density_matrix()
|
28
28
|
label = read_label(fdf_fname)
|
@@ -33,4 +33,6 @@ def rotate_DM(fdf_fname, noncollinear=False):
|
|
33
33
|
rotated_DM.write(f"{label}_{i+1}.DM")
|
34
34
|
DM.write(f"{label}_0.DM")
|
35
35
|
|
36
|
-
print(
|
36
|
+
print(
|
37
|
+
f"The output has been written to the {label}_i.DM files. {label}_0.DM contains the reference density matrix."
|
38
|
+
)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: TB2J
|
3
|
-
Version: 0.9.
|
3
|
+
Version: 0.9.9rc11
|
4
4
|
Summary: TB2J: First principle to Heisenberg exchange J using tight-binding Green function method
|
5
5
|
Author: Xu He
|
6
6
|
Author-email: mailhexu@gmail.com
|
@@ -21,7 +21,7 @@ Requires-Dist: ase>=3.19
|
|
21
21
|
Requires-Dist: tqdm
|
22
22
|
Requires-Dist: pathos
|
23
23
|
Requires-Dist: packaging>=20.0
|
24
|
-
Requires-Dist: HamiltonIO>=0.1.
|
24
|
+
Requires-Dist: HamiltonIO>=0.1.10
|
25
25
|
Requires-Dist: pre-commit
|
26
26
|
Requires-Dist: sympair>0.1.0
|
27
27
|
Requires-Dist: sisl>=0.9.0
|