TB2J 0.9.9.2__tar.gz → 0.9.9.3__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 (103) hide show
  1. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/PKG-INFO +2 -2
  2. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/exchange_params.py +6 -1
  3. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/io_exchange/io_exchange.py +2 -5
  4. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J.egg-info/PKG-INFO +2 -2
  5. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J.egg-info/requires.txt +1 -1
  6. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/scripts/abacus2J.py +6 -2
  7. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/scripts/siesta2J.py +5 -1
  8. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/scripts/wann2J.py +6 -2
  9. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/setup.py +3 -3
  10. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/LICENSE +0 -0
  11. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/README.md +0 -0
  12. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/Jdownfolder.py +0 -0
  13. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/Jtensor.py +0 -0
  14. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/MAE.py +0 -0
  15. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/MAEGreen.py +0 -0
  16. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/Oiju.py +0 -0
  17. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/Oiju_epc.py +0 -0
  18. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/__init__.py +0 -0
  19. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/anisotropy.py +0 -0
  20. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/basis.py +0 -0
  21. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/citation.py +0 -0
  22. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/contour.py +0 -0
  23. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/density_matrix.py +0 -0
  24. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/epc.py +0 -0
  25. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/exchange.py +0 -0
  26. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/exchangeCL2.py +0 -0
  27. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/exchange_pert.py +0 -0
  28. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/exchange_qspace.py +0 -0
  29. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/external/__init__.py +0 -0
  30. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/external/p_tqdm.py +0 -0
  31. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/gpaw_wrapper.py +0 -0
  32. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/green.py +0 -0
  33. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/greentest.py +0 -0
  34. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/interfaces/__init__.py +0 -0
  35. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/interfaces/abacus/__init__.py +0 -0
  36. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/interfaces/abacus/abacus_api.py +0 -0
  37. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/interfaces/abacus/abacus_wrapper.py +0 -0
  38. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/interfaces/abacus/gen_exchange_abacus.py +0 -0
  39. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/interfaces/abacus/orbital_api.py +0 -0
  40. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/interfaces/abacus/stru_api.py +0 -0
  41. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/interfaces/abacus/test_density_matrix.py +0 -0
  42. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/interfaces/abacus/test_read_HRSR.py +0 -0
  43. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/interfaces/abacus/test_read_stru.py +0 -0
  44. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/interfaces/gpaw_interface.py +0 -0
  45. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/interfaces/lawaf_interface.py +0 -0
  46. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/interfaces/manager.py +0 -0
  47. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/interfaces/siesta_interface.py +0 -0
  48. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/interfaces/wannier90_interface.py +0 -0
  49. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/io_exchange/__init__.py +0 -0
  50. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/io_exchange/io_multibinit.py +0 -0
  51. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/io_exchange/io_tomsasd.py +0 -0
  52. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/io_exchange/io_txt.py +0 -0
  53. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/io_exchange/io_uppasd.py +0 -0
  54. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/io_exchange/io_vampire.py +0 -0
  55. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/io_merge.py +0 -0
  56. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/kpoints.py +0 -0
  57. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/mathutils/__init__.py +0 -0
  58. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/mathutils/fermi.py +0 -0
  59. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/mathutils/fibonacci_sphere.py +0 -0
  60. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/mathutils/kR_convert.py +0 -0
  61. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/mathutils/lowdin.py +0 -0
  62. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/mathutils/rotate_spin.py +0 -0
  63. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/myTB.py +0 -0
  64. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/mycfr.py +0 -0
  65. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/orbital_magmom.py +0 -0
  66. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/orbmap.py +0 -0
  67. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/pauli.py +0 -0
  68. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/pert.py +0 -0
  69. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/plot.py +0 -0
  70. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/rotate_atoms.py +0 -0
  71. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/rotate_siestaDM.py +0 -0
  72. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/sisl_wrapper.py +0 -0
  73. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/spinham/__init__.py +0 -0
  74. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/spinham/base_parser.py +0 -0
  75. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/spinham/constants.py +0 -0
  76. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/spinham/hamiltonian.py +0 -0
  77. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/spinham/hamiltonian_terms.py +0 -0
  78. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/spinham/plot.py +0 -0
  79. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/spinham/qsolver.py +0 -0
  80. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/spinham/spin_api.py +0 -0
  81. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/spinham/spin_xml.py +0 -0
  82. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/spinham/supercell.py +0 -0
  83. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/symmetrize_J.py +0 -0
  84. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/tensor_rotate.py +0 -0
  85. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/thetaphi.py +0 -0
  86. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/utest.py +0 -0
  87. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/utils.py +0 -0
  88. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/versioninfo.py +0 -0
  89. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/wannier/__init__.py +0 -0
  90. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/wannier/w90_parser.py +0 -0
  91. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J/wannier/w90_tb_parser.py +0 -0
  92. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J.egg-info/SOURCES.txt +0 -0
  93. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J.egg-info/dependency_links.txt +0 -0
  94. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J.egg-info/entry_points.txt +0 -0
  95. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/TB2J.egg-info/top_level.txt +0 -0
  96. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/scripts/TB2J_downfold.py +0 -0
  97. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/scripts/TB2J_eigen.py +0 -0
  98. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/scripts/TB2J_magnon.py +0 -0
  99. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/scripts/TB2J_magnon_dos.py +0 -0
  100. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/scripts/TB2J_merge.py +0 -0
  101. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/scripts/TB2J_rotate.py +0 -0
  102. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/scripts/TB2J_rotateDM.py +0 -0
  103. {tb2j-0.9.9.2 → tb2j-0.9.9.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: TB2J
3
- Version: 0.9.9.2
3
+ Version: 0.9.9.3
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.10
24
+ Requires-Dist: HamiltonIO>=0.2.1
25
25
  Requires-Dist: pre-commit
26
26
  Requires-Dist: sympair>0.1.0
27
27
  Requires-Dist: sisl>=0.9.0
@@ -251,6 +251,11 @@ def add_exchange_args_to_parser(parser: argparse.ArgumentParser):
251
251
 
252
252
 
253
253
  def parser_argument_to_dict(args) -> dict:
254
+ ind_mag_atoms = args.index_magnetic_atoms
255
+ if ind_mag_atoms is not None:
256
+ ind_mag_atoms = [int(i) - 1 for i in ind_mag_atoms]
257
+ else:
258
+ ind_mag_atoms = None
254
259
  return {
255
260
  "efermi": args.efermi,
256
261
  "magnetic_elements": args.elements,
@@ -268,5 +273,5 @@ def parser_argument_to_dict(args) -> dict:
268
273
  "orb_decomposition": args.orb_decomposition,
269
274
  "output_path": args.output_path,
270
275
  "orth": args.orth,
271
- "index_magnetic_atoms": args.index_magnetic_atoms,
276
+ "index_magnetic_atoms": ind_mag_atoms,
272
277
  }
@@ -8,16 +8,13 @@ write not only xml output.
8
8
  - tom's asd inputs.
9
9
  """
10
10
 
11
+ # matplotlib.use("Agg")
12
+ import gc
11
13
  import os
12
14
  import pickle
13
15
  from collections.abc import Iterable
14
16
  from datetime import datetime
15
17
 
16
- import matplotlib
17
-
18
- matplotlib.use("Agg")
19
- import gc
20
-
21
18
  import matplotlib.pyplot as plt
22
19
  import numpy as np
23
20
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: TB2J
3
- Version: 0.9.9.2
3
+ Version: 0.9.9.3
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.10
24
+ Requires-Dist: HamiltonIO>=0.2.1
25
25
  Requires-Dist: pre-commit
26
26
  Requires-Dist: sympair>0.1.0
27
27
  Requires-Dist: sisl>=0.9.0
@@ -5,7 +5,7 @@ ase>=3.19
5
5
  tqdm
6
6
  pathos
7
7
  packaging>=20.0
8
- HamiltonIO>=0.1.10
8
+ HamiltonIO>=0.2.1
9
9
  pre-commit
10
10
  sympair>0.1.0
11
11
  sisl>=0.9.0
@@ -28,7 +28,11 @@ def run_abacus2J():
28
28
 
29
29
  args = parser.parse_args()
30
30
 
31
- if args.elements is None:
31
+ index_magnetic_atoms = args.index_magnetic_atoms
32
+ if index_magnetic_atoms is not None:
33
+ index_magnetic_atoms = [i - 1 for i in index_magnetic_atoms]
34
+
35
+ if args.elements is None and index_magnetic_atoms is None:
32
36
  print("Please input the magnetic elements, e.g. --elements Fe Ni")
33
37
  sys.exit()
34
38
 
@@ -49,7 +53,7 @@ def run_abacus2J():
49
53
  nproc=args.nproc,
50
54
  exclude_orbs=args.exclude_orbs,
51
55
  orb_decomposition=args.orb_decomposition,
52
- index_magnetic_atoms=args.index_magnetic_atoms,
56
+ index_magnetic_atoms=index_magnetic_atoms,
53
57
  cutoff=args.cutoff,
54
58
  )
55
59
 
@@ -47,6 +47,10 @@ def run_siesta2J():
47
47
  # else:
48
48
  # include_orbs[element] = None
49
49
 
50
+ index_magnetic_atoms = args.index_magnetic_atoms
51
+ if index_magnetic_atoms is not None:
52
+ index_magnetic_atoms = [i - 1 for i in index_magnetic_atoms]
53
+
50
54
  gen_exchange_siesta(
51
55
  fdf_fname=args.fdf_fname,
52
56
  kmesh=args.kmesh,
@@ -66,7 +70,7 @@ def run_siesta2J():
66
70
  orb_decomposition=args.orb_decomposition,
67
71
  read_H_soc=args.split_soc,
68
72
  orth=args.orth,
69
- index_magnetic_atoms=args.index_magnetic_atoms,
73
+ index_magnetic_atoms=index_magnetic_atoms,
70
74
  )
71
75
 
72
76
 
@@ -61,10 +61,14 @@ def run_wann2J():
61
61
  if args.efermi is None:
62
62
  print("Please input fermi energy using --efermi ")
63
63
  sys.exit()
64
- if args.elements is None:
64
+ if args.elements is None and args.index_magnetic_atoms is None:
65
65
  print("Please input the magnetic elements, e.g. --elements Fe Ni")
66
66
  sys.exit()
67
67
 
68
+ index_magnetic_atoms = args.index_magnetic_atoms
69
+ if index_magnetic_atoms is not None:
70
+ index_magnetic_atoms = [i - 1 for i in index_magnetic_atoms]
71
+
68
72
  gen_exchange(
69
73
  path=args.path,
70
74
  colinear=(not args.spinor),
@@ -89,7 +93,7 @@ def run_wann2J():
89
93
  # qspace=args.qspace,
90
94
  write_density_matrix=args.write_dm,
91
95
  orb_decomposition=args.orb_decomposition,
92
- index_magnetic_atoms=args.index_magnetic_atoms,
96
+ index_magnetic_atoms=index_magnetic_atoms,
93
97
  )
94
98
 
95
99
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  from setuptools import find_packages, setup
3
3
 
4
- __version__ = "0.9.9.2"
4
+ __version__ = "0.9.9.3"
5
5
 
6
6
  long_description = """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. """
7
7
 
@@ -40,11 +40,11 @@ setup(
40
40
  "tqdm",
41
41
  "pathos",
42
42
  "packaging>=20.0",
43
- "HamiltonIO>=0.1.10",
43
+ "HamiltonIO>=0.2.1",
44
44
  "pre-commit",
45
45
  "sympair>0.1.0",
46
46
  "sisl>=0.9.0",
47
- "netcdf4"
47
+ "netcdf4",
48
48
  ],
49
49
  classifiers=[
50
50
  "Development Status :: 3 - Alpha",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes