TB2J 0.9.10.4__tar.gz → 0.9.11.1__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.
Files changed (236) hide show
  1. tb2j-0.9.11.1/.github/workflows/pylint.yml.bak +23 -0
  2. tb2j-0.9.11.1/.github/workflows/python-app.yml +44 -0
  3. tb2j-0.9.11.1/.gitignore +131 -0
  4. tb2j-0.9.11.1/.pre-commit-config.yaml +11 -0
  5. tb2j-0.9.11.1/.readthedocs.yml +28 -0
  6. tb2j-0.9.11.1/.ruff.toml +78 -0
  7. tb2j-0.9.11.1/.travis.yml +33 -0
  8. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/PKG-INFO +1 -1
  9. tb2j-0.9.11.1/TB2J/.gitignore +5 -0
  10. tb2j-0.9.11.1/TB2J/__init__.py +1 -0
  11. tb2j-0.9.11.1/TB2J/interfaces/abacus/.gitignore +2 -0
  12. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J.egg-info/PKG-INFO +1 -1
  13. tb2j-0.9.11.1/TB2J.egg-info/SOURCES.txt +231 -0
  14. tb2j-0.9.11.1/TB2J.egg-info/entry_points.txt +16 -0
  15. tb2j-0.9.11.1/buildimage.sh +51 -0
  16. tb2j-0.9.11.1/docs/Makefile +20 -0
  17. tb2j-0.9.11.1/docs/_static/Logo-ULG.png +0 -0
  18. tb2j-0.9.11.1/docs/_static/logo_TB2J_horizon.png +0 -0
  19. tb2j-0.9.11.1/docs/conf.py +67 -0
  20. tb2j-0.9.11.1/docs/index.rst +44 -0
  21. tb2j-0.9.11.1/docs/make.bat +35 -0
  22. tb2j-0.9.11.1/docs/requirements.txt +3 -0
  23. tb2j-0.9.11.1/docs/src/BFOvarT.png +0 -0
  24. tb2j-0.9.11.1/docs/src/Contributors.rst +44 -0
  25. tb2j-0.9.11.1/docs/src/ReleaseNotes.md +226 -0
  26. tb2j-0.9.11.1/docs/src/SrMnO3_DOS.png +0 -0
  27. tb2j-0.9.11.1/docs/src/abacus.md +103 -0
  28. tb2j-0.9.11.1/docs/src/applications.rst +9 -0
  29. tb2j-0.9.11.1/docs/src/convention.rst +18 -0
  30. tb2j-0.9.11.1/docs/src/development.md +22 -0
  31. tb2j-0.9.11.1/docs/src/downfold.md +28 -0
  32. tb2j-0.9.11.1/docs/src/ecosystem.md +49 -0
  33. tb2j-0.9.11.1/docs/src/eigen.rst +34 -0
  34. tb2j-0.9.11.1/docs/src/extend.rst +45 -0
  35. tb2j-0.9.11.1/docs/src/faq.rst +79 -0
  36. tb2j-0.9.11.1/docs/src/install.rst +123 -0
  37. tb2j-0.9.11.1/docs/src/mae.md +127 -0
  38. tb2j-0.9.11.1/docs/src/magnon_band.assets/exchange_magnon-1593690872101.png +0 -0
  39. tb2j-0.9.11.1/docs/src/magnon_band.assets/exchange_magnon.png +0 -0
  40. tb2j-0.9.11.1/docs/src/magnon_band.assets/magnon_dos.png +0 -0
  41. tb2j-0.9.11.1/docs/src/magnon_band.rst +74 -0
  42. tb2j-0.9.11.1/docs/src/magnon_bands.md +177 -0
  43. tb2j-0.9.11.1/docs/src/multibinit.rst +89 -0
  44. tb2j-0.9.11.1/docs/src/openmx.rst +27 -0
  45. tb2j-0.9.11.1/docs/src/orbital_contribution.md +80 -0
  46. tb2j-0.9.11.1/docs/src/output.rst +52 -0
  47. tb2j-0.9.11.1/docs/src/parameters.rst +89 -0
  48. tb2j-0.9.11.1/docs/src/references.rst +36 -0
  49. tb2j-0.9.11.1/docs/src/roadmap.md +8 -0
  50. tb2j-0.9.11.1/docs/src/rotate_and_merge.rst +54 -0
  51. tb2j-0.9.11.1/docs/src/siesta.rst +38 -0
  52. tb2j-0.9.11.1/docs/src/spin_model_assets/canting_DMI.png +0 -0
  53. tb2j-0.9.11.1/docs/src/spin_model_assets/tmulti5_2.png +0 -0
  54. tb2j-0.9.11.1/docs/src/symmetry.md +42 -0
  55. tb2j-0.9.11.1/docs/src/tutorial.rst +18 -0
  56. tb2j-0.9.11.1/docs/src/wannier.rst +228 -0
  57. tb2j-0.9.11.1/examples/Siesta/BccFe/Fe.1.psml +1181 -0
  58. tb2j-0.9.11.1/examples/Siesta/BccFe/TB2J_results/EigenJq.txt +119 -0
  59. tb2j-0.9.11.1/examples/Siesta/BccFe/TB2J_results/Multibinit/exchange.xml +4126 -0
  60. tb2j-0.9.11.1/examples/Siesta/BccFe/TB2J_results/Multibinit/exchange_kpth.txt +8 -0
  61. tb2j-0.9.11.1/examples/Siesta/BccFe/TB2J_results/Multibinit/exchange_magnon.png +0 -0
  62. tb2j-0.9.11.1/examples/Siesta/BccFe/TB2J_results/Multibinit/magnon.py +3 -0
  63. tb2j-0.9.11.1/examples/Siesta/BccFe/TB2J_results/Multibinit/magnon_band.json +3332 -0
  64. tb2j-0.9.11.1/examples/Siesta/BccFe/TB2J_results/Multibinit/magnon_band.pdf +0 -0
  65. tb2j-0.9.11.1/examples/Siesta/BccFe/TB2J_results/Multibinit/magnon_dos.png +0 -0
  66. tb2j-0.9.11.1/examples/Siesta/BccFe/TB2J_results/Multibinit/magnon_dos.txt +302 -0
  67. tb2j-0.9.11.1/examples/Siesta/BccFe/TB2J_results/Multibinit/mb.files +3 -0
  68. tb2j-0.9.11.1/examples/Siesta/BccFe/TB2J_results/Multibinit/mb.in +33 -0
  69. tb2j-0.9.11.1/examples/Siesta/BccFe/TB2J_results/Multibinit/plot.sh +1 -0
  70. tb2j-0.9.11.1/examples/Siesta/BccFe/TB2J_results/Multibinit/plot_magnon_dos.sh +1 -0
  71. tb2j-0.9.11.1/examples/Siesta/BccFe/TB2J_results/Multibinit/plot_magnon_from_json_file.py +73 -0
  72. tb2j-0.9.11.1/examples/Siesta/BccFe/TB2J_results/TB2J.pickle +0 -0
  73. tb2j-0.9.11.1/examples/Siesta/BccFe/TB2J_results/TomASD/exchange.exch +1381 -0
  74. tb2j-0.9.11.1/examples/Siesta/BccFe/TB2J_results/TomASD/exchange.ucf +3 -0
  75. tb2j-0.9.11.1/examples/Siesta/BccFe/TB2J_results/exchange.out +3097 -0
  76. tb2j-0.9.11.1/examples/Siesta/BccFe/getJ.sh +2 -0
  77. tb2j-0.9.11.1/examples/Siesta/BccFe/run.sh +3 -0
  78. tb2j-0.9.11.1/examples/Siesta/BccFe/siesta.fdf +61 -0
  79. tb2j-0.9.11.1/examples/Siesta/HcpCo/Co.1.psml +3174 -0
  80. tb2j-0.9.11.1/examples/Siesta/HcpCo/TB2J_results/Multibinit/exchange.xml +7610 -0
  81. tb2j-0.9.11.1/examples/Siesta/HcpCo/TB2J_results/Multibinit/mb.files +3 -0
  82. tb2j-0.9.11.1/examples/Siesta/HcpCo/TB2J_results/Multibinit/mb.in +33 -0
  83. tb2j-0.9.11.1/examples/Siesta/HcpCo/TB2J_results/TB2J.pickle +0 -0
  84. tb2j-0.9.11.1/examples/Siesta/HcpCo/TB2J_results/TomASD/exchange.exch +2556 -0
  85. tb2j-0.9.11.1/examples/Siesta/HcpCo/TB2J_results/TomASD/exchange.ucf +4 -0
  86. tb2j-0.9.11.1/examples/Siesta/HcpCo/TB2J_results/Vampire/input +42 -0
  87. tb2j-0.9.11.1/examples/Siesta/HcpCo/TB2J_results/Vampire/vampire.UCF +644 -0
  88. tb2j-0.9.11.1/examples/Siesta/HcpCo/TB2J_results/Vampire/vampire.mat +24 -0
  89. tb2j-0.9.11.1/examples/Siesta/HcpCo/TB2J_results/exchange.out +5708 -0
  90. tb2j-0.9.11.1/examples/Siesta/HcpCo/TB2J_results/summary.txt +10 -0
  91. tb2j-0.9.11.1/examples/Siesta/HcpCo/getJ.sh +1 -0
  92. tb2j-0.9.11.1/examples/Siesta/HcpCo/run.sh +3 -0
  93. tb2j-0.9.11.1/examples/Siesta/HcpCo/siesta.fdf +63 -0
  94. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/TB2J_results/JvsR.pdf +0 -0
  95. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/TB2J_results/Multibinit/exchange.xml +533 -0
  96. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/TB2J_results/Multibinit/mb.files +3 -0
  97. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/TB2J_results/Multibinit/mb.in +33 -0
  98. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/TB2J_results/TB2J.pickle +0 -0
  99. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/TB2J_results/TomASD/exchange.exch +509 -0
  100. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/TB2J_results/TomASD/exchange.ucf +3 -0
  101. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/TB2J_results/Vampire/input +42 -0
  102. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/TB2J_results/Vampire/vampire.UCF +135 -0
  103. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/TB2J_results/Vampire/vampire.mat +13 -0
  104. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/TB2J_results/assigned_basis.txt +14 -0
  105. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/TB2J_results/exchange.out +406 -0
  106. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/TB2J_results/exchange_orb_decomposition.out +1274 -0
  107. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/abinit.files +8 -0
  108. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/abinit.in +83 -0
  109. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/abinito_w90_down.win +113 -0
  110. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/abinito_w90_down_centres.xyz +21 -0
  111. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/abinito_w90_down_hr.dat +24512 -0
  112. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/abinito_w90_up.win +113 -0
  113. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/abinito_w90_up_centres.xyz +21 -0
  114. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/abinito_w90_up_hr.dat +24512 -0
  115. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/get_J.sh +1 -0
  116. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/psp/Mn.GGA-PBESOL-JTH.xml +16818 -0
  117. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/psp/O.GGA-PBESOL-JTH.xml +12782 -0
  118. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/psp/Sr.GGA-PBESOL-JTH.xml +12646 -0
  119. tb2j-0.9.11.1/examples/abinit-w90/SrMnO3/run.sh +6 -0
  120. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/pyproject.toml +13 -13
  121. tb2j-0.9.11.1/requirements.txt +11 -0
  122. tb2j-0.9.11.1/upload_to_pip.sh +5 -0
  123. tb2j-0.9.10.4/TB2J/__init__.py +0 -1
  124. tb2j-0.9.10.4/TB2J.egg-info/SOURCES.txt +0 -115
  125. tb2j-0.9.10.4/TB2J.egg-info/entry_points.txt +0 -16
  126. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/LICENSE +0 -0
  127. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/README.md +0 -0
  128. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/Jdownfolder.py +0 -0
  129. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/Jtensor.py +0 -0
  130. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/MAE.py +0 -0
  131. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/MAEGreen.py +0 -0
  132. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/Oiju.py +0 -0
  133. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/Oiju_epc.py +0 -0
  134. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/anisotropy.py +0 -0
  135. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/basis.py +0 -0
  136. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/citation.py +0 -0
  137. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/contour.py +0 -0
  138. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/density_matrix.py +0 -0
  139. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/downfold/Hdownfolder.py +0 -0
  140. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/epc.py +0 -0
  141. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/exchange.py +0 -0
  142. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/exchangeCL2.py +0 -0
  143. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/exchange_params.py +0 -0
  144. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/exchange_pert.py +0 -0
  145. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/exchange_qspace.py +0 -0
  146. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/external/__init__.py +0 -0
  147. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/external/p_tqdm.py +0 -0
  148. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/gpaw_wrapper.py +0 -0
  149. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/green.py +0 -0
  150. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/greentest.py +0 -0
  151. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/interfaces/__init__.py +0 -0
  152. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/interfaces/abacus/__init__.py +0 -0
  153. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/interfaces/abacus/abacus_api.py +0 -0
  154. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/interfaces/abacus/abacus_wrapper.py +0 -0
  155. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/interfaces/abacus/gen_exchange_abacus.py +0 -0
  156. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/interfaces/abacus/orbital_api.py +0 -0
  157. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/interfaces/abacus/stru_api.py +0 -0
  158. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/interfaces/abacus/test_density_matrix.py +0 -0
  159. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/interfaces/abacus/test_read_HRSR.py +0 -0
  160. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/interfaces/abacus/test_read_stru.py +0 -0
  161. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/interfaces/gpaw_interface.py +0 -0
  162. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/interfaces/lawaf_interface.py +0 -0
  163. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/interfaces/manager.py +0 -0
  164. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/interfaces/siesta_interface.py +0 -0
  165. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/interfaces/wannier90_interface.py +0 -0
  166. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/io_exchange/__init__.py +0 -0
  167. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/io_exchange/io_exchange.py +0 -0
  168. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/io_exchange/io_multibinit.py +0 -0
  169. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/io_exchange/io_tomsasd.py +0 -0
  170. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/io_exchange/io_txt.py +0 -0
  171. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/io_exchange/io_uppasd.py +0 -0
  172. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/io_exchange/io_vampire.py +0 -0
  173. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/io_merge.py +0 -0
  174. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/kpoints.py +0 -0
  175. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/magnon/__init__.py +0 -0
  176. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/magnon/io_exchange2.py +0 -0
  177. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/magnon/magnon3.py +0 -0
  178. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/magnon/magnon_band.py +0 -0
  179. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/magnon/magnon_dos.py +0 -0
  180. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/magnon/magnon_io.py +0 -0
  181. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/magnon/magnon_math.py +0 -0
  182. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/magnon/plot.py +0 -0
  183. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/magnon/plot_magnon_dos_cli.py +0 -0
  184. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/magnon/structure.py +0 -0
  185. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/mathutils/__init__.py +0 -0
  186. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/mathutils/auto_kpath.py +0 -0
  187. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/mathutils/fermi.py +0 -0
  188. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/mathutils/fibonacci_sphere.py +0 -0
  189. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/mathutils/kR_convert.py +0 -0
  190. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/mathutils/lowdin.py +0 -0
  191. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/mathutils/rotate_spin.py +0 -0
  192. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/myTB.py +0 -0
  193. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/mycfr.py +0 -0
  194. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/orbital_magmom.py +0 -0
  195. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/orbmap.py +0 -0
  196. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/pauli.py +0 -0
  197. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/pert.py +0 -0
  198. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/plot.py +0 -0
  199. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/rotate_atoms.py +0 -0
  200. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/rotate_siestaDM.py +0 -0
  201. {tb2j-0.9.10.4 → tb2j-0.9.11.1/TB2J}/scripts/TB2J_downfold.py +0 -0
  202. {tb2j-0.9.10.4 → tb2j-0.9.11.1/TB2J}/scripts/TB2J_eigen.py +0 -0
  203. {tb2j-0.9.10.4 → tb2j-0.9.11.1/TB2J}/scripts/TB2J_magnon.py +0 -0
  204. {tb2j-0.9.10.4 → tb2j-0.9.11.1/TB2J}/scripts/TB2J_magnon2.py +0 -0
  205. {tb2j-0.9.10.4 → tb2j-0.9.11.1/TB2J}/scripts/TB2J_magnon_dos.py +0 -0
  206. {tb2j-0.9.10.4 → tb2j-0.9.11.1/TB2J}/scripts/TB2J_merge.py +0 -0
  207. {tb2j-0.9.10.4 → tb2j-0.9.11.1/TB2J}/scripts/TB2J_plot_magnon_bands.py +0 -0
  208. {tb2j-0.9.10.4 → tb2j-0.9.11.1/TB2J}/scripts/TB2J_rotate.py +0 -0
  209. {tb2j-0.9.10.4 → tb2j-0.9.11.1/TB2J}/scripts/TB2J_rotateDM.py +0 -0
  210. {tb2j-0.9.10.4 → tb2j-0.9.11.1/TB2J}/scripts/abacus2J.py +0 -0
  211. {tb2j-0.9.10.4 → tb2j-0.9.11.1/TB2J}/scripts/siesta2J.py +0 -0
  212. {tb2j-0.9.10.4 → tb2j-0.9.11.1/TB2J}/scripts/wann2J.py +0 -0
  213. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/sisl_wrapper.py +0 -0
  214. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/spinham/__init__.py +0 -0
  215. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/spinham/base_parser.py +0 -0
  216. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/spinham/constants.py +0 -0
  217. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/spinham/hamiltonian.py +0 -0
  218. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/spinham/hamiltonian_terms.py +0 -0
  219. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/spinham/plot.py +0 -0
  220. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/spinham/qsolver.py +0 -0
  221. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/spinham/spin_api.py +0 -0
  222. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/spinham/spin_xml.py +0 -0
  223. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/spinham/supercell.py +0 -0
  224. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/symmetrize_J.py +0 -0
  225. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/tensor_rotate.py +0 -0
  226. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/thetaphi.py +0 -0
  227. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/utest.py +0 -0
  228. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/utils.py +0 -0
  229. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/versioninfo.py +0 -0
  230. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/wannier/__init__.py +0 -0
  231. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/wannier/w90_parser.py +0 -0
  232. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J/wannier/w90_tb_parser.py +0 -0
  233. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J.egg-info/dependency_links.txt +0 -0
  234. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J.egg-info/requires.txt +0 -0
  235. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/TB2J.egg-info/top_level.txt +0 -0
  236. {tb2j-0.9.10.4 → tb2j-0.9.11.1}/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,11 @@
