TB2J 0.9.9rc19__py3-none-any.whl → 0.9.9.2__py3-none-any.whl

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 (30) hide show
  1. TB2J/Jdownfolder.py +2 -3
  2. TB2J/MAEGreen.py +17 -22
  3. TB2J/__init__.py +1 -1
  4. TB2J/exchange_params.py +1 -6
  5. TB2J/interfaces/siesta_interface.py +4 -15
  6. TB2J/io_exchange/__init__.py +0 -2
  7. TB2J/io_exchange/io_exchange.py +5 -2
  8. TB2J/mathutils/__init__.py +0 -1
  9. {tb2j-0.9.9rc19.data → tb2j-0.9.9.2.data}/scripts/abacus2J.py +2 -6
  10. {tb2j-0.9.9rc19.data → tb2j-0.9.9.2.data}/scripts/siesta2J.py +1 -5
  11. {tb2j-0.9.9rc19.data → tb2j-0.9.9.2.data}/scripts/wann2J.py +2 -6
  12. {tb2j-0.9.9rc19.dist-info → tb2j-0.9.9.2.dist-info}/METADATA +3 -2
  13. {tb2j-0.9.9rc19.dist-info → tb2j-0.9.9.2.dist-info}/RECORD +24 -30
  14. TB2J/magnon/__init__.py +0 -3
  15. TB2J/magnon/io_exchange2.py +0 -688
  16. TB2J/magnon/plot.py +0 -58
  17. TB2J/magnon/structure.py +0 -348
  18. TB2J/mathutils/magnons.py +0 -45
  19. tb2j-0.9.9rc19.data/scripts/TB2J_magnon2.py +0 -78
  20. {tb2j-0.9.9rc19.data → tb2j-0.9.9.2.data}/scripts/TB2J_downfold.py +0 -0
  21. {tb2j-0.9.9rc19.data → tb2j-0.9.9.2.data}/scripts/TB2J_eigen.py +0 -0
  22. {tb2j-0.9.9rc19.data → tb2j-0.9.9.2.data}/scripts/TB2J_magnon.py +0 -0
  23. {tb2j-0.9.9rc19.data → tb2j-0.9.9.2.data}/scripts/TB2J_magnon_dos.py +0 -0
  24. {tb2j-0.9.9rc19.data → tb2j-0.9.9.2.data}/scripts/TB2J_merge.py +0 -0
  25. {tb2j-0.9.9rc19.data → tb2j-0.9.9.2.data}/scripts/TB2J_rotate.py +0 -0
  26. {tb2j-0.9.9rc19.data → tb2j-0.9.9.2.data}/scripts/TB2J_rotateDM.py +0 -0
  27. {tb2j-0.9.9rc19.dist-info → tb2j-0.9.9.2.dist-info}/WHEEL +0 -0
  28. {tb2j-0.9.9rc19.dist-info → tb2j-0.9.9.2.dist-info}/entry_points.txt +0 -0
  29. {tb2j-0.9.9rc19.dist-info → tb2j-0.9.9.2.dist-info}/licenses/LICENSE +0 -0
  30. {tb2j-0.9.9rc19.dist-info → tb2j-0.9.9.2.dist-info}/top_level.txt +0 -0
TB2J/Jdownfolder.py CHANGED
@@ -136,7 +136,7 @@ class JDownfolder_pickle:
136
136
  outpath,
137
137
  qmesh=[7, 7, 7],
138
138
  iso_only=False,
139
- method="lowdin",
139
+ method="pwf",
140
140
  **kwargs,
141
141
  ):
142
142
  self.exc = SpinIO.load_pickle(path=inpath, fname="TB2J.pickle")
@@ -146,7 +146,6 @@ class JDownfolder_pickle:
146
146
  self.ligands = ligands
147
147
  self.outpath = outpath
148
148
  self.method = method
149
- print("Using method:", self.method)
150
149
 
151
150
  # read atomic structure
152
151
  self.atoms = self.exc.atoms
@@ -177,7 +176,7 @@ class JDownfolder_pickle:
177
176
 
178
177
  def _downfold(self, **kwargs):
179
178
  JR2 = self.exc.get_full_Jtensor_for_Rlist(asr=True)
180
- if self.method.lower() == "lowdin":
179
+ if self.method == "lowdin":
181
180
  d = JDownfolder(
182
181
  JR2,
183
182
  self.exc.Rlist,
TB2J/MAEGreen.py CHANGED
@@ -1,6 +1,7 @@
1
1
  import gc
2
2
  from pathlib import Path
3
3
 
4
+ import matplotlib.pyplot as plt
4
5
  import numpy as np
5
6
  import tqdm
6
7
  from HamiltonIO.abacus.abacus_wrapper import AbacusSplitSOCParser
@@ -31,9 +32,7 @@ class MAEGreen(ExchangeNCL):
31
32
  """
32
33
  super().__init__(**kwargs)
33
34
  self.natoms = len(self.atoms)
34
- if angles is None or angles == "xyz":
35
- self.set_angles_xyz()
36
- elif angles == "axis":
35
+ if angles is None or angles == "axis":
37
36
  self.set_angles_axis()
38
37
  elif angles == "scan":
39
38
  self.set_angles_scan()
@@ -52,11 +51,6 @@ class MAEGreen(ExchangeNCL):
52
51
  self.es_atom = np.zeros((nangles, self.natoms), dtype=complex)
53
52
  self.es_atom_orb = DefaultDict(lambda: 0)
54
53
 
55
- def set_angles_xyz(self):
56
- """theta and phi are defined as the x, y, z, xy, yz, xz, xyz, x-yz, -xyz, -x-yz axis."""
57
- self.thetas = [np.pi / 2, np.pi / 2, 0.0]
58
- self.phis = [np.pi / 2, 0, 0.0]
59
-
60
54
  def set_angles_axis(self):
61
55
  """theta and phi are defined as the x, y, z, xy, yz, xz, xyz, x-yz, -xyz, -x-yz axis."""
62
56
  self.thetas = [0, np.pi / 2, np.pi / 2, np.pi / 2, np.pi, 0, np.pi / 2, 0, 0, 0]
@@ -81,6 +75,7 @@ class MAEGreen(ExchangeNCL):
81
75
  self.thetas = thetas
82
76
  self.phis = phis
83
77
  self.angle_pairs = list(zip(thetas, phis))
78
+ # remove duplicates of angles using sets.
84
79
  self.angle_pairs = list(set(self.angle_pairs))
85
80
  self.thetas, self.phis = zip(*self.angle_pairs)
86
81
 
@@ -253,11 +248,11 @@ class MAEGreen(ExchangeNCL):
253
248
  Path(output_path).mkdir(exist_ok=True)
254
249
  fname = f"{output_path}/MAE.dat"
255
250
  fname_orb = f"{output_path}/MAE_orb.dat"
256
- # fname_tensor = f"{output_path}/MAE_tensor.dat"
257
- # if figure3d is not None:
258
- # fname_fig3d = f"{output_path}/{figure3d}"
259
- # if figure_contourf is not None:
260
- # fname_figcontourf = f"{output_path}/{figure_contourf}"
251
+ fname_tensor = f"{output_path}/MAE_tensor.dat"
252
+ if figure3d is not None:
253
+ fname_fig3d = f"{output_path}/{figure3d}"
254
+ if figure_contourf is not None:
255
+ fname_figcontourf = f"{output_path}/{figure_contourf}"
261
256
 
262
257
  # ouput with eigenvalues.
263
258
  if with_eigen:
@@ -282,18 +277,18 @@ class MAEGreen(ExchangeNCL):
282
277
  f.write(f"{ea*1e3:.8f} ")
283
278
  f.write("\n")
284
279
 
285
- # self.ani = self.fit_anisotropy_tensor()
286
- # with open(fname_tensor, "w") as f:
287
- # f.write("# Anisotropy tensor in meV\n")
288
- # f.write(f"{self.ani.tensor_strings(include_isotropic=False)}\n")
280
+ self.ani = self.fit_anisotropy_tensor()
281
+ with open(fname_tensor, "w") as f:
282
+ f.write("# Anisotropy tensor in meV\n")
283
+ f.write(f"{self.ani.tensor_strings(include_isotropic=False)}\n")
289
284
 
290
- # if figure3d is not None:
291
- # self.ani.plot_3d(figname=fname_fig3d, show=False)
285
+ if figure3d is not None:
286
+ self.ani.plot_3d(figname=fname_fig3d, show=False)
292
287
 
293
- # if figure_contourf is not None:
294
- # self.ani.plot_contourf(figname=fname_figcontourf, show=False)
288
+ if figure_contourf is not None:
289
+ self.ani.plot_contourf(figname=fname_figcontourf, show=False)
295
290
 
296
- # plt.close()
291
+ plt.close()
297
292
  gc.collect()
298
293
 
299
294
  with open(fname_orb, "w") as f:
TB2J/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.9.0.1"
1
+ __version__ = "0.9.9.1"
TB2J/exchange_params.py CHANGED
@@ -251,11 +251,6 @@ 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
259
254
  return {
260
255
  "efermi": args.efermi,
261
256
  "magnetic_elements": args.elements,
@@ -273,5 +268,5 @@ def parser_argument_to_dict(args) -> dict:
273
268
  "orb_decomposition": args.orb_decomposition,
274
269
  "output_path": args.output_path,
275
270
  "orth": args.orth,
276
- "index_magnetic_atoms": ind_mag_atoms,
271
+ "index_magnetic_atoms": args.index_magnetic_atoms,
277
272
  }
@@ -4,7 +4,6 @@ import numpy as np
4
4
 
5
5
  from TB2J.exchange import ExchangeNCL
6
6
  from TB2J.exchangeCL2 import ExchangeCL2
7
- from TB2J.io_merge import merge
8
7
  from TB2J.MAEGreen import MAEGreen
9
8
 
10
9
  try:
@@ -157,7 +156,7 @@ Warning: The DMI component parallel to the spin orientation, the Jani which has
157
156
  atoms=model.atoms,
158
157
  basis=basis,
159
158
  efermi=None,
160
- angles="axis",
159
+ angles="miller",
161
160
  # magnetic_elements=magnetic_elements,
162
161
  # include_orbs=include_orbs,
163
162
  **exargs,
@@ -166,9 +165,9 @@ Warning: The DMI component parallel to the spin orientation, the Jani which has
166
165
  # phis = [0, 0, 0, 0]
167
166
  # MAE.set_angles(thetas=thetas, phis=phis)
168
167
  MAE.run(output_path=f"{output_path}_anisotropy", with_eigen=False)
169
- # print(
170
- # f"MAE calculation finished. The results are in {output_path} directory."
171
- # )
168
+ print(
169
+ f"MAE calculation finished. The results are in {output_path} directory."
170
+ )
172
171
 
173
172
  angle = {"x": (np.pi / 2, 0), "y": (np.pi / 2, np.pi / 2), "z": (0, 0)}
174
173
  for key, val in angle.items():
@@ -192,13 +191,3 @@ Warning: The DMI component parallel to the spin orientation, the Jani which has
192
191
  print(
193
192
  f"All calculation finished. The results are in {output_path_full} directory."
194
193
  )
195
-
196
- merge(
197
- "TB2J_results_x",
198
- "TB2J_results_y",
199
- "TB2J_results_z",
200
- main_path=None,
201
- save=True,
202
- write_path="TB2J_results",
203
- )
204
- print("Final TB2J_results written to TB2J_results directory.")
@@ -1,3 +1 @@
1
1
  from .io_exchange import SpinIO
2
-
3
- __all__ = ["SpinIO"]
@@ -8,13 +8,16 @@ write not only xml output.
8
8
  - tom's asd inputs.
9
9
  """
10
10
 
11
- # matplotlib.use("Agg")
12
- import gc
13
11
  import os
14
12
  import pickle
15
13
  from collections.abc import Iterable
16
14
  from datetime import datetime
17
15
 
16
+ import matplotlib
17
+
18
+ matplotlib.use("Agg")
19
+ import gc
20
+
18
21
  import matplotlib.pyplot as plt
19
22
  import numpy as np
20
23
 
@@ -1,2 +1 @@
1
1
  from .lowdin import Lowdin
2
- from .magnons import *
@@ -28,11 +28,7 @@ def run_abacus2J():
28
28
 
29
29
  args = parser.parse_args()
30
30
 
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:
31
+ if args.elements is None:
36
32
  print("Please input the magnetic elements, e.g. --elements Fe Ni")
37
33
  sys.exit()
38
34
 
@@ -53,7 +49,7 @@ def run_abacus2J():
53
49
  nproc=args.nproc,
54
50
  exclude_orbs=args.exclude_orbs,
55
51
  orb_decomposition=args.orb_decomposition,
56
- index_magnetic_atoms=index_magnetic_atoms,
52
+ index_magnetic_atoms=args.index_magnetic_atoms,
57
53
  cutoff=args.cutoff,
58
54
  )
59
55
 
@@ -47,10 +47,6 @@ 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
-
54
50
  gen_exchange_siesta(
55
51
  fdf_fname=args.fdf_fname,
56
52
  kmesh=args.kmesh,
@@ -70,7 +66,7 @@ def run_siesta2J():
70
66
  orb_decomposition=args.orb_decomposition,
71
67
  read_H_soc=args.split_soc,
72
68
  orth=args.orth,
73
- index_magnetic_atoms=index_magnetic_atoms,
69
+ index_magnetic_atoms=args.index_magnetic_atoms,
74
70
  )
75
71
 
76
72
 
@@ -61,14 +61,10 @@ 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 and args.index_magnetic_atoms is None:
64
+ if args.elements 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
-
72
68
  gen_exchange(
73
69
  path=args.path,
74
70
  colinear=(not args.spinor),
@@ -93,7 +89,7 @@ def run_wann2J():
93
89
  # qspace=args.qspace,
94
90
  write_density_matrix=args.write_dm,
95
91
  orb_decomposition=args.orb_decomposition,
96
- index_magnetic_atoms=index_magnetic_atoms,
92
+ index_magnetic_atoms=args.index_magnetic_atoms,
97
93
  )
98
94
 
99
95
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: TB2J
3
- Version: 0.9.9rc19
3
+ Version: 0.9.9.2
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,10 +21,11 @@ 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.2.1
24
+ Requires-Dist: HamiltonIO>=0.1.10
25
25
  Requires-Dist: pre-commit
26
26
  Requires-Dist: sympair>0.1.0
27
27
  Requires-Dist: sisl>=0.9.0
28
+ Requires-Dist: netcdf4
28
29
  Dynamic: author
29
30
  Dynamic: author-email
30
31
  Dynamic: classifier
@@ -1,10 +1,10 @@
1
- TB2J/Jdownfolder.py,sha256=n5BeQCYP4mD9JsAPeE1F3ZKKR3SUxADfDbaG_rzi77k,9658
1
+ TB2J/Jdownfolder.py,sha256=xs0gmcKwOA3ejXqk3JPPgnYVu8CvkK8cteuvHuu1oSk,9603
2
2
  TB2J/Jtensor.py,sha256=t6OsqrSlYW6Im4H7ykVAW8Al_pFXN4C5yj2UEsV6r7g,3181
3
3
  TB2J/MAE.py,sha256=fM8U-Dgp9HcQOEeC_kyZV1oVrygBvcux9BraUXVouvY,10994
4
- TB2J/MAEGreen.py,sha256=Iq4hlZrKEOycPvpV66_t13WIcJ1FJgBS79NleXYpFzw,15528
4
+ TB2J/MAEGreen.py,sha256=pCX12GDNaOz8XgMlui8NjAERM43Ux3HyOKfiD80czXI,15306
5
5
  TB2J/Oiju.py,sha256=cNGv8N5uH_swGq7cnAt2OyiDfqtjLlLrwseGu0E4iaM,3383
