TB2J 0.9.12.7__tar.gz → 0.9.12.8__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.12.7 → tb2j-0.9.12.8}/PKG-INFO +3 -2
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/Jdownfolder.py +4 -3
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/MAEGreen.py +0 -1
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/__init__.py +0 -2
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/anisotropy.py +2 -2
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/basis.py +0 -3
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/gpaw_wrapper.py +0 -3
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/io_exchange/io_uppasd.py +0 -1
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/plot.py +8 -7
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/rotate_atoms.py +1 -1
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/scripts/wann2J.py +1 -1
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/spinham/hamiltonian.py +0 -1
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/tensor_rotate.py +1 -2
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/wannier/w90_tb_parser.py +0 -2
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J.egg-info/PKG-INFO +3 -2
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J.egg-info/requires.txt +2 -1
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/pyproject.toml +3 -2
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/LICENSE +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/README.md +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/Jtensor.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/MAE.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/Oiju.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/Oiju_epc.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/citation.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/contour.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/density_matrix.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/downfold/Hdownfolder.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/epc.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/exchange.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/exchangeCL2.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/exchange_params.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/exchange_pert.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/exchange_qspace.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/external/__init__.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/external/p_tqdm.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/green.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/greentest.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/interfaces/__init__.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/interfaces/abacus/__init__.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/interfaces/abacus/abacus_api.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/interfaces/abacus/abacus_wrapper.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/interfaces/abacus/gen_exchange_abacus.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/interfaces/abacus/orbital_api.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/interfaces/abacus/stru_api.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/interfaces/abacus/test_density_matrix.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/interfaces/abacus/test_read_HRSR.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/interfaces/abacus/test_read_stru.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/interfaces/gpaw_interface.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/interfaces/lawaf_interface.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/interfaces/manager.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/interfaces/siesta_interface.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/interfaces/wannier90_interface.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/io_exchange/__init__.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/io_exchange/io_exchange.py +1 -1
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/io_exchange/io_multibinit.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/io_exchange/io_tomsasd.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/io_exchange/io_txt.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/io_exchange/io_vampire.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/io_merge.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/kpoints.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/magnon/__init__.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/magnon/io_exchange2.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/magnon/magnon3.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/magnon/magnon_band.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/magnon/magnon_dos.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/magnon/magnon_io.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/magnon/magnon_math.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/magnon/plot.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/magnon/plot_magnon_dos_cli.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/magnon/structure.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/mathutils/__init__.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/mathutils/auto_kpath.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/mathutils/fermi.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/mathutils/fibonacci_sphere.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/mathutils/kR_convert.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/mathutils/lowdin.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/mathutils/rotate_spin.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/myTB.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/mycfr.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/orbital_magmom.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/orbmap.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/pauli.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/pert.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/rotate_siestaDM.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/scripts/TB2J_downfold.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/scripts/TB2J_eigen.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/scripts/TB2J_magnon.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/scripts/TB2J_magnon2.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/scripts/TB2J_magnon_dos.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/scripts/TB2J_merge.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/scripts/TB2J_plot_magnon_bands.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/scripts/TB2J_rotate.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/scripts/TB2J_rotateDM.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/scripts/__init__.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/scripts/abacus2J.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/scripts/siesta2J.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/sisl_wrapper.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/spinham/__init__.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/spinham/base_parser.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/spinham/constants.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/spinham/hamiltonian_terms.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/spinham/plot.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/spinham/qsolver.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/spinham/spin_api.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/spinham/spin_xml.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/spinham/supercell.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/symmetrize_J.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/thetaphi.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/utest.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/utils.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/versioninfo.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/wannier/__init__.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J/wannier/w90_parser.py +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J.egg-info/SOURCES.txt +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J.egg-info/dependency_links.txt +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J.egg-info/entry_points.txt +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/TB2J.egg-info/top_level.txt +0 -0
- {tb2j-0.9.12.7 → tb2j-0.9.12.8}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: TB2J
|
3
|
-
Version: 0.9.12.
|
3
|
+
Version: 0.9.12.8
|
4
4
|
Summary: TB2J: First principle to Heisenberg exchange J using tight-binding Green function method
|
5
5
|
Author-email: Xu He <mailhexu@gmail.com>
|
6
6
|
Maintainer-email: Xu He <mailhexu@gmail.com>
|
@@ -26,7 +26,7 @@ Classifier: License :: OSI Approved :: BSD License
|
|
26
26
|
Requires-Python: >=3.6
|
27
27
|
Description-Content-Type: text/markdown
|
28
28
|
License-File: LICENSE
|
29
|
-
Requires-Dist: numpy
|
29
|
+
Requires-Dist: numpy
|
30
30
|
Requires-Dist: scipy
|
31
31
|
Requires-Dist: matplotlib
|
32
32
|
Requires-Dist: ase>=3.19
|
@@ -38,6 +38,7 @@ Requires-Dist: pre-commit
|
|
38
38
|
Requires-Dist: sympair>0.1.0
|
39
39
|
Requires-Dist: tomli>=2.0.0
|
40
40
|
Requires-Dist: tomli-w>=1.0.0
|
41
|
+
Requires-Dist: typing_extensions
|
41
42
|
Provides-Extra: siesta
|
42
43
|
Requires-Dist: sisl>=0.9.0; extra == "siesta"
|
43
44
|
Requires-Dist: netcdf4; extra == "siesta"
|
@@ -47,8 +47,8 @@ class JDownfolder:
|
|
47
47
|
self.qmesh = qmesh
|
48
48
|
self.qpts = monkhorst_pack(qmesh)
|
49
49
|
self.nqpt = len(self.qpts)
|
50
|
-
self.nMn = self.nM *
|
51
|
-
self.nLn = self.nL *
|
50
|
+
self.nMn = self.nM * self.nxyz
|
51
|
+
self.nLn = self.nL * self.nxyz
|
52
52
|
self.iso_only = iso_only
|
53
53
|
|
54
54
|
def get_JR(self):
|
@@ -62,6 +62,7 @@ class JDownfolder:
|
|
62
62
|
for iR, R in enumerate(self.Rlist):
|
63
63
|
phase = np.exp(-2.0j * np.pi * np.dot(q, R))
|
64
64
|
JR_downfolded[iR] += np.real(Jq_downfolded[iq] * phase / self.nqpt)
|
65
|
+
return JR_downfolded, self.Rlist
|
65
66
|
|
66
67
|
def downfold_oneq(self, J):
|
67
68
|
JMM = J[np.ix_(self.iMn, self.iMn)]
|
@@ -121,7 +122,7 @@ class PWFDownfolder:
|
|
121
122
|
marker="o",
|
122
123
|
ax=None,
|
123
124
|
savefig="downfold_band.png",
|
124
|
-
show=
|
125
|
+
show=False,
|
125
126
|
)
|
126
127
|
self.JR_downfolded = ewf.HwannR
|
127
128
|
self.Rlist = ewf.Rlist
|
@@ -155,7 +155,6 @@ class MAEGreen(ExchangeNCL):
|
|
155
155
|
dE_angle = np.zeros(na, dtype=complex)
|
156
156
|
dE_angle_atom = np.zeros((na, self.natoms), dtype=complex)
|
157
157
|
# dE_angle_orbitals = np.zeros((na, self.natoms, self.norb, self.norb), dtype=complex)
|
158
|
-
# dE_angle_orbitals = DefaultDict(lambda: 0)
|
159
158
|
dE_angle_atom_orb = DefaultDict(lambda: 0)
|
160
159
|
for iangle, (theta, phi) in enumerate(zip(thetas, phis)):
|
161
160
|
for ik, dHk in enumerate(Hsoc_k):
|
@@ -339,8 +339,8 @@ class Anisotropy:
|
|
339
339
|
# print(X_max, Y_max, X_min, Y_min)
|
340
340
|
# ax.scatter(X_max, Y_max, color="r", marker="o")
|
341
341
|
# ax.scatter(X_min, Y_min, color="b", marker="o")
|
342
|
-
ax.set_xlabel("$\theta$ (degree)")
|
343
|
-
ax.set_ylabel("$\phi$ degree")
|
342
|
+
ax.set_xlabel(r"$\theta$ (degree)")
|
343
|
+
ax.set_ylabel(r"$\phi$ degree")
|
344
344
|
# ax.scatter(X_max, Y_max, color="r", marker="o")
|
345
345
|
# ax.scatter(X_min, Y_min, color="r", marker="o")
|
346
346
|
|
@@ -2,10 +2,8 @@ try:
|
|
2
2
|
from gpaw.lcao.tightbinding import TightBinding
|
3
3
|
from gpaw import restart, GPAW
|
4
4
|
from gpaw.lcao.tools import (
|
5
|
-
get_lead_lcao_hamiltonian,
|
6
5
|
get_lcao_hamiltonian,
|
7
6
|
get_bf_centers,
|
8
|
-
get_bfi,
|
9
7
|
)
|
10
8
|
|
11
9
|
_has_gpaw = True
|
@@ -16,7 +14,6 @@ except:
|
|
16
14
|
import numpy as np
|
17
15
|
from scipy.linalg import eigh
|
18
16
|
from ase.dft.kpoints import monkhorst_pack
|
19
|
-
from ase.units import Ha
|
20
17
|
import pickle
|
21
18
|
|
22
19
|
|
@@ -1,11 +1,12 @@
|
|
1
|
+
import argparse
|
2
|
+
import os
|
3
|
+
|
1
4
|
import matplotlib.pyplot as plt
|
2
|
-
from TB2J.spinham.spin_api import SpinModel
|
3
|
-
from TB2J.io_exchange.io_exchange import SpinIO
|
4
5
|
import numpy as np
|
5
|
-
|
6
|
+
|
7
|
+
from TB2J.io_exchange.io_exchange import SpinIO
|
6
8
|
from TB2J.spinham.qsolver import QSolverASEWrapper
|
7
|
-
import
|
8
|
-
import os
|
9
|
+
from TB2J.spinham.spin_api import SpinModel
|
9
10
|
|
10
11
|
|
11
12
|
def write_eigen(qmesh, gamma=True, path="./", output_fname="EigenJq.txt", **kwargs):
|
@@ -25,7 +26,7 @@ def plot_magnon_band(
|
|
25
26
|
Jq=False,
|
26
27
|
kpath_fname="exchange_kpth.txt",
|
27
28
|
ax=None,
|
28
|
-
**kwargs
|
29
|
+
**kwargs,
|
29
30
|
):
|
30
31
|
m = SpinModel(fname=fname, sc_matrix=None)
|
31
32
|
m.set_ham(**kwargs)
|
@@ -57,7 +58,7 @@ def plot_magnon_dos(
|
|
57
58
|
txt_filename="magnon_dos.txt",
|
58
59
|
Jq=False,
|
59
60
|
ax=None,
|
60
|
-
**kwargs
|
61
|
+
**kwargs,
|
61
62
|
):
|
62
63
|
ffname = os.path.join(path, "exchange.xml")
|
63
64
|
if not (os.path.exists(ffname) and os.path.isfile(ffname)):
|
@@ -61,7 +61,7 @@ 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 or 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
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: TB2J
|
3
|
-
Version: 0.9.12.
|
3
|
+
Version: 0.9.12.8
|
4
4
|
Summary: TB2J: First principle to Heisenberg exchange J using tight-binding Green function method
|
5
5
|
Author-email: Xu He <mailhexu@gmail.com>
|
6
6
|
Maintainer-email: Xu He <mailhexu@gmail.com>
|
@@ -26,7 +26,7 @@ Classifier: License :: OSI Approved :: BSD License
|
|
26
26
|
Requires-Python: >=3.6
|
27
27
|
Description-Content-Type: text/markdown
|
28
28
|
License-File: LICENSE
|
29
|
-
Requires-Dist: numpy
|
29
|
+
Requires-Dist: numpy
|
30
30
|
Requires-Dist: scipy
|
31
31
|
Requires-Dist: matplotlib
|
32
32
|
Requires-Dist: ase>=3.19
|
@@ -38,6 +38,7 @@ Requires-Dist: pre-commit
|
|
38
38
|
Requires-Dist: sympair>0.1.0
|
39
39
|
Requires-Dist: tomli>=2.0.0
|
40
40
|
Requires-Dist: tomli-w>=1.0.0
|
41
|
+
Requires-Dist: typing_extensions
|
41
42
|
Provides-Extra: siesta
|
42
43
|
Requires-Dist: sisl>=0.9.0; extra == "siesta"
|
43
44
|
Requires-Dist: netcdf4; extra == "siesta"
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "TB2J"
|
7
|
-
version = "0.9.12.
|
7
|
+
version = "0.9.12.8"
|
8
8
|
description = "TB2J: First principle to Heisenberg exchange J using tight-binding Green function method"
|
9
9
|
readme = "README.md"
|
10
10
|
license = { text = "BSD-2-Clause" }
|
@@ -28,7 +28,7 @@ classifiers = [
|
|
28
28
|
]
|
29
29
|
requires-python = ">=3.6"
|
30
30
|
dependencies = [
|
31
|
-
"numpy
|
31
|
+
"numpy",
|
32
32
|
"scipy",
|
33
33
|
"matplotlib",
|
34
34
|
"ase>=3.19",
|
@@ -40,6 +40,7 @@ dependencies = [
|
|
40
40
|
"sympair>0.1.0",
|
41
41
|
"tomli>=2.0.0",
|
42
42
|
"tomli-w>=1.0.0",
|
43
|
+
"typing_extensions",
|
43
44
|
]
|
44
45
|
|
45
46
|
[project.optional-dependencies]
|
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
|
@@ -18,12 +18,12 @@ from datetime import datetime
|
|
18
18
|
import matplotlib.pyplot as plt
|
19
19
|
import numpy as np
|
20
20
|
|
21
|
-
from TB2J.versioninfo import __version__
|
22
21
|
from TB2J.io_exchange.io_txt import write_Jq_info
|
23
22
|
from TB2J.Jtensor import combine_J_tensor
|
24
23
|
from TB2J.kpoints import monkhorst_pack
|
25
24
|
from TB2J.spinham.spin_api import SpinModel
|
26
25
|
from TB2J.utils import symbol_number
|
26
|
+
from TB2J.versioninfo import __version__
|
27
27
|
|
28
28
|
|
29
29
|
class SpinIO(object):
|
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
|