1
+ repos:
2
+ - repo: https://github.com/astral-sh/ruff-pre-commit
3
+ # Ruff version.
4
+ rev: v0.3.5
5
+ hooks:
6
+ # Run the linter.
7
+ - id: ruff
8
+ # --select I sorts imports
9
+ args: [ --fix, --extend-select, I ]
10
+ # Run the formatter.
11
+ - id: ruff-format
@@ -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.10.4
3
+ Version: 0.9.11.1
4
4
  Summary: TB2J: First principle to Heisenberg exchange J using tight-binding Green function method
5
5
  Author-email: Xu He <mailhexu@gmail.com>
6
6
  Maintainer-email: Xu He <mailhexu@gmail.com>
@@ -0,0 +1,5 @@
1
+ *.o
2
+ *.x
3
+ *.mod
4
+ exchanges.sublime-project
5
+ exchanges.sublime-workspace
@@ -0,0 +1 @@
1
+ __version__ = "0.9.10.3"
@@ -0,0 +1,2 @@
1
+ TB2J_results/
2
+ *.png
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: TB2J
3
- Version: 0.9.10.4
3
+ Version: 0.9.11.1
4
4
  Summary: TB2J: First principle to Heisenberg exchange J using tight-binding Green function method
5
5
  Author-email: Xu He <mailhexu@gmail.com>
6
6
  Maintainer-email: Xu He <mailhexu@gmail.com>
@@ -0,0 +1,231 @@
1
+ .gitignore
2
+ .pre-commit-config.yaml
3
+ .readthedocs.yml
4
+ .ruff.toml
5
+ .travis.yml
6
+ LICENSE
7
+ README.md
8
+ buildimage.sh
9
+ pyproject.toml
10
+ requirements.txt
11
+ upload_to_pip.sh
12
+ .github/workflows/pylint.yml.bak
13
+ .github/workflows/python-app.yml
14
+ TB2J/.gitignore
15
+ TB2J/Jdownfolder.py
16
+ TB2J/Jtensor.py
17
+ TB2J/MAE.py
18
+ TB2J/MAEGreen.py
19
+ TB2J/Oiju.py
20
+ TB2J/Oiju_epc.py
21
+ TB2J/__init__.py
22
+ TB2J/anisotropy.py
23
+ TB2J/basis.py
24
+ TB2J/citation.py
25
+ TB2J/contour.py
26
+ TB2J/density_matrix.py
27
+ TB2J/epc.py
28
+ TB2J/exchange.py
29
+ TB2J/exchangeCL2.py
30
+ TB2J/exchange_params.py
31
+ TB2J/exchange_pert.py
32
+ TB2J/exchange_qspace.py
33
+ TB2J/gpaw_wrapper.py
34
+ TB2J/green.py
35
+ TB2J/greentest.py
36
+ TB2J/io_merge.py
37
+ TB2J/kpoints.py
38
+ TB2J/myTB.py
39
+ TB2J/mycfr.py
40
+ TB2J/orbital_magmom.py
41
+ TB2J/orbmap.py
42
+ TB2J/pauli.py
43
+ TB2J/pert.py
44
+ TB2J/plot.py
45
+ TB2J/rotate_atoms.py
46
+ TB2J/rotate_siestaDM.py
47
+ TB2J/sisl_wrapper.py
48
+ TB2J/symmetrize_J.py
49
+ TB2J/tensor_rotate.py
50
+ TB2J/thetaphi.py
51
+ TB2J/utest.py
52
+ TB2J/utils.py
53
+ TB2J/versioninfo.py
54
+ TB2J.egg-info/PKG-INFO
55
+ TB2J.egg-info/SOURCES.txt
56
+ TB2J.egg-info/dependency_links.txt
57
+ TB2J.egg-info/entry_points.txt
58
+ TB2J.egg-info/requires.txt
59
+ TB2J.egg-info/top_level.txt
60
+ TB2J/downfold/Hdownfolder.py
61
+ TB2J/external/__init__.py
62
+ TB2J/external/p_tqdm.py
63
+ TB2J/interfaces/__init__.py
64
+ TB2J/interfaces/gpaw_interface.py
65
+ TB2J/interfaces/lawaf_interface.py
66
+ TB2J/interfaces/manager.py
67
+ TB2J/interfaces/siesta_interface.py
68
+ TB2J/interfaces/wannier90_interface.py
69
+ TB2J/interfaces/abacus/.gitignore
70
+ TB2J/interfaces/abacus/__init__.py
71
+ TB2J/interfaces/abacus/abacus_api.py
72
+ TB2J/interfaces/abacus/abacus_wrapper.py
73
+ TB2J/interfaces/abacus/gen_exchange_abacus.py
74
+ TB2J/interfaces/abacus/orbital_api.py
75
+ TB2J/interfaces/abacus/stru_api.py
76
+ TB2J/interfaces/abacus/test_density_matrix.py
77
+ TB2J/interfaces/abacus/test_read_HRSR.py
78
+ TB2J/interfaces/abacus/test_read_stru.py
79
+ TB2J/io_exchange/__init__.py
80
+ TB2J/io_exchange/io_exchange.py
81
+ TB2J/io_exchange/io_multibinit.py
82
+ TB2J/io_exchange/io_tomsasd.py
83
+ TB2J/io_exchange/io_txt.py
84
+ TB2J/io_exchange/io_uppasd.py
85
+ TB2J/io_exchange/io_vampire.py
86
+ TB2J/magnon/__init__.py
87
+ TB2J/magnon/io_exchange2.py
88
+ TB2J/magnon/magnon3.py
89
+ TB2J/magnon/magnon_band.py
90
+ TB2J/magnon/magnon_dos.py
91
+ TB2J/magnon/magnon_io.py
92
+ TB2J/magnon/magnon_math.py
93
+ TB2J/magnon/plot.py
94
+ TB2J/magnon/plot_magnon_dos_cli.py
95
+ TB2J/magnon/structure.py
96
+ TB2J/mathutils/__init__.py
97
+ TB2J/mathutils/auto_kpath.py
98
+ TB2J/mathutils/fermi.py
99
+ TB2J/mathutils/fibonacci_sphere.py
100
+ TB2J/mathutils/kR_convert.py
101
+ TB2J/mathutils/lowdin.py
102
+ TB2J/mathutils/rotate_spin.py
103
+ TB2J/scripts/TB2J_downfold.py
104
+ TB2J/scripts/TB2J_eigen.py
105
+ TB2J/scripts/TB2J_magnon.py
106
+ TB2J/scripts/TB2J_magnon2.py
107
+ TB2J/scripts/TB2J_magnon_dos.py
108
+ TB2J/scripts/TB2J_merge.py
109
+ TB2J/scripts/TB2J_plot_magnon_bands.py
110
+ TB2J/scripts/TB2J_rotate.py
111
+ TB2J/scripts/TB2J_rotateDM.py
112
+ TB2J/scripts/abacus2J.py
113
+ TB2J/scripts/siesta2J.py
114
+ TB2J/scripts/wann2J.py
115
+ TB2J/spinham/__init__.py
116
+ TB2J/spinham/base_parser.py
117
+ TB2J/spinham/constants.py
118
+ TB2J/spinham/hamiltonian.py
119
+ TB2J/spinham/hamiltonian_terms.py
120
+ TB2J/spinham/plot.py
121
+ TB2J/spinham/qsolver.py
122
+ TB2J/spinham/spin_api.py
123
+ TB2J/spinham/spin_xml.py
124
+ TB2J/spinham/supercell.py
125
+ TB2J/wannier/__init__.py
126
+ TB2J/wannier/w90_parser.py
127
+ TB2J/wannier/w90_tb_parser.py
128
+ docs/Makefile
129
+ docs/conf.py
130
+ docs/index.rst
131
+ docs/make.bat
132
+ docs/requirements.txt
133
+ docs/_static/Logo-ULG.png
134
+ docs/_static/logo_TB2J_horizon.png
135
+ docs/src/BFOvarT.png
136
+ docs/src/Contributors.rst
137
+ docs/src/ReleaseNotes.md
138
+ docs/src/SrMnO3_DOS.png
139
+ docs/src/abacus.md
140
+ docs/src/applications.rst
141
+ docs/src/convention.rst
142
+ docs/src/development.md
143
+ docs/src/downfold.md
144
+ docs/src/ecosystem.md
145
+ docs/src/eigen.rst
146
+ docs/src/extend.rst
147
+ docs/src/faq.rst
148
+ docs/src/install.rst
149
+ docs/src/mae.md
150
+ docs/src/magnon_band.rst
151
+ docs/src/magnon_bands.md
152
+ docs/src/multibinit.rst
153
+ docs/src/openmx.rst
154
+ docs/src/orbital_contribution.md
155
+ docs/src/output.rst
156
+ docs/src/parameters.rst
157
+ docs/src/references.rst
158
+ docs/src/roadmap.md
159
+ docs/src/rotate_and_merge.rst
160
+ docs/src/siesta.rst
161
+ docs/src/symmetry.md
162
+ docs/src/tutorial.rst
163
+ docs/src/wannier.rst
164
+ docs/src/magnon_band.assets/exchange_magnon-1593690872101.png
165
+ docs/src/magnon_band.assets/exchange_magnon.png
166
+ docs/src/magnon_band.assets/magnon_dos.png
167
+ docs/src/spin_model_assets/canting_DMI.png
168
+ docs/src/spin_model_assets/tmulti5_2.png
169
+ examples/Siesta/BccFe/Fe.1.psml
170
+ examples/Siesta/BccFe/getJ.sh
171
+ examples/Siesta/BccFe/run.sh
172
+ examples/Siesta/BccFe/siesta.fdf
173
+ examples/Siesta/BccFe/TB2J_results/EigenJq.txt
174
+ examples/Siesta/BccFe/TB2J_results/TB2J.pickle
175
+ examples/Siesta/BccFe/TB2J_results/exchange.out
176
+ examples/Siesta/BccFe/TB2J_results/Multibinit/exchange.xml
177
+ examples/Siesta/BccFe/TB2J_results/Multibinit/exchange_kpth.txt
178
+ examples/Siesta/BccFe/TB2J_results/Multibinit/exchange_magnon.png
179
+ examples/Siesta/BccFe/TB2J_results/Multibinit/magnon.py
180
+ examples/Siesta/BccFe/TB2J_results/Multibinit/magnon_band.json
181
+ examples/Siesta/BccFe/TB2J_results/Multibinit/magnon_band.pdf
182
+ examples/Siesta/BccFe/TB2J_results/Multibinit/magnon_dos.png
183
+ examples/Siesta/BccFe/TB2J_results/Multibinit/magnon_dos.txt
184
+ examples/Siesta/BccFe/TB2J_results/Multibinit/mb.files
185
+ examples/Siesta/BccFe/TB2J_results/Multibinit/mb.in
186
+ examples/Siesta/BccFe/TB2J_results/Multibinit/plot.sh
187
+ examples/Siesta/BccFe/TB2J_results/Multibinit/plot_magnon_dos.sh
188
+ examples/Siesta/BccFe/TB2J_results/Multibinit/plot_magnon_from_json_file.py
189
+ examples/Siesta/BccFe/TB2J_results/TomASD/exchange.exch
190
+ examples/Siesta/BccFe/TB2J_results/TomASD/exchange.ucf
191
+ examples/Siesta/HcpCo/Co.1.psml
192
+ examples/Siesta/HcpCo/getJ.sh
193
+ examples/Siesta/HcpCo/run.sh
194
+ examples/Siesta/HcpCo/siesta.fdf
195
+ examples/Siesta/HcpCo/TB2J_results/TB2J.pickle
196
+ examples/Siesta/HcpCo/TB2J_results/exchange.out
197
+ examples/Siesta/HcpCo/TB2J_results/summary.txt
198
+ examples/Siesta/HcpCo/TB2J_results/Multibinit/exchange.xml
199
+ examples/Siesta/HcpCo/TB2J_results/Multibinit/mb.files
200
+ examples/Siesta/HcpCo/TB2J_results/Multibinit/mb.in
201
+ examples/Siesta/HcpCo/TB2J_results/TomASD/exchange.exch
202
+ examples/Siesta/HcpCo/TB2J_results/TomASD/exchange.ucf
203
+ examples/Siesta/HcpCo/TB2J_results/Vampire/input
204
+ examples/Siesta/HcpCo/TB2J_results/Vampire/vampire.UCF
205
+ examples/Siesta/HcpCo/TB2J_results/Vampire/vampire.mat
206
+ examples/abinit-w90/SrMnO3/abinit.files
207
+ examples/abinit-w90/SrMnO3/abinit.in
208
+ examples/abinit-w90/SrMnO3/abinito_w90_down.win
209
+ examples/abinit-w90/SrMnO3/abinito_w90_down_centres.xyz
210
+ examples/abinit-w90/SrMnO3/abinito_w90_down_hr.dat
211
+ examples/abinit-w90/SrMnO3/abinito_w90_up.win
212
+ examples/abinit-w90/SrMnO3/abinito_w90_up_centres.xyz
213
+ examples/abinit-w90/SrMnO3/abinito_w90_up_hr.dat
214
+ examples/abinit-w90/SrMnO3/get_J.sh
215
+ examples/abinit-w90/SrMnO3/run.sh
216
+ examples/abinit-w90/SrMnO3/TB2J_results/JvsR.pdf
217
+ examples/abinit-w90/SrMnO3/TB2J_results/TB2J.pickle
218
+ examples/abinit-w90/SrMnO3/TB2J_results/assigned_basis.txt
219
+ examples/abinit-w90/SrMnO3/TB2J_results/exchange.out
220
+ examples/abinit-w90/SrMnO3/TB2J_results/exchange_orb_decomposition.out
221
+ examples/abinit-w90/SrMnO3/TB2J_results/Multibinit/exchange.xml
222
+ examples/abinit-w90/SrMnO3/TB2J_results/Multibinit/mb.files
223
+ examples/abinit-w90/SrMnO3/TB2J_results/Multibinit/mb.in
224
+ examples/abinit-w90/SrMnO3/TB2J_results/TomASD/exchange.exch
225
+ examples/abinit-w90/SrMnO3/TB2J_results/TomASD/exchange.ucf
226
+ examples/abinit-w90/SrMnO3/TB2J_results/Vampire/input
227
+ examples/abinit-w90/SrMnO3/TB2J_results/Vampire/vampire.UCF
228
+ examples/abinit-w90/SrMnO3/TB2J_results/Vampire/vampire.mat
229
+ examples/abinit-w90/SrMnO3/psp/Mn.GGA-PBESOL-JTH.xml
230
+ examples/abinit-w90/SrMnO3/psp/O.GGA-PBESOL-JTH.xml
231
+ examples/abinit-w90/SrMnO3/psp/Sr.GGA-PBESOL-JTH.xml
@@ -0,0 +1,16 @@
1
+ [console_scripts]
2
+ TB2J_downfold.py = TB2J.scripts.TB2J_downfold:main
3
+ TB2J_eigen.py = TB2J.scripts.TB2J_eigen:main
4
+ TB2J_magnon.py = TB2J.scripts.TB2J_magnon:main
5
+ TB2J_magnon2.py = TB2J.scripts.TB2J_magnon2:main
6
+ TB2J_magnon_dos.py = TB2J.scripts.TB2J_magnon_dos:main
7
+ TB2J_merge.py = TB2J.scripts.TB2J_merge:main
8
+ TB2J_plot_magnon_bands.py = TB2J.scripts.TB2J_plot_magnon_bands:main
9
+ TB2J_plot_magnon_dos.py = TB2J.magnon.plot_magnon_dos_cli:main
10
+ TB2J_rotate.py = TB2J.scripts.TB2J_rotate:main
11
+ TB2J_rotateDM.py = TB2J.scripts.TB2J_rotateDM:main
12
+ TB2J_symmetrize.py = TB2J.symmetrize_J:symmetrize_J_cli
13
+ abacus2J.py = TB2J.scripts.abacus2J:run_abacus2J
14
+ lawaf2J.py = TB2J.interfaces.lawaf_interface:lawaf2J_cli
15
+ siesta2J.py = TB2J.scripts.siesta2J:run_siesta2J
16
+ wann2J.py = TB2J.scripts.wann2J:run_wann2J
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/env sh
2
+ if ! [ -x "$(command -v docker)" ]; then
3
+ cat << ENDOFOUTPUT
4
+ You need to install docker ( https://www.docker.com/ ) to build a docker image'
5
+
6
+ On a Ubuntu 20.04 the commands below are the best way to do it.
7
+ There are methods that are a lot easier, but this is the best:
8
+
9
+ #As root run (replace YOURUSERNAME by your username):
10
+
11
+ apt-get -y install apt-transport-https ca-certificates curl software-properties-common && \\
12
+ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && apt-key fingerprint 0EBFCD88 && \\
13
+ add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" && \\
14
+ apt-get update && apt-get -y install docker-ce && usermod -G docker -a YOURUSERNAME && \\
15
+ echo '{ "storage-driver": "overlay2" }' > /etc/docker/daemon.json && \\
16
+ apt-get -y install docker-compose docker-ce-cli containerd.io
17
+ ENDOFOUTPUT
18
+ exit 1
19
+ fi
20
+ if [ ! -z $1 ] && [ $1 = "build" ] ; then
21
+ cat << ENDOFDOCKERFILE > Dockerfile
22
+ FROM python:3
23
+ RUN pip3 install TB2J
24
+ WORKDIR /root
25
+ ENDOFDOCKERFILE
26
+ if [ ! -z $2 ] && [ $2 = "withrepo" ] ; then
27
+ cat << ENDOFDOCKERFILE >> Dockerfile
28
+ RUN git clone https://github.com/mailhexu/TB2J
29
+ ENDOFDOCKERFILE
30
+ fi
31
+ $(command -v docker) build -t tb2j .
32
+ rm Dockerfile
33
+ elif [ ! -z $1 ] && [ $1 = "run" ] ; then
34
+ $(command -v docker) run -it --name tb2j tb2j /bin/bash
35
+ elif [ ! -z $1 ] && [ $1 = "rm" ] ; then
36
+ $(command -v docker) rm tb2j
37
+ elif [ ! -z $1 ] && [ $1 = "rmi" ] ; then
38
+ $(command -v docker) rmi tb2j
39
+ else
40
+ cat << ENDOFOUTPUT
41
+ $0 build -> Build the 'tb2j' dockerimage
42
+ $0 build withrepo -> Also include the git repo in the image (contains examples)
43
+ $0 run -> Run bash in a new container based on this image
44
+ $0 test -> Runs 'TB2J/examples/abinit-w90/SrMnO3/get_J.sh' as test.
45
+ (This only works when the image is build with 'withrepo')
46
+ $0 rm -> Remove the container after stopping it
47
+ $0 rmi -> Remove the image
48
+
49
+ I suggest to only build with this script and do the running/removing manually
50
+ ENDOFOUTPUT
51
+ fi