6
6
  TB2J/Oiju_epc.py,sha256=oytM3NYW7nWmklrGgNlqwIpI_JYv_hb7ZnR4o9nYNog,6809
7
- TB2J/__init__.py,sha256=hcEWkag_UvLm1ZSbjsgcTWkGVlR3Bwmzg1QYAwsvf-g,24
7
+ TB2J/__init__.py,sha256=bhvNrEcDHXt9O-K1rdRAtMHwmvdSm_-Y28VwdCZFsik,24
8
8
  TB2J/anisotropy.py,sha256=0zmvXkmDmakbBOwGYLa3IIkv5cE99SHLAQJsGoZz7JQ,25463
9
9
  TB2J/basis.py,sha256=DFo6_QUwjBwisP6zGxvoO0lpGTMDPAOkiL9giNCjOjA,1558
10
10
  TB2J/citation.py,sha256=gcQeyJZaT1Qrtsl8Y3s4neOH3-vvgmIcCvXeV2o3vj0,2891
@@ -13,7 +13,7 @@ TB2J/density_matrix.py,sha256=D5k8Oe21OCiLVORNYbo4TZOFG0slrQSbj91kJ3TMFjs,1514
13
13
  TB2J/epc.py,sha256=zLbtqZJhDr8DnnGN6YENcXwrMb3Qxu6KB08mLy9Pw20,3474
14
14
  TB2J/exchange.py,sha256=HSvB_keITEeaoNG661feoEcCwjkQlavQQiIi1ONsI3Y,27035
15
15
  TB2J/exchangeCL2.py,sha256=P7bklMXVYX_tn9DbjEPqeTir1SeZyfPBIP1fhWUzLmY,11419
16
- TB2J/exchange_params.py,sha256=d1nFBFwut9SvxUmPRzPzRxD6y0KAP2IvGoEOQ2Jec9U,8049
16
+ TB2J/exchange_params.py,sha256=eEO7DX9Hy9HiQ_ZyAvsBcc7KhB6jeKJKZzrhf74YKMk,7882
17
17
  TB2J/exchange_pert.py,sha256=jmFMtQbYa_uczM4VAeS6TijkIHRFIqEzZJswzE9Wfuo,8523
18
18
  TB2J/exchange_qspace.py,sha256=ZL68qBGFUaQ9BsSPsJaaoWOr9RssPiqX34R_9I3nk_8,8436
19
19
  TB2J/gpaw_wrapper.py,sha256=aJ--9Dtyq7jOP1Hkh-Sh1nWcfXm6zKcljOCO0DNCAr0,6890
@@ -43,7 +43,7 @@ TB2J/interfaces/__init__.py,sha256=4tiLoXQ73Nlyi9L4j8jJXOYzXluVNPxQZkwfkQZEGHg,3
43
43
  TB2J/interfaces/gpaw_interface.py,sha256=GCDlJ-hRWfChvWwsgBDYSmVqO4sH9HAuGZTV9GqgN6c,1504
44
44
  TB2J/interfaces/lawaf_interface.py,sha256=PieLnmppdafOYsgeHznqOou1g9L1sam5jOm3KaObdqo,4408
45
45
  TB2J/interfaces/manager.py,sha256=PQMLEfMCT5GnDWSl2nI4JOgRPm_fysyR-6Y6l97xWcw,860
46
- TB2J/interfaces/siesta_interface.py,sha256=nCrVWKXua-QzikSPhrvdFVw3OpjeKYPzLzMa7Hqc6Yc,7714
46
+ TB2J/interfaces/siesta_interface.py,sha256=olvo2xdBOSNk3zn67nuKrxbW--EKPoWwEzKRBwJbrVY,7366
47
47
  TB2J/interfaces/wannier90_interface.py,sha256=qzRgXUBb7t1Aiegrl_RV51BB8csdtVM0EP0Z4pjmTcs,4467
48
48
  TB2J/interfaces/abacus/__init__.py,sha256=leas71oCvM_HxrF4gnO5A_VKcJmDAgsI1BUctLU3OBw,177
49
49
  TB2J/interfaces/abacus/abacus_api.py,sha256=lNV4LNkLcKw7Zux4MQYM9wnh3eFTlcSqbf4Pb7pqhrk,7243
@@ -54,23 +54,18 @@ TB2J/interfaces/abacus/stru_api.py,sha256=Ac03ikHRsZRXqTul4IUge7D2iG_xLh4_oyYfeP
54
54
  TB2J/interfaces/abacus/test_density_matrix.py,sha256=bMWWJYtDS57SpPZ-eZXZ9Hr_UK4mv8ZHM7SzItG3IVA,774
55
55
  TB2J/interfaces/abacus/test_read_HRSR.py,sha256=W1oO_yigT50Yb5_u-KB_IfTpM7kArGkBuMSMs0H4CTs,1235
56
56
  TB2J/interfaces/abacus/test_read_stru.py,sha256=hoKPHVco8vwzC7Gao4bOPCdAPhh29x-9DTJJqRr7AYM,788
57
- TB2J/io_exchange/__init__.py,sha256=LqEnG67qDVKt4hCUywDEQvUIJ7jsQjmtueOW_J16NOE,54
58
- TB2J/io_exchange/io_exchange.py,sha256=6fefcfYAyRojkCJA5bFwAa2Hjwx6epysfyX8Snj9DWc,20102
57
+ TB2J/io_exchange/__init__.py,sha256=KfGHum7B8E4G_KKfillqw0lErtoyKEuFUUttHLs-mg4,32
58
+ TB2J/io_exchange/io_exchange.py,sha256=gaT0fXD3EzPsMgE_VX9gvcf7nEGY3KVYN8xxTAPzxc0,20120
59
59
  TB2J/io_exchange/io_multibinit.py,sha256=8PDmWxzGuv-GwJosj2ZTmiyNY_duFVWJ4ekCuSqGdd8,6739
60
60
  TB2J/io_exchange/io_tomsasd.py,sha256=NqkAC1Fl-CUnFA21eBzSy_S5F_oeQFJysw4UukQbN8o,4173
61
61
  TB2J/io_exchange/io_txt.py,sha256=BMr1eSILlKpgtjvDx7uw2VMAkEKSvGEPNxpaT_zev0I,10547
62
62
  TB2J/io_exchange/io_uppasd.py,sha256=bI4iPEgnK4TvCZNvb6x2xYXgjW7pEehCqmcizy2pqFU,3301
63
63
  TB2J/io_exchange/io_vampire.py,sha256=UllC4twf06_q2vBCnAYFzEDGvS8mSefwQXDquBuyc0M,5583
64
- TB2J/magnon/__init__.py,sha256=jdUFkOlhrpHRmKavAXVcFdZgtY7lKZVzMPFlLmmCErM,113
65
- TB2J/magnon/io_exchange2.py,sha256=vKKQXhPSvoeKNIc0Kh0GaTFph36jSW0Z46nAAbSEcAg,22993
66
- TB2J/magnon/plot.py,sha256=kwq9LL0FRVo-SLYNkE-ghlyjz8DZD-c4LAWg8si5GJo,1674
67
- TB2J/magnon/structure.py,sha256=rKefzXgQlEjVvV-A7E2IogVDWwf5egZr3Wxxu6HuJU4,7685
68
- TB2J/mathutils/__init__.py,sha256=u3QCXBUmKOtJc5PWMFS65e1WhP43UpSf48S7aJZCohc,50
64
+ TB2J/mathutils/__init__.py,sha256=tQLBfHkZqdVfVxPOahy42qMUkFYnFFFhM-uc4QsYFxI,27
69
65
  TB2J/mathutils/fermi.py,sha256=72tZ5CptGmYaBUD0xLWltuH7LBXcrMUwODyW6-WqlzI,638
70
66
  TB2J/mathutils/fibonacci_sphere.py,sha256=l0USn25ZCAWF6l4UleyWaeLthsj9TThV9iWmfi6DbaM,2344
