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.
Files changed (208) hide show
  1. tb2j-0.9.0.4/.github/workflows/pylint.yml.bak +23 -0
  2. tb2j-0.9.0.4/.github/workflows/python-app.yml +44 -0
  3. tb2j-0.9.0.4/.gitignore +131 -0
  4. tb2j-0.9.0.4/.pre-commit-config.yaml +6 -0
  5. tb2j-0.9.0.4/.readthedocs.yml +28 -0
  6. tb2j-0.9.0.4/.travis.yml +33 -0
  7. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/PKG-INFO +2 -1
  8. tb2j-0.9.0.4/TB2J/.gitignore +5 -0
  9. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/Jdownfolder.py +2 -2
  10. tb2j-0.9.0.4/TB2J/abacus/.gitignore +2 -0
  11. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/io_exchange/io_exchange.py +12 -0
  12. tb2j-0.9.0.4/TB2J/manager.py +456 -0
  13. tb2j-0.9.0.4/TB2J/spinham/__init__.py +0 -0
  14. tb2j-0.9.0.4/TB2J/symmetrize_J.py +121 -0
  15. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J.egg-info/PKG-INFO +2 -1
  16. tb2j-0.9.0.4/TB2J.egg-info/SOURCES.txt +205 -0
  17. tb2j-0.9.0.4/TB2J.egg-info/entry_points.txt +2 -0
  18. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J.egg-info/requires.txt +1 -0
  19. tb2j-0.9.0.4/buildimage.sh +51 -0
  20. tb2j-0.9.0.4/docs/Makefile +20 -0
  21. tb2j-0.9.0.4/docs/conf.py +61 -0
  22. tb2j-0.9.0.4/docs/index.rst +44 -0
  23. tb2j-0.9.0.4/docs/make.bat +35 -0
  24. tb2j-0.9.0.4/docs/requirements.txt +3 -0
  25. tb2j-0.9.0.4/docs/src/BFOvarT.png +0 -0
  26. tb2j-0.9.0.4/docs/src/Contributors.rst +44 -0
  27. tb2j-0.9.0.4/docs/src/ReleaseNotes.md +202 -0
  28. tb2j-0.9.0.4/docs/src/SrMnO3_DOS.png +0 -0
  29. tb2j-0.9.0.4/docs/src/abacus.md +103 -0
  30. tb2j-0.9.0.4/docs/src/applications.rst +9 -0
  31. tb2j-0.9.0.4/docs/src/convention.rst +18 -0
  32. tb2j-0.9.0.4/docs/src/development.md +22 -0
  33. tb2j-0.9.0.4/docs/src/downfold.md +28 -0
  34. tb2j-0.9.0.4/docs/src/ecosystem.md +51 -0
  35. tb2j-0.9.0.4/docs/src/eigen.rst +34 -0
  36. tb2j-0.9.0.4/docs/src/extend.rst +45 -0
  37. tb2j-0.9.0.4/docs/src/faq.rst +79 -0
  38. tb2j-0.9.0.4/docs/src/install.rst +86 -0
  39. tb2j-0.9.0.4/docs/src/mae.md +127 -0
  40. tb2j-0.9.0.4/docs/src/magnon_band.assets/exchange_magnon-1593690872101.png +0 -0
  41. tb2j-0.9.0.4/docs/src/magnon_band.assets/exchange_magnon.png +0 -0
  42. tb2j-0.9.0.4/docs/src/magnon_band.assets/magnon_dos.png +0 -0
  43. tb2j-0.9.0.4/docs/src/magnon_band.rst +98 -0
  44. tb2j-0.9.0.4/docs/src/multibinit.rst +89 -0
  45. tb2j-0.9.0.4/docs/src/openmx.rst +27 -0
  46. tb2j-0.9.0.4/docs/src/orbital_contribution.md +80 -0
  47. tb2j-0.9.0.4/docs/src/output.rst +52 -0
  48. tb2j-0.9.0.4/docs/src/parameters.rst +28 -0
  49. tb2j-0.9.0.4/docs/src/references.rst +36 -0
  50. tb2j-0.9.0.4/docs/src/roadmap.md +8 -0
  51. tb2j-0.9.0.4/docs/src/rotate_and_merge.rst +54 -0
  52. tb2j-0.9.0.4/docs/src/siesta.rst +38 -0
  53. tb2j-0.9.0.4/docs/src/spin_model_assets/canting_DMI.png +0 -0
  54. tb2j-0.9.0.4/docs/src/spin_model_assets/tmulti5_2.png +0 -0
  55. tb2j-0.9.0.4/docs/src/symmetry.md +42 -0
  56. tb2j-0.9.0.4/docs/src/tutorial.rst +18 -0
  57. tb2j-0.9.0.4/docs/src/wannier.rst +228 -0
  58. tb2j-0.9.0.4/examples/Siesta/BccFe/Fe.1.psml +1181 -0
  59. tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/EigenJq.txt +119 -0
  60. tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/exchange.xml +4126 -0
  61. tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/exchange_kpth.txt +8 -0
  62. tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/exchange_magnon.png +0 -0
  63. tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/magnon.py +3 -0
  64. tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/magnon_band.json +3332 -0
  65. tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/magnon_band.pdf +0 -0
  66. tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/magnon_dos.png +0 -0
  67. tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/magnon_dos.txt +302 -0
  68. tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/mb.files +3 -0
  69. tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/mb.in +33 -0
  70. tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/plot.sh +1 -0
  71. tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/plot_magnon_dos.sh +1 -0
  72. tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/Multibinit/plot_magnon_from_json_file.py +73 -0
  73. tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/TB2J.pickle +0 -0
  74. tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/TomASD/exchange.exch +1381 -0
  75. tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/TomASD/exchange.ucf +3 -0
  76. tb2j-0.9.0.4/examples/Siesta/BccFe/TB2J_results/exchange.out +3097 -0
  77. tb2j-0.9.0.4/examples/Siesta/BccFe/getJ.sh +2 -0
  78. tb2j-0.9.0.4/examples/Siesta/BccFe/run.sh +3 -0
  79. tb2j-0.9.0.4/examples/Siesta/BccFe/siesta.fdf +61 -0
  80. tb2j-0.9.0.4/examples/Siesta/HcpCo/Co.1.psml +3174 -0
  81. tb2j-0.9.0.4/examples/Siesta/HcpCo/TB2J_results/Multibinit/exchange.xml +7610 -0
  82. tb2j-0.9.0.4/examples/Siesta/HcpCo/TB2J_results/Multibinit/mb.files +3 -0
  83. tb2j-0.9.0.4/examples/Siesta/HcpCo/TB2J_results/Multibinit/mb.in +33 -0
  84. tb2j-0.9.0.4/examples/Siesta/HcpCo/TB2J_results/TB2J.pickle +0 -0
  85. tb2j-0.9.0.4/examples/Siesta/HcpCo/TB2J_results/TomASD/exchange.exch +2556 -0
  86. tb2j-0.9.0.4/examples/Siesta/HcpCo/TB2J_results/TomASD/exchange.ucf +4 -0
  87. tb2j-0.9.0.4/examples/Siesta/HcpCo/TB2J_results/Vampire/input +42 -0
  88. tb2j-0.9.0.4/examples/Siesta/HcpCo/TB2J_results/Vampire/vampire.UCF +644 -0
  89. tb2j-0.9.0.4/examples/Siesta/HcpCo/TB2J_results/Vampire/vampire.mat +24 -0
  90. tb2j-0.9.0.4/examples/Siesta/HcpCo/TB2J_results/exchange.out +5708 -0
  91. tb2j-0.9.0.4/examples/Siesta/HcpCo/TB2J_results/summary.txt +10 -0
  92. tb2j-0.9.0.4/examples/Siesta/HcpCo/getJ.sh +1 -0
  93. tb2j-0.9.0.4/examples/Siesta/HcpCo/run.sh +3 -0
  94. tb2j-0.9.0.4/examples/Siesta/HcpCo/siesta.fdf +63 -0
  95. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/JvsR.pdf +0 -0
  96. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/Multibinit/exchange.xml +533 -0
  97. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/Multibinit/mb.files +3 -0
  98. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/Multibinit/mb.in +33 -0
  99. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/TB2J.pickle +0 -0
  100. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/TomASD/exchange.exch +509 -0
  101. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/TomASD/exchange.ucf +3 -0
  102. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/Vampire/input +42 -0
  103. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/Vampire/vampire.UCF +135 -0
  104. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/Vampire/vampire.mat +13 -0
  105. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/assigned_basis.txt +14 -0
  106. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/exchange.out +406 -0
  107. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/TB2J_results/exchange_orb_decomposition.out +1274 -0
  108. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/abinit.files +8 -0
  109. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/abinit.in +83 -0
  110. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/abinito_w90_down.win +113 -0
  111. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/abinito_w90_down_centres.xyz +21 -0
  112. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/abinito_w90_down_hr.dat +24512 -0
  113. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/abinito_w90_up.win +113 -0
  114. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/abinito_w90_up_centres.xyz +21 -0
  115. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/abinito_w90_up_hr.dat +24512 -0
  116. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/get_J.sh +1 -0
  117. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/psp/Mn.GGA-PBESOL-JTH.xml +16818 -0
  118. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/psp/O.GGA-PBESOL-JTH.xml +12782 -0
  119. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/psp/Sr.GGA-PBESOL-JTH.xml +12646 -0
  120. tb2j-0.9.0.4/examples/abinit-w90/SrMnO3/run.sh +6 -0
  121. tb2j-0.9.0.4/requirements.txt +10 -0
  122. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/setup.py +7 -1
  123. tb2j-0.9.0.4/upload_to_pip.sh +4 -0
  124. TB2J-0.9.0.3/TB2J.egg-info/SOURCES.txt +0 -89
  125. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/LICENSE +0 -0
  126. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/README.md +0 -0
  127. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/Jtensor.py +0 -0
  128. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/Oiju.py +0 -0
  129. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/Oiju_epc.py +0 -0
  130. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/__init__.py +0 -0
  131. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/abacus/MAE.py +0 -0
  132. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/abacus/__init__.py +0 -0
  133. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/abacus/abacus_api.py +0 -0
  134. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/abacus/abacus_wrapper.py +0 -0
  135. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/abacus/gen_exchange_abacus.py +0 -0
  136. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/abacus/occupations.py +0 -0
  137. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/abacus/orbital_api.py +0 -0
  138. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/abacus/stru_api.py +0 -0
  139. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/abacus/test_density_matrix.py +0 -0
  140. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/abacus/test_read_HRSR.py +0 -0
  141. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/abacus/test_read_stru.py +0 -0
  142. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/basis.py +0 -0
  143. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/citation.py +0 -0
  144. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/contour.py +0 -0
  145. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/density_matrix.py +0 -0
  146. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/epc.py +0 -0
  147. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/exchange.py +0 -0
  148. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/exchangeCL2.py +0 -0
  149. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/exchange_pert.py +0 -0
  150. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/exchange_qspace.py +0 -0
  151. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/external/__init__.py +0 -0
  152. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/external/p_tqdm.py +0 -0
  153. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/gpaw_wrapper.py +0 -0
  154. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/green.py +0 -0
  155. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/greentest.py +0 -0
  156. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/io_exchange/__init__.py +0 -0
  157. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/io_exchange/io_multibinit.py +0 -0
  158. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/io_exchange/io_tomsasd.py +0 -0
  159. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/io_exchange/io_txt.py +0 -0
  160. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/io_exchange/io_uppasd.py +0 -0
  161. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/io_exchange/io_vampire.py +0 -0
  162. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/io_merge.py +0 -0
  163. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/kpoints.py +0 -0
  164. {TB2J-0.9.0.3/TB2J/spinham → tb2j-0.9.0.4/TB2J/lawaf}/__init__.py +0 -0
  165. /TB2J-0.9.0.3/TB2J/manager.py → /tb2j-0.9.0.4/TB2J/lawaf/lawaf_interface.py +0 -0
  166. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/mathutils/__init__.py +0 -0
  167. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/mathutils/fermi.py +0 -0
  168. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/mathutils/kR_convert.py +0 -0
  169. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/mathutils/lowdin.py +0 -0
  170. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/mathutils/rotate_spin.py +0 -0
  171. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/mathutils.py +0 -0
  172. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/myTB.py +0 -0
  173. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/orbmap.py +0 -0
  174. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/pauli.py +0 -0
  175. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/pert.py +0 -0
  176. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/plot.py +0 -0
  177. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/rotate_atoms.py +0 -0
  178. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/rotate_siestaDM.py +0 -0
  179. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/sisl_wrapper.py +0 -0
  180. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/spinham/base_parser.py +0 -0
  181. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/spinham/constants.py +0 -0
  182. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/spinham/hamiltonian.py +0 -0
  183. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/spinham/hamiltonian_terms.py +0 -0
  184. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/spinham/plot.py +0 -0
  185. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/spinham/qsolver.py +0 -0
  186. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/spinham/spin_api.py +0 -0
  187. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/spinham/spin_xml.py +0 -0
  188. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/spinham/supercell.py +0 -0
  189. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/tensor_rotate.py +0 -0
  190. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/utest.py +0 -0
  191. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/utils.py +0 -0
  192. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/versioninfo.py +0 -0
  193. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/wannier/__init__.py +0 -0
  194. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/wannier/w90_parser.py +0 -0
  195. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J/wannier/w90_tb_parser.py +0 -0
  196. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J.egg-info/dependency_links.txt +0 -0
  197. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/TB2J.egg-info/top_level.txt +0 -0
  198. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/scripts/TB2J_downfold.py +0 -0
  199. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/scripts/TB2J_eigen.py +0 -0
  200. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/scripts/TB2J_magnon.py +0 -0
  201. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/scripts/TB2J_magnon_dos.py +0 -0
  202. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/scripts/TB2J_merge.py +0 -0
  203. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/scripts/TB2J_rotate.py +0 -0
  204. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/scripts/TB2J_rotateDM.py +0 -0
  205. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/scripts/abacus2J.py +0 -0
  206. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/scripts/siesta2J.py +0 -0
  207. {TB2J-0.9.0.3 → tb2j-0.9.0.4}/scripts/wann2J.py +0 -0
  208. {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
@@ -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,6 @@
1
+ repos:
2
+ - repo: https://github.com/ambv/black
3
+ rev: 23.9.1
4
+ hooks:
5
+ - id: black
6
+ language_version: python3
@@ -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,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
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.
@@ -0,0 +1,5 @@
1
+ *.o
2
+ *.x
3
+ *.mod
4
+ exchanges.sublime-project
5
+ exchanges.sublime-workspace
@@ -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="pwf",
137
+ method="lowdin",
138
138
  **kwargs
139
139
  ):
140
140
  self.exc = SpinIO.load_pickle(path=inpath, fname="TB2J.pickle")
@@ -0,0 +1,2 @@
1
+ TB2J_results/
2
+ *.png
@@ -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)