TB2J 0.9.9rc12__py3-none-any.whl → 0.9.9rc16__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.
- TB2J/exchange_params.py +6 -1
- TB2J/io_exchange/io_exchange.py +2 -5
- TB2J/rotate_atoms.py +3 -3
- {tb2j-0.9.9rc12.data → tb2j-0.9.9rc16.data}/scripts/abacus2J.py +6 -2
- {tb2j-0.9.9rc12.data → tb2j-0.9.9rc16.data}/scripts/siesta2J.py +5 -1
- {tb2j-0.9.9rc12.data → tb2j-0.9.9rc16.data}/scripts/wann2J.py +6 -2
- {tb2j-0.9.9rc12.dist-info → tb2j-0.9.9rc16.dist-info}/METADATA +2 -2
- {tb2j-0.9.9rc12.dist-info → tb2j-0.9.9rc16.dist-info}/RECORD +19 -19
- {tb2j-0.9.9rc12.dist-info → tb2j-0.9.9rc16.dist-info}/WHEEL +1 -1
- {tb2j-0.9.9rc12.data → tb2j-0.9.9rc16.data}/scripts/TB2J_downfold.py +0 -0
- {tb2j-0.9.9rc12.data → tb2j-0.9.9rc16.data}/scripts/TB2J_eigen.py +0 -0
- {tb2j-0.9.9rc12.data → tb2j-0.9.9rc16.data}/scripts/TB2J_magnon.py +0 -0
- {tb2j-0.9.9rc12.data → tb2j-0.9.9rc16.data}/scripts/TB2J_magnon_dos.py +0 -0
- {tb2j-0.9.9rc12.data → tb2j-0.9.9rc16.data}/scripts/TB2J_merge.py +0 -0
- {tb2j-0.9.9rc12.data → tb2j-0.9.9rc16.data}/scripts/TB2J_rotate.py +0 -0
- {tb2j-0.9.9rc12.data → tb2j-0.9.9rc16.data}/scripts/TB2J_rotateDM.py +0 -0
- {tb2j-0.9.9rc12.dist-info → tb2j-0.9.9rc16.dist-info}/entry_points.txt +0 -0
- {tb2j-0.9.9rc12.dist-info → tb2j-0.9.9rc16.dist-info}/licenses/LICENSE +0 -0
- {tb2j-0.9.9rc12.dist-info → tb2j-0.9.9rc16.dist-info}/top_level.txt +0 -0
TB2J/exchange_params.py
CHANGED
@@ -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":
|
276
|
+
"index_magnetic_atoms": ind_mag_atoms,
|
272
277
|
}
|
TB2J/io_exchange/io_exchange.py
CHANGED
@@ -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
|
|
TB2J/rotate_atoms.py
CHANGED
@@ -15,7 +15,6 @@ def rotate_atom_xyz(atoms, noncollinear=False):
|
|
15
15
|
will be generated.
|
16
16
|
"""
|
17
17
|
|
18
|
-
yield atoms
|
19
18
|
rotation_axes = [(1, 0, 0), (0, 1, 0)]
|
20
19
|
if noncollinear:
|
21
20
|
rotation_axes += [(1, 1, 0), (1, 0, 1), (0, 1, 1)]
|
@@ -24,7 +23,6 @@ def rotate_atom_xyz(atoms, noncollinear=False):
|
|
24
23
|
rotated_atoms = copy.deepcopy(atoms)
|
25
24
|
rotated_atoms.rotate(90, axis, rotate_cell=True)
|
26
25
|
yield rotated_atoms
|
27
|
-
yield atoms
|
28
26
|
|
29
27
|
|
30
28
|
def rotate_atom_spin_one_rotation(atoms, Rotation):
|
@@ -111,5 +109,7 @@ def rotate_xyz(fname, ftype="xyz", noncollinear=False):
|
|
111
109
|
rotated = rotate_atom_xyz(atoms, noncollinear=noncollinear)
|
112
110
|
|
113
111
|
for i, rotated_atoms in enumerate(rotated):
|
114
|
-
write(f"atoms_{i}.{ftype}", rotated_atoms)
|
112
|
+
write(f"atoms_{i+1}.{ftype}", rotated_atoms)
|
113
|
+
write(f"atoms_0.{ftype}", atoms)
|
114
|
+
|
115
115
|
print(f"The output has been written to the atoms_i.{ftype} files. atoms_0.{ftype} contains the reference structure.")
|
@@ -28,7 +28,11 @@ def run_abacus2J():
|
|
28
28
|
|
29
29
|
args = parser.parse_args()
|
30
30
|
|
31
|
-
|
31
|
+
index_magnetic_atoms = args.index_magnetic_atoms
|
32
|
+
if not index_magnetic_atoms is 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=
|
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=
|
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=
|
96
|
+
index_magnetic_atoms=index_magnetic_atoms,
|
93
97
|
)
|
94
98
|
|
95
99
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: TB2J
|
3
|
-
Version: 0.9.
|
3
|
+
Version: 0.9.9rc16
|
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
|
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
|
@@ -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=
|
16
|
+
TB2J/exchange_params.py,sha256=d1nFBFwut9SvxUmPRzPzRxD6y0KAP2IvGoEOQ2Jec9U,8049
|
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
|
@@ -28,7 +28,7 @@ TB2J/orbmap.py,sha256=XLQjKMxCy2eADaM5eb2F_zG08V7lzpXJxp5uEtTeVYI,7194
|
|
28
28
|
TB2J/pauli.py,sha256=ESpAhk6LG5ugzuW1YFUTqiDxcg-pQ7wNnzR2FtUnvKM,5295
|
29
29
|
TB2J/pert.py,sha256=RaCJfewl0doht4cjAnzzGKe-uj2le4aqe0iPKFrq9fo,1192
|
30
30
|
TB2J/plot.py,sha256=AnFIFWE2vlmj7Z6f_7-dX_O1stJN-qbuiurPj43dUCM,4104
|
31
|
-
TB2J/rotate_atoms.py,sha256=
|
31
|
+
TB2J/rotate_atoms.py,sha256=Dwptn-wdDW4zYzjYb95yxTzuZOe9WPuLjh3d3-YcSs0,3277
|
32
32
|
TB2J/rotate_siestaDM.py,sha256=I4ytO8uFP8_GFyBs9-zMdiMSZS3Y3lj2dSLfNBNI2ZY,1078
|
33
33
|
TB2J/sisl_wrapper.py,sha256=A5x1-tt8efUSPeGY5wM5m6-pJYQFXTCzQHVqD6RBa2g,14792
|
34
34
|
TB2J/symmetrize_J.py,sha256=IypvLL0JxExq-cmqc4o0nLL8psE7OC9ijj9YMcsqJeA,4487
|
@@ -55,7 +55,7 @@ TB2J/interfaces/abacus/test_density_matrix.py,sha256=bMWWJYtDS57SpPZ-eZXZ9Hr_UK4
|
|
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
57
|
TB2J/io_exchange/__init__.py,sha256=KfGHum7B8E4G_KKfillqw0lErtoyKEuFUUttHLs-mg4,32
|
58
|
-
TB2J/io_exchange/io_exchange.py,sha256=
|
58
|
+
TB2J/io_exchange/io_exchange.py,sha256=6fefcfYAyRojkCJA5bFwAa2Hjwx6epysfyX8Snj9DWc,20102
|
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
|
@@ -80,19 +80,19 @@ TB2J/spinham/supercell.py,sha256=y17uUC6r3gQb278FhxIW4CABihfLTvKFj6flyXrCPR8,122
|
|
80
80
|
TB2J/wannier/__init__.py,sha256=7ojCbM84PYv1X1Tbo4NHI-d3gWmQsZB_xiYqbfxVV1E,80
|
81
81
|
TB2J/wannier/w90_parser.py,sha256=dbd63LuKyv2DVUzqRINGsbDzEsOxsQyE8_Ear_LQIRg,4620
|
82
82
|
TB2J/wannier/w90_tb_parser.py,sha256=qt8pnuprmPp9iIAYwPkPbmEzk6ZPgMq2xognoQp7vwc,4610
|
83
|
-
tb2j-0.9.
|
84
|
-
tb2j-0.9.
|
85
|
-
tb2j-0.9.
|
86
|
-
tb2j-0.9.
|
87
|
-
tb2j-0.9.
|
88
|
-
tb2j-0.9.
|
89
|
-
tb2j-0.9.
|
90
|
-
tb2j-0.9.
|
91
|
-
tb2j-0.9.
|
92
|
-
tb2j-0.9.
|
93
|
-
tb2j-0.9.
|
94
|
-
tb2j-0.9.
|
95
|
-
tb2j-0.9.
|
96
|
-
tb2j-0.9.
|
97
|
-
tb2j-0.9.
|
98
|
-
tb2j-0.9.
|
83
|
+
tb2j-0.9.9rc16.data/scripts/TB2J_downfold.py,sha256=i4BVqnpDdgrX_amookVWeLGefGBn-qeAutWiwuY9SfQ,2099
|
84
|
+
tb2j-0.9.9rc16.data/scripts/TB2J_eigen.py,sha256=Qs9v2hnMm2Tpfoa4h53muUKty2dZjwx8948MBoQooNg,1128
|
85
|
+
tb2j-0.9.9rc16.data/scripts/TB2J_magnon.py,sha256=q7UwAmorRcFNk4tfE7gl_ny05l6p7pbD9Wm_LkIpKEw,3101
|
86
|
+
tb2j-0.9.9rc16.data/scripts/TB2J_magnon_dos.py,sha256=TMXQvD2dIbO5FZ4tUMmxJgCgH2O2hDAPUNfEKO4z-x4,110
|
87
|
+
tb2j-0.9.9rc16.data/scripts/TB2J_merge.py,sha256=y834SF4rIRn1L1ptkhczvavQpC-8Px6DTmDOOSaq_DE,1854
|
88
|
+
tb2j-0.9.9rc16.data/scripts/TB2J_rotate.py,sha256=zgiDFuYZNmzKK0rwDmTaYD2OpRlmKA_VGeBx83w2Xwc,873
|
89
|
+
tb2j-0.9.9rc16.data/scripts/TB2J_rotateDM.py,sha256=kCvF7gotuqAX1VnJ06cwfVm7RrhrdtiV5v7d9P2Pn_E,567
|
90
|
+
tb2j-0.9.9rc16.data/scripts/abacus2J.py,sha256=d84wBYkZJn6BfIFi2QorCLLdW32HB00cuZKM5RHrO-g,1824
|
91
|
+
tb2j-0.9.9rc16.data/scripts/siesta2J.py,sha256=QJ6c0DbqxaqYEesxiL5R9nK9-flNLrr7hajKfCwirYc,2318
|
92
|
+
tb2j-0.9.9rc16.data/scripts/wann2J.py,sha256=OA31VHEXbQMD-JozoLUHDF6vB9Sr62d804OApSKtSnU,3240
|
93
|
+
tb2j-0.9.9rc16.dist-info/licenses/LICENSE,sha256=CbZI-jyRTjiqIcWa244cRSHJdjjtUNqGR4HeJkgEwJw,1332
|
94
|
+
tb2j-0.9.9rc16.dist-info/METADATA,sha256=xNYF0Ciw882g-_mqBsHoZ7r3wrKNDy8dWN_0s1HFiII,1688
|
95
|
+
tb2j-0.9.9rc16.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
|
96
|
+
tb2j-0.9.9rc16.dist-info/entry_points.txt,sha256=Hdz1WC9waUzyFVmowKnbbZ6j-J4adHh_Ko6JpxGYAtE,131
|
97
|
+
tb2j-0.9.9rc16.dist-info/top_level.txt,sha256=whYa5ByLYhl5XnTPBHSWr-IGD6VWmr5Ql2bye2qwV_s,5
|
98
|
+
tb2j-0.9.9rc16.dist-info/RECORD,,
|
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
|