71
67
  TB2J/mathutils/kR_convert.py,sha256=p_9XWJVNanTzTK2rI6KRjTkbSq42la6N448-zJOsMwY,2671
72
68
  TB2J/mathutils/lowdin.py,sha256=RYbm9OcnFnjcZFdC5YcNUsI9cOJmoDLsWSSCaP0GqKQ,499
73
- TB2J/mathutils/magnons.py,sha256=o9O7OR39RK1cl46MtiUO9Kd1IZYDOR3ANe82FZ7laY8,1085
74
69
  TB2J/mathutils/rotate_spin.py,sha256=lbGzve_36FyNjanXqdxYDb102kA4_5OycRlBcm-tH-g,8360
75
70
  TB2J/spinham/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
71
  TB2J/spinham/base_parser.py,sha256=oQRHvFE_BlUtTaTZykKgvicu40oXcbICB-D1aAt-qlA,2196
@@ -85,20 +80,19 @@ TB2J/spinham/supercell.py,sha256=y17uUC6r3gQb278FhxIW4CABihfLTvKFj6flyXrCPR8,122
85
80
  TB2J/wannier/__init__.py,sha256=7ojCbM84PYv1X1Tbo4NHI-d3gWmQsZB_xiYqbfxVV1E,80
86
81
  TB2J/wannier/w90_parser.py,sha256=dbd63LuKyv2DVUzqRINGsbDzEsOxsQyE8_Ear_LQIRg,4620
87
82
  TB2J/wannier/w90_tb_parser.py,sha256=qt8pnuprmPp9iIAYwPkPbmEzk6ZPgMq2xognoQp7vwc,4610
