TB2J 0.9.9.14__tar.gz → 0.9.9.16__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.
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/PKG-INFO +11 -3
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/Jdownfolder.py +2 -2
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/Jtensor.py +2 -1
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/io_exchange/io_exchange.py +13 -1
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/io_exchange/io_vampire.py +1 -1
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J.egg-info/PKG-INFO +11 -3
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J.egg-info/requires.txt +11 -1
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/scripts/TB2J_downfold.py +12 -2
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/scripts/TB2J_merge.py +9 -5
- tb2j-0.9.9.16/scripts/TB2J_plot_magnon_bands.py +27 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/setup.py +6 -3
- tb2j-0.9.9.14/scripts/TB2J_plot_magnon_bands.py +0 -7
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/LICENSE +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/README.md +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/MAE.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/MAEGreen.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/Oiju.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/Oiju_epc.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/__init__.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/anisotropy.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/basis.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/citation.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/contour.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/density_matrix.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/epc.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/exchange.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/exchangeCL2.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/exchange_params.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/exchange_pert.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/exchange_qspace.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/external/__init__.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/external/p_tqdm.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/gpaw_wrapper.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/green.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/greentest.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/interfaces/__init__.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/interfaces/abacus/__init__.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/interfaces/abacus/abacus_api.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/interfaces/abacus/abacus_wrapper.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/interfaces/abacus/gen_exchange_abacus.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/interfaces/abacus/orbital_api.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/interfaces/abacus/stru_api.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/interfaces/abacus/test_density_matrix.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/interfaces/abacus/test_read_HRSR.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/interfaces/abacus/test_read_stru.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/interfaces/gpaw_interface.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/interfaces/lawaf_interface.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/interfaces/manager.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/interfaces/siesta_interface.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/interfaces/wannier90_interface.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/io_exchange/__init__.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/io_exchange/io_multibinit.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/io_exchange/io_tomsasd.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/io_exchange/io_txt.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/io_exchange/io_uppasd.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/io_merge.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/kpoints.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/magnon/__init__.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/magnon/io_exchange2.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/magnon/magnon3.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/magnon/magnon_band.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/magnon/magnon_dos.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/magnon/magnon_io.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/magnon/magnon_math.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/magnon/plot.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/magnon/plot_magnon_dos_cli.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/magnon/structure.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/mathutils/__init__.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/mathutils/auto_kpath.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/mathutils/fermi.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/mathutils/fibonacci_sphere.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/mathutils/kR_convert.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/mathutils/lowdin.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/mathutils/rotate_spin.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/myTB.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/mycfr.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/orbital_magmom.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/orbmap.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/pauli.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/pert.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/plot.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/rotate_atoms.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/rotate_siestaDM.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/sisl_wrapper.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/spinham/__init__.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/spinham/base_parser.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/spinham/constants.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/spinham/hamiltonian.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/spinham/hamiltonian_terms.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/spinham/plot.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/spinham/qsolver.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/spinham/spin_api.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/spinham/spin_xml.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/spinham/supercell.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/symmetrize_J.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/tensor_rotate.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/thetaphi.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/utest.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/utils.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/versioninfo.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/wannier/__init__.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/wannier/w90_parser.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J/wannier/w90_tb_parser.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J.egg-info/SOURCES.txt +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J.egg-info/dependency_links.txt +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J.egg-info/entry_points.txt +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/TB2J.egg-info/top_level.txt +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/scripts/TB2J_eigen.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/scripts/TB2J_magnon.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/scripts/TB2J_magnon2.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/scripts/TB2J_magnon_dos.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/scripts/TB2J_rotate.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/scripts/TB2J_rotateDM.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/scripts/abacus2J.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/scripts/siesta2J.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/scripts/wann2J.py +0 -0
- {tb2j-0.9.9.14 → tb2j-0.9.9.16}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: TB2J
|
3
|
-
Version: 0.9.9.
|
3
|
+
Version: 0.9.9.16
|
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
|
@@ -24,16 +24,24 @@ Requires-Dist: packaging>=20.0
|
|
24
24
|
Requires-Dist: HamiltonIO>=0.2.4
|
25
25
|
Requires-Dist: pre-commit
|
26
26
|
Requires-Dist: sympair>0.1.0
|
27
|
-
Requires-Dist: sisl>=0.9.0
|
28
27
|
Requires-Dist: tomli>=2.0.0
|
29
28
|
Requires-Dist: tomli-w>=1.0.0
|
30
|
-
|
29
|
+
Provides-Extra: siesta
|
30
|
+
Requires-Dist: sisl>=0.9.0; extra == "siesta"
|
31
|
+
Requires-Dist: netcdf4; extra == "siesta"
|
32
|
+
Provides-Extra: lawaf
|
33
|
+
Requires-Dist: lawaf==0.2.3; extra == "lawaf"
|
34
|
+
Provides-Extra: all
|
35
|
+
Requires-Dist: sisl>=0.9.0; extra == "all"
|
36
|
+
Requires-Dist: netcdf4; extra == "all"
|
37
|
+
Requires-Dist: lawaf==0.2.3; extra == "all"
|
31
38
|
Dynamic: author
|
32
39
|
Dynamic: author-email
|
33
40
|
Dynamic: classifier
|
34
41
|
Dynamic: description
|
35
42
|
Dynamic: license
|
36
43
|
Dynamic: license-file
|
44
|
+
Dynamic: provides-extra
|
37
45
|
Dynamic: requires-dist
|
38
46
|
Dynamic: requires-python
|
39
47
|
Dynamic: summary
|
@@ -94,7 +94,7 @@ class PWFDownfolder:
|
|
94
94
|
# anchors={(0, 0, 0): (-1, -2, -3, -4)},
|
95
95
|
# anchors={(0, 0, 0): ()},
|
96
96
|
# use_proj=True,
|
97
|
-
enhance_Amn=
|
97
|
+
enhance_Amn=1.4,
|
98
98
|
)
|
99
99
|
params.update(kwargs)
|
100
100
|
wann.set_parameters(**params)
|
@@ -176,7 +176,7 @@ class JDownfolder_pickle:
|
|
176
176
|
self.nsite = self.nM + self.nL
|
177
177
|
|
178
178
|
def _downfold(self, **kwargs):
|
179
|
-
JR2 = self.exc.get_full_Jtensor_for_Rlist(asr=True)
|
179
|
+
JR2 = self.exc.get_full_Jtensor_for_Rlist(order="i3j3_2D", asr=True)
|
180
180
|
if self.method.lower() == "lowdin":
|
181
181
|
d = JDownfolder(
|
182
182
|
JR2,
|
@@ -64,8 +64,9 @@ def decompose_J_tensor(Jtensor):
|
|
64
64
|
:returns:
|
65
65
|
|
66
66
|
"""
|
67
|
+
Jtensor = Jtensor.real
|
67
68
|
Jiso = np.average(np.diag(Jtensor))
|
68
|
-
Dm = (Jtensor - Jtensor.T) / 2.0
|
69
|
+
Dm = (Jtensor - Jtensor.T).real / 2.0
|
69
70
|
D = np.array((Dm[1, 2], Dm[2, 0], Dm[0, 1]), dtype=float)
|
70
71
|
Jani = (Jtensor + Jtensor.T) / 2 - np.eye(3) * Jiso
|
71
72
|
return Jiso, D, Jani
|
@@ -430,8 +430,20 @@ Generation time: {now.strftime("%y/%m/%d %H:%M:%S")}
|
|
430
430
|
for i in range(n):
|
431
431
|
sum_JRi = np.sum(np.sum(Jmat, axis=0)[i])
|
432
432
|
Jmat[iR0][i, i] -= sum_JRi
|
433
|
+
elif order == "i3j3_2D":
|
434
|
+
Jmat = np.zeros((nR, n3, n3), dtype=float)
|
435
|
+
for iR, R in enumerate(self.Rlist):
|
436
|
+
Jmat[iR] = self.get_full_Jtensor_for_one_R_i3j3(
|
437
|
+
R, Jiso=Jiso, Jani=Jani, DMI=DMI
|
438
|
+
).reshape((n3, n3))
|
439
|
+
if asr:
|
440
|
+
iR0 = np.argmin(np.linalg.norm(self.Rlist, axis=1))
|
441
|
+
assert np.linalg.norm(self.Rlist[iR0]) == 0
|
442
|
+
for i in range(n3):
|
443
|
+
sum_JRi = np.sum(np.sum(Jmat, axis=0)[i])
|
444
|
+
Jmat[iR0][i, i] -= sum_JRi
|
433
445
|
else:
|
434
|
-
raise ValueError("order must be either 'i3j3' or 'ij33'.")
|
446
|
+
raise ValueError("order must be either 'i3j3' or 'ij33', or 'i3j3_2D'.")
|
435
447
|
return Jmat
|
436
448
|
|
437
449
|
def write_pickle(self, path="TB2J_results", fname="TB2J.pickle"):
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: TB2J
|
3
|
-
Version: 0.9.9.
|
3
|
+
Version: 0.9.9.16
|
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
|
@@ -24,16 +24,24 @@ Requires-Dist: packaging>=20.0
|
|
24
24
|
Requires-Dist: HamiltonIO>=0.2.4
|
25
25
|
Requires-Dist: pre-commit
|
26
26
|
Requires-Dist: sympair>0.1.0
|
27
|
-
Requires-Dist: sisl>=0.9.0
|
28
27
|
Requires-Dist: tomli>=2.0.0
|
29
28
|
Requires-Dist: tomli-w>=1.0.0
|
30
|
-
|
29
|
+
Provides-Extra: siesta
|
30
|
+
Requires-Dist: sisl>=0.9.0; extra == "siesta"
|
31
|
+
Requires-Dist: netcdf4; extra == "siesta"
|
32
|
+
Provides-Extra: lawaf
|
33
|
+
Requires-Dist: lawaf==0.2.3; extra == "lawaf"
|
34
|
+
Provides-Extra: all
|
35
|
+
Requires-Dist: sisl>=0.9.0; extra == "all"
|
36
|
+
Requires-Dist: netcdf4; extra == "all"
|
37
|
+
Requires-Dist: lawaf==0.2.3; extra == "all"
|
31
38
|
Dynamic: author
|
32
39
|
Dynamic: author-email
|
33
40
|
Dynamic: classifier
|
34
41
|
Dynamic: description
|
35
42
|
Dynamic: license
|
36
43
|
Dynamic: license-file
|
44
|
+
Dynamic: provides-extra
|
37
45
|
Dynamic: requires-dist
|
38
46
|
Dynamic: requires-python
|
39
47
|
Dynamic: summary
|
@@ -1,8 +1,8 @@
|
|
1
1
|
#!/usr/bin/env python3
|
2
2
|
import argparse
|
3
|
-
|
4
|
-
import sys
|
3
|
+
|
5
4
|
from TB2J.Jdownfolder import JDownfolder_pickle
|
5
|
+
from TB2J.versioninfo import print_license
|
6
6
|
|
7
7
|
|
8
8
|
def main():
|
@@ -73,6 +73,15 @@ def main():
|
|
73
73
|
if len(args.ligands) == []:
|
74
74
|
print("List of ligand elements cannot be empty")
|
75
75
|
|
76
|
+
print_license()
|
77
|
+
print("Input path:", args.inpath)
|
78
|
+
print("Output path:", args.outpath)
|
79
|
+
print("Magnetic cation elements:", args.metals)
|
80
|
+
print("Ligand elements:", args.ligands)
|
81
|
+
print("k-mesh:", args.qmesh)
|
82
|
+
print("Downfolding method:", args.method)
|
83
|
+
print("Downfolding only isotropic part:", args.iso_only)
|
84
|
+
print("Begining downfolding the exchange parameters:")
|
76
85
|
JDownfolder_pickle(
|
77
86
|
inpath=args.inpath,
|
78
87
|
metals=args.metals,
|
@@ -82,6 +91,7 @@ def main():
|
|
82
91
|
iso_only=args.iso_only,
|
83
92
|
method=args.method,
|
84
93
|
)
|
94
|
+
print("Downfolding finished. Results are saved in:", args.outpath)
|
85
95
|
|
86
96
|
|
87
97
|
main()
|
@@ -1,8 +1,8 @@
|
|
1
1
|
#!/usr/bin/env python3
|
2
2
|
import argparse
|
3
|
-
|
4
|
-
import sys
|
3
|
+
|
5
4
|
from TB2J.io_merge import merge
|
5
|
+
from TB2J.version_info import print_license
|
6
6
|
|
7
7
|
|
8
8
|
def main():
|
@@ -32,14 +32,18 @@ def main():
|
|
32
32
|
"--main_path",
|
33
33
|
help="The path containning the reference structure.",
|
34
34
|
type=str,
|
35
|
-
default=None
|
35
|
+
default=None,
|
36
36
|
)
|
37
37
|
|
38
38
|
args = parser.parse_args()
|
39
39
|
# merge(*(args.directories), args.type.strip().lower(), path=args.output_path)
|
40
40
|
# merge(*(args.directories), method=args.type.strip().lower(), path=args.output_path)
|
41
|
-
#merge2(args.directories, args.type.strip().lower(), path=args.output_path)
|
41
|
+
# merge2(args.directories, args.type.strip().lower(), path=args.output_path)
|
42
|
+
print_license()
|
43
|
+
print("Merging the TB2J results from the following directories: ", args.directories)
|
42
44
|
merge(*args.directories, main_path=args.main_path, write_path=args.output_path)
|
45
|
+
print("Merging completed. The results are saved in:", args.output_path)
|
43
46
|
|
44
47
|
|
45
|
-
|
48
|
+
if __name__ == "__main__":
|
49
|
+
main()
|
@@ -0,0 +1,27 @@
|
|
1
|
+
#!/usr/bin/env python3
|
2
|
+
|
3
|
+
|
4
|
+
if __name__ == "__main__":
|
5
|
+
# add a warning messege that this functionality is under development and should not be used in production.
|
6
|
+
# make it visually distinct, e.g. with a different color or formatting.
|
7
|
+
import warnings
|
8
|
+
|
9
|
+
from TB2J.magnon.magnon3 import main
|
10
|
+
|
11
|
+
warnings.warn(
|
12
|
+
"""
|
13
|
+
# !!!!!!!!!!!!!!!!!! WARNING: =============================
|
14
|
+
#
|
15
|
+
# This functionality is under development and should not be used in production.
|
16
|
+
# It is provided for testing and development purposes only.
|
17
|
+
# Please use with caution and report any issues to the developers.
|
18
|
+
#
|
19
|
+
# This warning will be removed in future releases.
|
20
|
+
# =====================================
|
21
|
+
|
22
|
+
""",
|
23
|
+
UserWarning,
|
24
|
+
stacklevel=2,
|
25
|
+
)
|
26
|
+
# Call the main function from the magnons module
|
27
|
+
main()
|
@@ -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.
|
4
|
+
__version__ = "0.9.9.16"
|
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
|
|
@@ -46,11 +46,14 @@ setup(
|
|
46
46
|
"HamiltonIO>=0.2.4",
|
47
47
|
"pre-commit",
|
48
48
|
"sympair>0.1.0",
|
49
|
-
"sisl>=0.9.0",
|
50
49
|
"tomli>=2.0.0",
|
51
50
|
"tomli-w>=1.0.0",
|
52
|
-
"netcdf4",
|
53
51
|
],
|
52
|
+
extras_require={
|
53
|
+
"siesta": ["sisl>=0.9.0", "netcdf4"],
|
54
|
+
"lawaf": ["lawaf==0.2.3"],
|
55
|
+
"all": ["sisl>=0.9.0", "netcdf4", "lawaf==0.2.3"],
|
56
|
+
},
|
54
57
|
classifiers=[
|
55
58
|
"Development Status :: 3 - Alpha",
|
56
59
|
"Programming Language :: Python :: 3",
|
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
|
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
|