TB2J 0.9.0.3__tar.gz → 0.9.0.4__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.0.4/.github/workflows/pylint.yml.bak +23 -0
- tb2j-0.9.0.4/.github/workflows/python-app.yml +44 -0
- tb2j-0.9.0.4/.gitignore +131 -0
- tb2j-0.9.0.4/.pre-commit-config.yaml +6 -0
- tb2j-0.9.0.4/.readthedocs.yml +28 -0
- tb2j-0.9.0.4/.travis.yml +33 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/PKG-INFO +2 -1
- tb2j-0.9.0.4/TB2J/.gitignore +5 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/Jdownfolder.py +2 -2
- tb2j-0.9.0.4/TB2J/abacus/.gitignore +2 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/io_exchange/io_exchange.py +12 -0
- tb2j-0.9.0.4/TB2J/manager.py +456 -0
- tb2j-0.9.0.4/TB2J/spinham/__init__.py +0 -0
- tb2j-0.9.0.4/TB2J/symmetrize_J.py +121 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J.egg-info/PKG-INFO +2 -1
- tb2j-0.9.0.4/TB2J.egg-info/SOURCES.txt +205 -0
- tb2j-0.9.0.4/TB2J.egg-info/entry_points.txt +2 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J.egg-info/requires.txt +1 -0
- tb2j-0.9.0.4/buildimage.sh +51 -0
- tb2j-0.9.0.4/docs/Makefile +20 -0
- tb2j-0.9.0.4/docs/conf.py +61 -0
- tb2j-0.9.0.4/docs/index.rst +44 -0
- tb2j-0.9.0.4/docs/make.bat +35 -0
- tb2j-0.9.0.4/docs/requirements.txt +3 -0
- tb2j-0.9.0.4/docs/src/BFOvarT.png +0 -0
- tb2j-0.9.0.4/docs/src/Contributors.rst +44 -0
- tb2j-0.9.0.4/docs/src/ReleaseNotes.md +202 -0
- tb2j-0.9.0.4/docs/src/SrMnO3_DOS.png +0 -0
- tb2j-0.9.0.4/docs/src/abacus.md +103 -0
- tb2j-0.9.0.4/docs/src/applications.rst +9 -0
- tb2j-0.9.0.4/docs/src/convention.rst +18 -0
- tb2j-0.9.0.4/docs/src/development.md +22 -0
- tb2j-0.9.0.4/docs/src/downfold.md +28 -0
- tb2j-0.9.0.4/docs/src/ecosystem.md +51 -0
- tb2j-0.9.0.4/docs/src/eigen.rst +34 -0
- tb2j-0.9.0.4/docs/src/extend.rst +45 -0
- tb2j-0.9.0.4/docs/src/faq.rst +79 -0
- tb2j-0.9.0.4/docs/src/install.rst +86 -0
- tb2j-0.9.0.4/docs/src/mae.md +127 -0
- tb2j-0.9.0.4/docs/src/magnon_band.assets/exchange_magnon-1593690872101.png +0 -0
- tb2j-0.9.0.4/docs/src/magnon_band.assets/exchange_magnon.png +0 -0
- tb2j-0.9.0.4/docs/src/magnon_band.assets/magnon_dos.png +0 -0
- tb2j-0.9.0.4/docs/src/magnon_band.rst +98 -0
- tb2j-0.9.0.4/docs/src/multibinit.rst +89 -0
- tb2j-0.9.0.4/docs/src/openmx.rst +27 -0
- tb2j-0.9.0.4/docs/src/orbital_contribution.md +80 -0
- tb2j-0.9.0.4/docs/src/output.rst +52 -0
- tb2j-0.9.0.4/docs/src/parameters.rst +28 -0
- tb2j-0.9.0.4/docs/src/references.rst +36 -0
- tb2j-0.9.0.4/docs/src/roadmap.md +8 -0
- tb2j-0.9.0.4/docs/src/rotate_and_merge.rst +54 -0
- tb2j-0.9.0.4/docs/src/siesta.rst +38 -0
- tb2j-0.9.0.4/docs/src/spin_model_assets/canting_DMI.png +0 -0
- tb2j-0.9.0.4/docs/src/spin_model_assets/tmulti5_2.png +0 -0
- tb2j-0.9.0.4/docs/src/symmetry.md +42 -0
- tb2j-0.9.0.4/docs/src/tutorial.rst +18 -0
- tb2j-0.9.0.4/docs/src/wannier.rst +228 -0
- tb2j-0.9.0.4/examples/Siesta/BccFe/Fe.1.psml +1181 -0
- tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/EigenJq.txt +119 -0
- tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/exchange.xml +4126 -0
- tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/exchange_kpth.txt +8 -0
- tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/exchange_magnon.png +0 -0
- tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/magnon.py +3 -0
- tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/magnon_band.json +3332 -0
- tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/magnon_band.pdf +0 -0
- tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/magnon_dos.png +0 -0
- tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/magnon_dos.txt +302 -0
- tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/mb.files +3 -0
- tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/mb.in +33 -0
- tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/plot.sh +1 -0
- tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/plot_magnon_dos.sh +1 -0
- tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/plot_magnon_from_json_file.py +73 -0
- tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/TB2J.pickle +0 -0
- tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/TomASD/exchange.exch +1381 -0
- tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/TomASD/exchange.ucf +3 -0
- tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/exchange.out +3097 -0
- tb2j-0.9.0.4/examples/Siesta/BccFe/getJ.sh +2 -0
- tb2j-0.9.0.4/examples/Siesta/BccFe/run.sh +3 -0
- tb2j-0.9.0.4/examples/Siesta/BccFe/siesta.fdf +61 -0
- tb2j-0.9.0.4/examples/Siesta/HcpCo/Co.1.psml +3174 -0
- tb2j-0.9.0.4/examples/Siesta/HcpCo/TB2J_results/Multibinit/exchange.xml +7610 -0
- tb2j-0.9.0.4/examples/Siesta/HcpCo/TB2J_results/Multibinit/mb.files +3 -0
- tb2j-0.9.0.4/examples/Siesta/HcpCo/TB2J_results/Multibinit/mb.in +33 -0
- tb2j-0.9.0.4/examples/Siesta/HcpCo/TB2J_results/TB2J.pickle +0 -0
- tb2j-0.9.0.4/examples/Siesta/HcpCo/TB2J_results/TomASD/exchange.exch +2556 -0
- tb2j-0.9.0.4/examples/Siesta/HcpCo/TB2J_results/TomASD/exchange.ucf +4 -0
- tb2j-0.9.0.4/examples/Siesta/HcpCo/TB2J_results/Vampire/input +42 -0
- tb2j-0.9.0.4/examples/Siesta/HcpCo/TB2J_results/Vampire/vampire.UCF +644 -0
- tb2j-0.9.0.4/examples/Siesta/HcpCo/TB2J_results/Vampire/vampire.mat +24 -0
- tb2j-0.9.0.4/examples/Siesta/HcpCo/TB2J_results/exchange.out +5708 -0
- tb2j-0.9.0.4/examples/Siesta/HcpCo/TB2J_results/summary.txt +10 -0
- tb2j-0.9.0.4/examples/Siesta/HcpCo/getJ.sh +1 -0
- tb2j-0.9.0.4/examples/Siesta/HcpCo/run.sh +3 -0
- tb2j-0.9.0.4/examples/Siesta/HcpCo/siesta.fdf +63 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/JvsR.pdf +0 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/Multibinit/exchange.xml +533 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/Multibinit/mb.files +3 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/Multibinit/mb.in +33 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/TB2J.pickle +0 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/TomASD/exchange.exch +509 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/TomASD/exchange.ucf +3 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/Vampire/input +42 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/Vampire/vampire.UCF +135 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/Vampire/vampire.mat +13 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/assigned_basis.txt +14 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/exchange.out +406 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/exchange_orb_decomposition.out +1274 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/abinit.files +8 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/abinit.in +83 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/abinito_w90_down.win +113 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/abinito_w90_down_centres.xyz +21 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/abinito_w90_down_hr.dat +24512 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/abinito_w90_up.win +113 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/abinito_w90_up_centres.xyz +21 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/abinito_w90_up_hr.dat +24512 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/get_J.sh +1 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/psp/Mn.GGA-PBESOL-JTH.xml +16818 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/psp/O.GGA-PBESOL-JTH.xml +12782 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/psp/Sr.GGA-PBESOL-JTH.xml +12646 -0
- tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/run.sh +6 -0
- tb2j-0.9.0.4/requirements.txt +10 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/setup.py +7 -1
- tb2j-0.9.0.4/upload_to_pip.sh +4 -0
- TB2J-0.9.0.3/TB2J.egg-info/SOURCES.txt +0 -89
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/LICENSE +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/README.md +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/Jtensor.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/Oiju.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/Oiju_epc.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/__init__.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/abacus/MAE.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/abacus/__init__.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/abacus/abacus_api.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/abacus/abacus_wrapper.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/abacus/gen_exchange_abacus.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/abacus/occupations.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/abacus/orbital_api.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/abacus/stru_api.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/abacus/test_density_matrix.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/abacus/test_read_HRSR.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/abacus/test_read_stru.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/basis.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/citation.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/contour.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/density_matrix.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/epc.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/exchange.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/exchangeCL2.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/exchange_pert.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/exchange_qspace.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/external/__init__.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/external/p_tqdm.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/gpaw_wrapper.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/green.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/greentest.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/io_exchange/__init__.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/io_exchange/io_multibinit.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/io_exchange/io_tomsasd.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/io_exchange/io_txt.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/io_exchange/io_uppasd.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/io_exchange/io_vampire.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/io_merge.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/kpoints.py +0 -0
- {TB2J-0.9.0.3/TB2J/spinham → tb2j-0.9.0.4/TB2J/lawaf}/__init__.py +0 -0
- /TB2J-0.9.0.3/TB2J/manager.py → /tb2j-0.9.0.4/TB2J/lawaf/lawaf_interface.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/mathutils/__init__.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/mathutils/fermi.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/mathutils/kR_convert.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/mathutils/lowdin.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/mathutils/rotate_spin.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/mathutils.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/myTB.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/orbmap.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/pauli.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/pert.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/plot.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/rotate_atoms.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/rotate_siestaDM.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/sisl_wrapper.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/spinham/base_parser.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/spinham/constants.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/spinham/hamiltonian.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/spinham/hamiltonian_terms.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/spinham/plot.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/spinham/qsolver.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/spinham/spin_api.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/spinham/spin_xml.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/spinham/supercell.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/tensor_rotate.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/utest.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/utils.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/versioninfo.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/wannier/__init__.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/wannier/w90_parser.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/wannier/w90_tb_parser.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J.egg-info/dependency_links.txt +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J.egg-info/top_level.txt +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/scripts/TB2J_downfold.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/scripts/TB2J_eigen.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/scripts/TB2J_magnon.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/scripts/TB2J_magnon_dos.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/scripts/TB2J_merge.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/scripts/TB2J_rotate.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/scripts/TB2J_rotateDM.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/scripts/abacus2J.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/scripts/siesta2J.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/scripts/wann2J.py +0 -0
- {TB2J-0.9.0.3 → tb2j-0.9.0.4}/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
|
tb2j-0.9.0.4/.gitignore
ADDED
@@ -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
|
tb2j-0.9.0.4/.travis.yml
ADDED
@@ -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.1
|
2
2
|
Name: TB2J
|
3
|
-
Version: 0.9.0.
|
3
|
+
Version: 0.9.0.4
|
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
|
@@ -22,5 +22,6 @@ Requires-Dist: tqdm
|
|
22
22
|
Requires-Dist: pathos
|
23
23
|
Requires-Dist: packaging>=20.0
|
24
24
|
Requires-Dist: pre-commit
|
25
|
+
Requires-Dist: sympair>0.1.0
|
25
26
|
|
26
27
|
TB2J is a Python package aimed to compute automatically the magnetic interactions (superexchange and Dzyaloshinskii-Moriya) between atoms of magnetic crystals from DFT Hamiltonian based on Wannier functions or Linear combination of atomic orbitals. It uses the Green's function method and take the local rigid spin rotation as a perturbation. The package can take the output from Wannier90, which is interfaced with many density functional theory codes or from codes based on localised orbitals. A minimal user input is needed, which allows for an easily integration into a high-throughput workflows.
|
@@ -92,7 +92,7 @@ class PWFDownfolder:
|
|
92
92
|
# anchors={(0, 0, 0): (-1, -2, -3, -4)},
|
93
93
|
# anchors={(0, 0, 0): ()},
|
94
94
|
# use_proj=True,
|
95
|
-
enhance_Amn=2.0,
|
95
|
+
# enhance_Amn=2.0,
|
96
96
|
)
|
97
97
|
params.update(kwargs)
|
98
98
|
wann.set_parameters(**params)
|
@@ -134,7 +134,7 @@ class JDownfolder_pickle:
|
|
134
134
|
outpath,
|
135
135
|
qmesh=[7, 7, 7],
|
136
136
|
iso_only=False,
|
137
|
-
method="
|
137
|
+
method="lowdin",
|
138
138
|
**kwargs
|
139
139
|
):
|
140
140
|
self.exc = SpinIO.load_pickle(path=inpath, fname="TB2J.pickle")
|
@@ -238,6 +238,18 @@ Generation time: {now.strftime("%y/%m/%d %H:%M:%S")}
|
|
238
238
|
def get_charge_iatom(self, iatom):
|
239
239
|
return self.charges[iatom]
|
240
240
|
|
241
|
+
def ijR_index_spin_to_atom(self, i, j, R):
|
242
|
+
return (self.iatom(i), self.iatom(j), R)
|
243
|
+
|
244
|
+
def ijR_index_atom_to_spin(self, iatom, jatom, R):
|
245
|
+
return (self.index_spin[iatom], self.index_spin[jatom], R)
|
246
|
+
|
247
|
+
def ijR_list(self):
|
248
|
+
return [(i, j, R) for R, i, j in self.exchange_Jdict]
|
249
|
+
|
250
|
+
def ijR_list_index_atom(self):
|
251
|
+
return [self.ijR_index_spin_to_atom(i, j, R) for R, i, j in self.exchange_Jdict]
|
252
|
+
|
241
253
|
def get_J(self, i, j, R, default=None):
|
242
254
|
i = self.i_spin(i)
|
243
255
|
j = self.i_spin(j)
|