88
- tb2j-0.9.9rc19.data/scripts/TB2J_downfold.py,sha256=i4BVqnpDdgrX_amookVWeLGefGBn-qeAutWiwuY9SfQ,2099
89
- tb2j-0.9.9rc19.data/scripts/TB2J_eigen.py,sha256=Qs9v2hnMm2Tpfoa4h53muUKty2dZjwx8948MBoQooNg,1128
90
- tb2j-0.9.9rc19.data/scripts/TB2J_magnon.py,sha256=q7UwAmorRcFNk4tfE7gl_ny05l6p7pbD9Wm_LkIpKEw,3101
91
- tb2j-0.9.9rc19.data/scripts/TB2J_magnon2.py,sha256=tMa7Fg_Wd2UytnrH3C_AsgGM7BciUW0iy6NiPlWvar8,1920
92
- tb2j-0.9.9rc19.data/scripts/TB2J_magnon_dos.py,sha256=TMXQvD2dIbO5FZ4tUMmxJgCgH2O2hDAPUNfEKO4z-x4,110
93
- tb2j-0.9.9rc19.data/scripts/TB2J_merge.py,sha256=y834SF4rIRn1L1ptkhczvavQpC-8Px6DTmDOOSaq_DE,1854
94
- tb2j-0.9.9rc19.data/scripts/TB2J_rotate.py,sha256=zgiDFuYZNmzKK0rwDmTaYD2OpRlmKA_VGeBx83w2Xwc,873
95
- tb2j-0.9.9rc19.data/scripts/TB2J_rotateDM.py,sha256=kCvF7gotuqAX1VnJ06cwfVm7RrhrdtiV5v7d9P2Pn_E,567
96
- tb2j-0.9.9rc19.data/scripts/abacus2J.py,sha256=VD1ldQP-PIMyxo3Rzzwk_06fJEbbU7oiU3aRXNHK0a0,1826
97
- tb2j-0.9.9rc19.data/scripts/siesta2J.py,sha256=QJ6c0DbqxaqYEesxiL5R9nK9-flNLrr7hajKfCwirYc,2318
98
- tb2j-0.9.9rc19.data/scripts/wann2J.py,sha256=OA31VHEXbQMD-JozoLUHDF6vB9Sr62d804OApSKtSnU,3240
99
- tb2j-0.9.9rc19.dist-info/licenses/LICENSE,sha256=CbZI-jyRTjiqIcWa244cRSHJdjjtUNqGR4HeJkgEwJw,1332
100
- tb2j-0.9.9rc19.dist-info/METADATA,sha256=cKF5H3b2POxn0y0dHZYy5LhgcoCB2AyMagGuZTNy7wU,1688
101
- tb2j-0.9.9rc19.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
102
- tb2j-0.9.9rc19.dist-info/entry_points.txt,sha256=Hdz1WC9waUzyFVmowKnbbZ6j-J4adHh_Ko6JpxGYAtE,131
103
- tb2j-0.9.9rc19.dist-info/top_level.txt,sha256=whYa5ByLYhl5XnTPBHSWr-IGD6VWmr5Ql2bye2qwV_s,5
104
- tb2j-0.9.9rc19.dist-info/RECORD,,
83
+ tb2j-0.9.9.2.data/scripts/TB2J_downfold.py,sha256=i4BVqnpDdgrX_amookVWeLGefGBn-qeAutWiwuY9SfQ,2099
84
+ tb2j-0.9.9.2.data/scripts/TB2J_eigen.py,sha256=Qs9v2hnMm2Tpfoa4h53muUKty2dZjwx8948MBoQooNg,1128
85
+ tb2j-0.9.9.2.data/scripts/TB2J_magnon.py,sha256=q7UwAmorRcFNk4tfE7gl_ny05l6p7pbD9Wm_LkIpKEw,3101
86
+ tb2j-0.9.9.2.data/scripts/TB2J_magnon_dos.py,sha256=TMXQvD2dIbO5FZ4tUMmxJgCgH2O2hDAPUNfEKO4z-x4,110
87
+ tb2j-0.9.9.2.data/scripts/TB2J_merge.py,sha256=y834SF4rIRn1L1ptkhczvavQpC-8Px6DTmDOOSaq_DE,1854
88
+ tb2j-0.9.9.2.data/scripts/TB2J_rotate.py,sha256=zgiDFuYZNmzKK0rwDmTaYD2OpRlmKA_VGeBx83w2Xwc,873
89
+ tb2j-0.9.9.2.data/scripts/TB2J_rotateDM.py,sha256=kCvF7gotuqAX1VnJ06cwfVm7RrhrdtiV5v7d9P2Pn_E,567
90
+ tb2j-0.9.9.2.data/scripts/abacus2J.py,sha256=r6P9upWah9Dpeqli-oLD7a1wnQc8rvHT6ed0qw4lUYE,1634
91
+ tb2j-0.9.9.2.data/scripts/siesta2J.py,sha256=Px6eB4OOa00hoCzCoXcuNGiH025udgxudkDfuzGYMRE,2159
92
+ tb2j-0.9.9.2.data/scripts/wann2J.py,sha256=Z5MSAtS5i5OrPlwDURnPr87dtYF4GbH_NixUi6WYsA8,3043
93
+ tb2j-0.9.9.2.dist-info/licenses/LICENSE,sha256=CbZI-jyRTjiqIcWa244cRSHJdjjtUNqGR4HeJkgEwJw,1332
94
+ tb2j-0.9.9.2.dist-info/METADATA,sha256=73vGG_mroA9kBIoPBSAP_fdlAj0MHP8_WXhHUOR7GQo,1710
95
+ tb2j-0.9.9.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
96
+ tb2j-0.9.9.2.dist-info/entry_points.txt,sha256=Hdz1WC9waUzyFVmowKnbbZ6j-J4adHh_Ko6JpxGYAtE,131
97
+ tb2j-0.9.9.2.dist-info/top_level.txt,sha256=whYa5ByLYhl5XnTPBHSWr-IGD6VWmr5Ql2bye2qwV_s,5
98
+ tb2j-0.9.9.2.dist-info/RECORD,,
TB2J/magnon/__init__.py DELETED
@@ -1,3 +0,0 @@
1
- from .io_exchange2 import ExchangeIO, plot_tb2j_magnon_bands
2
-
3
- __all__ = ["ExchangeIO", "plot_tb2j_magnon_bands"]