TB2J 0.9.11.2__py3-none-any.whl → 0.9.12.3__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/.gitignore +5 -0
- TB2J/interfaces/abacus/.gitignore +2 -0
- TB2J/magnon/magnon3.py +76 -28
- TB2J/magnon/plot_magnon_dos_cli.py +115 -3
- TB2J/scripts/TB2J_plot_magnon_bands.py +9 -14
- {tb2j-0.9.11.2.dist-info → tb2j-0.9.12.3.dist-info}/METADATA +1 -1
- {tb2j-0.9.11.2.dist-info → tb2j-0.9.12.3.dist-info}/RECORD +11 -9
- {tb2j-0.9.11.2.dist-info → tb2j-0.9.12.3.dist-info}/entry_points.txt +1 -1
- {tb2j-0.9.11.2.dist-info → tb2j-0.9.12.3.dist-info}/WHEEL +0 -0
- {tb2j-0.9.11.2.dist-info → tb2j-0.9.12.3.dist-info}/licenses/LICENSE +0 -0
- {tb2j-0.9.11.2.dist-info → tb2j-0.9.12.3.dist-info}/top_level.txt +0 -0
TB2J/.gitignore
ADDED
TB2J/magnon/magnon3.py
CHANGED
@@ -31,6 +31,7 @@ class MagnonParameters:
|
|
31
31
|
Q: Optional[List[float]] = None
|
32
32
|
uz_file: Optional[str] = None
|
33
33
|
n: Optional[List[float]] = None
|
34
|
+
spin_conf_file: Optional[str] = None
|
34
35
|
show: bool = False
|
35
36
|
|
36
37
|
@classmethod
|
@@ -57,6 +58,8 @@ class MagnonParameters:
|
|
57
58
|
# Convert path to absolute path if uz_file is relative to it
|
58
59
|
if self.uz_file and not Path(self.uz_file).is_absolute():
|
59
60
|
self.uz_file = str(Path(self.path) / self.uz_file)
|
61
|
+
if self.spin_conf_file and not Path(self.spin_conf_file).is_absolute():
|
62
|
+
self.spin_conf_file = str(Path(self.path) / self.spin_conf_file)
|
60
63
|
|
61
64
|
|
62
65
|
@dataclass
|
@@ -76,7 +79,7 @@ class Magnon:
|
|
76
79
|
_n: np.ndarray
|
77
80
|
pbc: tuple = (True, True, True)
|
78
81
|
|
79
|
-
def set_reference(self, Q, uz, n):
|
82
|
+
def set_reference(self, Q, uz, n, magmoms=None):
|
80
83
|
"""
|
81
84
|
Set reference propagation vector and quantization axis
|
82
85
|
|
@@ -92,6 +95,8 @@ class Magnon:
|
|
92
95
|
self.set_propagation_vector(Q)
|
93
96
|
self._uz = np.array(uz, dtype=float)
|
94
97
|
self._n = np.array(n, dtype=float)
|
98
|
+
if magmoms is not None:
|
99
|
+
self.magmom = np.array(magmoms, dtype=float)
|
95
100
|
|
96
101
|
def set_propagation_vector(self, Q):
|
97
102
|
"""Set propagation vector"""
|
@@ -653,26 +658,40 @@ def plot_magnon_bands_from_TB2J(
|
|
653
658
|
)
|
654
659
|
|
655
660
|
# Set reference vectors if provided
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
-
|
663
|
-
|
664
|
-
|
665
|
-
|
666
|
-
|
667
|
-
|
668
|
-
|
669
|
-
|
670
|
-
|
671
|
-
|
672
|
-
|
673
|
-
|
661
|
+
Q = [0, 0, 0] if params.Q is None else params.Q
|
662
|
+
n = [0, 0, 1] if params.n is None else params.n
|
663
|
+
|
664
|
+
# Handle quantization axes
|
665
|
+
if params.uz_file is not None:
|
666
|
+
uz = np.loadtxt(params.uz_file)
|
667
|
+
if uz.shape[1] != 3:
|
668
|
+
raise ValueError(
|
669
|
+
f"Quantization axes file should contain a natom×3 array. Got shape {uz.shape}"
|
670
|
+
)
|
671
|
+
if uz.shape[0] != magnon.nspin:
|
672
|
+
raise ValueError(
|
673
|
+
f"Number of spins in uz file ({uz.shape[0]}) does not match the system ({magnon.nspin})"
|
674
|
+
)
|
675
|
+
else:
|
676
|
+
# Default: [0, 0, 1] for all spins
|
677
|
+
# uz = np.array([[0.0, 0.0, 1.0] for _ in range(magnon.nspin)])
|
678
|
+
uz = np.array([[0, 0, 1]], dtype=float)
|
679
|
+
|
680
|
+
print(params)
|
681
|
+
if params.spin_conf_file is not None:
|
682
|
+
magmoms = np.loadtxt(params.spin_conf_file)
|
683
|
+
if magmoms.shape[1] != 3:
|
684
|
+
raise ValueError(
|
685
|
+
f"Spin configuration file should contain a nspin×3 array. Got shape {magmoms.shape}"
|
686
|
+
)
|
687
|
+
if magmoms.shape[0] != magnon.nspin:
|
688
|
+
raise ValueError(
|
689
|
+
f"Number of spins in spin configuration file ({magmoms.shape[0]}) does not match the system ({magnon.nspin})"
|
690
|
+
)
|
691
|
+
else:
|
692
|
+
magmoms = None
|
674
693
|
|
675
|
-
|
694
|
+
magnon.set_reference(Q, uz, n, magmoms)
|
676
695
|
|
677
696
|
# Get band structure data
|
678
697
|
print(f"\nCalculating bands along path {params.kpath}...")
|
@@ -714,10 +733,25 @@ def plot_magnon_bands_from_TB2J(
|
|
714
733
|
return magnon
|
715
734
|
|
716
735
|
|
717
|
-
def
|
718
|
-
"""Command line interface for plotting magnon bands from TB2J results."""
|
736
|
+
def plot_magnon_bands_cli():
|
719
737
|
import argparse
|
720
|
-
|
738
|
+
import warnings
|
739
|
+
|
740
|
+
warnings.warn(
|
741
|
+
"""
|
742
|
+
# !!!!!!!!!!!!!!!!!! WARNING: =============================
|
743
|
+
#
|
744
|
+
# This functionality is under development and should not be used in production.
|
745
|
+
# It is provided for testing and development purposes only.
|
746
|
+
# Please use with caution and report any issues to the developers.
|
747
|
+
#
|
748
|
+
# This warning will be removed in future releases.
|
749
|
+
# =====================================
|
750
|
+
|
751
|
+
""",
|
752
|
+
UserWarning,
|
753
|
+
stacklevel=2,
|
754
|
+
)
|
721
755
|
parser = argparse.ArgumentParser(
|
722
756
|
description="Plot magnon band structure from TB2J results"
|
723
757
|
)
|
@@ -737,27 +771,32 @@ def main():
|
|
737
771
|
|
738
772
|
# Command line arguments (used if no config file is provided)
|
739
773
|
parser.add_argument(
|
774
|
+
"-p",
|
740
775
|
"--path",
|
741
776
|
default="TB2J_results",
|
742
777
|
help="Path to TB2J results directory (default: TB2J_results)",
|
743
778
|
)
|
744
779
|
parser.add_argument(
|
780
|
+
"-k",
|
745
781
|
"--kpath",
|
746
782
|
default=None,
|
747
783
|
help="k-path specification (default: auto-detected from type of cell)",
|
748
784
|
)
|
749
785
|
parser.add_argument(
|
786
|
+
"-n",
|
750
787
|
"--npoints",
|
751
788
|
type=int,
|
752
789
|
default=300,
|
753
790
|
help="Number of k-points along the path (default: 300)",
|
754
791
|
)
|
755
792
|
parser.add_argument(
|
793
|
+
"-o",
|
756
794
|
"--output",
|
757
795
|
default="magnon_bands.png",
|
758
796
|
help="Output file name (default: magnon_bands.png)",
|
759
797
|
)
|
760
798
|
parser.add_argument(
|
799
|
+
"-j",
|
761
800
|
"--Jiso",
|
762
801
|
action="store_true",
|
763
802
|
default=True,
|
@@ -770,18 +809,21 @@ def main():
|
|
770
809
|
help="Exclude isotropic exchange interactions",
|
771
810
|
)
|
772
811
|
parser.add_argument(
|
812
|
+
"-a",
|
773
813
|
"--Jani",
|
774
814
|
action="store_true",
|
775
815
|
default=False,
|
776
816
|
help="Include anisotropic exchange interactions (default: False)",
|
777
817
|
)
|
778
818
|
parser.add_argument(
|
819
|
+
"-d",
|
779
820
|
"--DMI",
|
780
821
|
action="store_true",
|
781
822
|
default=False,
|
782
823
|
help="Include Dzyaloshinskii-Moriya interactions (default: False)",
|
783
824
|
)
|
784
825
|
parser.add_argument(
|
826
|
+
"-q",
|
785
827
|
"--Q",
|
786
828
|
nargs=3,
|
787
829
|
type=float,
|
@@ -789,11 +831,19 @@ def main():
|
|
789
831
|
help="Propagation vector [Qx, Qy, Qz] (default: [0, 0, 0])",
|
790
832
|
)
|
791
833
|
parser.add_argument(
|
834
|
+
"-u",
|
792
835
|
"--uz-file",
|
793
836
|
type=str,
|
794
|
-
help="Path to file containing quantization axes for each spin (
|
837
|
+
help="Path to file containing quantization axes for each spin (nspin×3 array)",
|
838
|
+
)
|
839
|
+
parser.add_argument(
|
840
|
+
"-c",
|
841
|
+
"--spin-conf-file",
|
842
|
+
type=str,
|
843
|
+
help="Path to file containing magnetic moments for each spin (nspin×3 array)",
|
795
844
|
)
|
796
845
|
parser.add_argument(
|
846
|
+
"-v",
|
797
847
|
"--n",
|
798
848
|
nargs=3,
|
799
849
|
type=float,
|
@@ -802,6 +852,7 @@ def main():
|
|
802
852
|
)
|
803
853
|
|
804
854
|
parser.add_argument(
|
855
|
+
"-s",
|
805
856
|
"--show",
|
806
857
|
action="store_true",
|
807
858
|
default=False,
|
@@ -833,6 +884,7 @@ def main():
|
|
833
884
|
DMI=args.DMI,
|
834
885
|
Q=args.Q if args.Q is not None else None,
|
835
886
|
uz_file=args.uz_file,
|
887
|
+
spin_conf_file=args.spin_conf_file,
|
836
888
|
n=args.n if args.n is not None else None,
|
837
889
|
show=args.show,
|
838
890
|
)
|
@@ -840,10 +892,6 @@ def main():
|
|
840
892
|
plot_magnon_bands_from_TB2J(params)
|
841
893
|
|
842
894
|
|
843
|
-
if __name__ == "__main__":
|
844
|
-
main()
|
845
|
-
|
846
|
-
|
847
895
|
class MagnonASEWrapper:
|
848
896
|
def __init__(self, magnon: Magnon):
|
849
897
|
self.magnon = magnon
|
@@ -4,6 +4,8 @@
|
|
4
4
|
import argparse
|
5
5
|
from pathlib import Path
|
6
6
|
|
7
|
+
import numpy as np
|
8
|
+
|
7
9
|
from TB2J.magnon.magnon3 import Magnon
|
8
10
|
from TB2J.magnon.magnon_dos import plot_magnon_dos
|
9
11
|
|
@@ -13,6 +15,7 @@ def main():
|
|
13
15
|
description="Calculate and plot magnon DOS from TB2J results"
|
14
16
|
)
|
15
17
|
parser.add_argument(
|
18
|
+
"-p",
|
16
19
|
"--path",
|
17
20
|
default="TB2J_results",
|
18
21
|
help="Path to TB2J results directory (default: TB2J_results)",
|
@@ -51,26 +54,135 @@ def main():
|
|
51
54
|
help="Number of energy points (default: 401)",
|
52
55
|
)
|
53
56
|
parser.add_argument(
|
57
|
+
"-o",
|
54
58
|
"--output",
|
55
59
|
default="magnon_dos.png",
|
56
60
|
help="Output filename for plot (default: magnon_dos.png)",
|
57
61
|
)
|
58
62
|
parser.add_argument(
|
59
|
-
"-
|
63
|
+
"-s",
|
64
|
+
"--show",
|
60
65
|
action="store_true",
|
61
66
|
dest="show",
|
62
67
|
help="Show plot window",
|
63
68
|
)
|
64
69
|
|
70
|
+
# Exchange interaction options (same as in magnon bands)
|
71
|
+
parser.add_argument(
|
72
|
+
"-j",
|
73
|
+
"--Jiso",
|
74
|
+
action="store_true",
|
75
|
+
default=True,
|
76
|
+
help="Include isotropic exchange interactions (default: True)",
|
77
|
+
)
|
78
|
+
parser.add_argument(
|
79
|
+
"--no-Jiso",
|
80
|
+
action="store_false",
|
81
|
+
dest="Jiso",
|
82
|
+
help="Exclude isotropic exchange interactions",
|
83
|
+
)
|
84
|
+
parser.add_argument(
|
85
|
+
"-a",
|
86
|
+
"--Jani",
|
87
|
+
action="store_true",
|
88
|
+
default=False,
|
89
|
+
help="Include anisotropic exchange interactions (default: False)",
|
90
|
+
)
|
91
|
+
parser.add_argument(
|
92
|
+
"-d",
|
93
|
+
"--DMI",
|
94
|
+
action="store_true",
|
95
|
+
default=False,
|
96
|
+
help="Include Dzyaloshinskii-Moriya interactions (default: False)",
|
97
|
+
)
|
98
|
+
|
99
|
+
# Reference vector options (same as in magnon bands)
|
100
|
+
parser.add_argument(
|
101
|
+
"-q",
|
102
|
+
"--Q",
|
103
|
+
nargs=3,
|
104
|
+
type=float,
|
105
|
+
metavar=("Qx", "Qy", "Qz"),
|
106
|
+
help="Propagation vector [Qx, Qy, Qz] (default: [0, 0, 0])",
|
107
|
+
)
|
108
|
+
parser.add_argument(
|
109
|
+
"-u",
|
110
|
+
"--uz-file",
|
111
|
+
type=str,
|
112
|
+
help="Path to file containing quantization axes for each spin (nspin×3 array)",
|
113
|
+
)
|
114
|
+
parser.add_argument(
|
115
|
+
"-c",
|
116
|
+
"--spin-conf-file",
|
117
|
+
type=str,
|
118
|
+
help="Path to file containing magnetic moments for each spin (nspin×3 array)",
|
119
|
+
)
|
120
|
+
parser.add_argument(
|
121
|
+
"-v",
|
122
|
+
"--n",
|
123
|
+
nargs=3,
|
124
|
+
type=float,
|
125
|
+
metavar=("nx", "ny", "nz"),
|
126
|
+
help="Normal vector for rotation [nx, ny, nz] (default: [0, 0, 1])",
|
127
|
+
)
|
128
|
+
|
65
129
|
args = parser.parse_args()
|
66
130
|
|
67
131
|
# Check if TB2J results exist
|
68
132
|
if not Path(args.path).exists():
|
69
133
|
raise FileNotFoundError(f"TB2J results not found at {args.path}")
|
70
134
|
|
71
|
-
# Load magnon calculator
|
135
|
+
# Load magnon calculator with exchange interaction options
|
72
136
|
print(f"Loading exchange parameters from {args.path}...")
|
73
|
-
magnon = Magnon.from_TB2J_results(
|
137
|
+
magnon = Magnon.from_TB2J_results(
|
138
|
+
path=args.path, Jiso=args.Jiso, Jani=args.Jani, DMI=args.DMI
|
139
|
+
)
|
140
|
+
|
141
|
+
# Set reference vectors if provided (same logic as in magnon bands)
|
142
|
+
Q = [0, 0, 0] if args.Q is None else args.Q
|
143
|
+
n = [0, 0, 1] if args.n is None else args.n
|
144
|
+
|
145
|
+
# Handle quantization axes
|
146
|
+
if args.uz_file is not None:
|
147
|
+
# Make path relative to TB2J results if not absolute
|
148
|
+
uz_file = args.uz_file
|
149
|
+
if not Path(uz_file).is_absolute():
|
150
|
+
uz_file = str(Path(args.path) / uz_file)
|
151
|
+
|
152
|
+
uz = np.loadtxt(uz_file)
|
153
|
+
if uz.shape[1] != 3:
|
154
|
+
raise ValueError(
|
155
|
+
f"Quantization axes file should contain a nspin×3 array. Got shape {uz.shape}"
|
156
|
+
)
|
157
|
+
if uz.shape[0] != magnon.nspin:
|
158
|
+
raise ValueError(
|
159
|
+
f"Number of spins in uz file ({uz.shape[0]}) does not match the system ({magnon.nspin})"
|
160
|
+
)
|
161
|
+
else:
|
162
|
+
# Default: [0, 0, 1] for all spins
|
163
|
+
uz = np.array([[0, 0, 1]], dtype=float)
|
164
|
+
|
165
|
+
# Handle spin configuration
|
166
|
+
if args.spin_conf_file is not None:
|
167
|
+
# Make path relative to TB2J results if not absolute
|
168
|
+
spin_conf_file = args.spin_conf_file
|
169
|
+
if not Path(spin_conf_file).is_absolute():
|
170
|
+
spin_conf_file = str(Path(args.path) / spin_conf_file)
|
171
|
+
|
172
|
+
magmoms = np.loadtxt(spin_conf_file)
|
173
|
+
if magmoms.shape[1] != 3:
|
174
|
+
raise ValueError(
|
175
|
+
f"Spin configuration file should contain a nspin×3 array. Got shape {magmoms.shape}"
|
176
|
+
)
|
177
|
+
if magmoms.shape[0] != magnon.nspin:
|
178
|
+
raise ValueError(
|
179
|
+
f"Number of spins in spin configuration file ({magmoms.shape[0]}) does not match the system ({magnon.nspin})"
|
180
|
+
)
|
181
|
+
else:
|
182
|
+
magmoms = None
|
183
|
+
|
184
|
+
# Set reference configuration
|
185
|
+
magnon.set_reference(Q, uz, n, magmoms)
|
74
186
|
|
75
187
|
# Convert window from meV to eV if provided
|
76
188
|
window = None
|
@@ -1,15 +1,10 @@
|
|
1
1
|
#!/usr/bin/env python3
|
2
|
+
import warnings
|
2
3
|
|
4
|
+
from TB2J.magnon.magnon3 import main
|
3
5
|
|
4
|
-
|
5
|
-
|
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
|
-
"""
|
6
|
+
warnings.warn(
|
7
|
+
"""
|
13
8
|
# !!!!!!!!!!!!!!!!!! WARNING: =============================
|
14
9
|
#
|
15
10
|
# This functionality is under development and should not be used in production.
|
@@ -20,8 +15,8 @@ if __name__ == "__main__":
|
|
20
15
|
# =====================================
|
21
16
|
|
22
17
|
""",
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
18
|
+
UserWarning,
|
19
|
+
stacklevel=2,
|
20
|
+
)
|
21
|
+
# Call the main function from the magnons module
|
22
|
+
main()
|
@@ -1,3 +1,4 @@
|
|
1
|
+
TB2J/.gitignore,sha256=0Q9EiAAZLJpONgoHwR1XcEskJykFEKfCc45KGH-C3zI,68
|
1
2
|
TB2J/Jdownfolder.py,sha256=U6R8v6ZC-AgMA6wvvFPyacXX_lYJcRu1kzNr7aVB1tg,10827
|
2
3
|
TB2J/Jtensor.py,sha256=WRhpp5N92a6lA1jeM1hc7jYUoTOLIdMnIIKpdOyzjR4,3192
|
3
4
|
TB2J/MAE.py,sha256=fM8U-Dgp9HcQOEeC_kyZV1oVrygBvcux9BraUXVouvY,10994
|
@@ -46,6 +47,7 @@ TB2J/interfaces/lawaf_interface.py,sha256=PieLnmppdafOYsgeHznqOou1g9L1sam5jOm3Ka
|
|
46
47
|
TB2J/interfaces/manager.py,sha256=PQMLEfMCT5GnDWSl2nI4JOgRPm_fysyR-6Y6l97xWcw,860
|
47
48
|
TB2J/interfaces/siesta_interface.py,sha256=Te9-Au0ZGAt-LfEnG8exUFD4lMj6uZu8RmHjopb0XLU,7595
|
48
49
|
TB2J/interfaces/wannier90_interface.py,sha256=qzRgXUBb7t1Aiegrl_RV51BB8csdtVM0EP0Z4pjmTcs,4467
|
50
|
+
TB2J/interfaces/abacus/.gitignore,sha256=Iytg6TR3gOh014q9m7ReuCKYmx-Qi-o3SgILYB2WRtU,20
|
49
51
|
TB2J/interfaces/abacus/__init__.py,sha256=leas71oCvM_HxrF4gnO5A_VKcJmDAgsI1BUctLU3OBw,177
|
50
52
|
TB2J/interfaces/abacus/abacus_api.py,sha256=lNV4LNkLcKw7Zux4MQYM9wnh3eFTlcSqbf4Pb7pqhrk,7243
|
51
53
|
TB2J/interfaces/abacus/abacus_wrapper.py,sha256=bQFnvvy-0hruTavH_VspMk1wD32t2UFybEkCgwkwle0,11941
|
@@ -64,13 +66,13 @@ TB2J/io_exchange/io_uppasd.py,sha256=bI4iPEgnK4TvCZNvb6x2xYXgjW7pEehCqmcizy2pqFU
|
|
64
66
|
TB2J/io_exchange/io_vampire.py,sha256=vOStLmtCiWLp9GPhZpsAmrtaRHg9KSmtOM2Fky6yCQA,5762
|
65
67
|
TB2J/magnon/__init__.py,sha256=Q69duroGIIotgW_71ZdHYarSiJLGAu9NPYgEacUk6eI,117
|
66
68
|
TB2J/magnon/io_exchange2.py,sha256=EcC3x6H13qq61WBsr__xKzHDtSvy_dMz1tEdUaqSG2I,23265
|
67
|
-
TB2J/magnon/magnon3.py,sha256=
|
69
|
+
TB2J/magnon/magnon3.py,sha256=ecMCCAZiBCPyEPdNI60h5rV0nRyjFeB40FIX8-o87kE,31801
|
68
70
|
TB2J/magnon/magnon_band.py,sha256=ZLHK1qf2Clu9jlcvBwBCBEi1MrPfy2BWrow8JJ2v5pk,6103
|
69
71
|
TB2J/magnon/magnon_dos.py,sha256=uztzsxCmFZpDHl-JziaUb_NNwBeZw9-L2ozd3XNTvxI,8506
|
70
72
|
TB2J/magnon/magnon_io.py,sha256=H4bmzCcnh1D3Sb6UBIIKWa6jIrA20dg9lX4wfLXHEjo,1241
|
71
73
|
TB2J/magnon/magnon_math.py,sha256=0mVQY5tXe6fHsfijivXf-1-Tk-Ku02Gv7-TdAd8qUpc,1359
|
72
74
|
TB2J/magnon/plot.py,sha256=oNavax15jRfW4Sxl6FgwLXSrMntyVz2cgVDbmgkWehw,3193
|
73
|
-
TB2J/magnon/plot_magnon_dos_cli.py,sha256=
|
75
|
+
TB2J/magnon/plot_magnon_dos_cli.py,sha256=y3R2DPTuK5Jw9rdnBooWNczQM-s8s_blCP5Wd2zaIWg,6124
|
74
76
|
TB2J/magnon/structure.py,sha256=rKefzXgQlEjVvV-A7E2IogVDWwf5egZr3Wxxu6HuJU4,7685
|
75
77
|
TB2J/mathutils/__init__.py,sha256=E70Mx8mLXh3DJGmdN3TLWmGYMcsbvKxmgxUbAI6Mzmo,49
|
76
78
|
TB2J/mathutils/auto_kpath.py,sha256=bDXDyQzRByVpPSOpz7NU7F5hYqS6IX-47lwWoMU89lM,4978
|
@@ -85,7 +87,7 @@ TB2J/scripts/TB2J_magnon.py,sha256=fz9nOv5dMy1e0Dac3eGtiNODvdfTnfLlM7jvYbShiN0,3
|
|
85
87
|
TB2J/scripts/TB2J_magnon2.py,sha256=mfDrkjK9DpXeKl6jLdACzAD6ArAWBCmC-TPb-vCWpJs,1934
|
86
88
|
TB2J/scripts/TB2J_magnon_dos.py,sha256=xQlI6u31Oyv9Yua73_Qa5cF1cnvg1PNrTy1VXs4dcBk,107
|
87
89
|
TB2J/scripts/TB2J_merge.py,sha256=Fw9Y4fVmptWWMtOXA71xi4ebPWhsvb6dCSVOga6GguA,2110
|
88
|
-
TB2J/scripts/TB2J_plot_magnon_bands.py,sha256=
|
90
|
+
TB2J/scripts/TB2J_plot_magnon_bands.py,sha256=x5WkiI-pkVHqCTa2e5qNWaeAvyXmchqY8BMeTW13dFs,636
|
89
91
|
TB2J/scripts/TB2J_rotate.py,sha256=WneOj6NBMDzVlpLXnq9tZqnJqTATfv_zmgl4EltD118,859
|
90
92
|
TB2J/scripts/TB2J_rotateDM.py,sha256=lH71mkg0BKDGVLoK7VvmIPkf2mCjyc0V5l9rZZgyfP4,570
|
91
93
|
TB2J/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -105,9 +107,9 @@ TB2J/spinham/supercell.py,sha256=y17uUC6r3gQb278FhxIW4CABihfLTvKFj6flyXrCPR8,122
|
|
105
107
|
TB2J/wannier/__init__.py,sha256=7ojCbM84PYv1X1Tbo4NHI-d3gWmQsZB_xiYqbfxVV1E,80
|
106
108
|
TB2J/wannier/w90_parser.py,sha256=dbd63LuKyv2DVUzqRINGsbDzEsOxsQyE8_Ear_LQIRg,4620
|
107
109
|
TB2J/wannier/w90_tb_parser.py,sha256=qt8pnuprmPp9iIAYwPkPbmEzk6ZPgMq2xognoQp7vwc,4610
|
108
|
-
tb2j-0.9.
|
109
|
-
tb2j-0.9.
|
110
|
-
tb2j-0.9.
|
111
|
-
tb2j-0.9.
|
112
|
-
tb2j-0.9.
|
113
|
-
tb2j-0.9.
|
110
|
+
tb2j-0.9.12.3.dist-info/licenses/LICENSE,sha256=CbZI-jyRTjiqIcWa244cRSHJdjjtUNqGR4HeJkgEwJw,1332
|
111
|
+
tb2j-0.9.12.3.dist-info/METADATA,sha256=lx-rEx7n_YMV3OHN6bQVX6xIELa-3J_aVX-yn6KeDHA,4138
|
112
|
+
tb2j-0.9.12.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
113
|
+
tb2j-0.9.12.3.dist-info/entry_points.txt,sha256=2Z_kDfyv6rWCsClgeyMqt6H3UXoTOkTmWsJtI3o9FLw,795
|
114
|
+
tb2j-0.9.12.3.dist-info/top_level.txt,sha256=whYa5ByLYhl5XnTPBHSWr-IGD6VWmr5Ql2bye2qwV_s,5
|
115
|
+
tb2j-0.9.12.3.dist-info/RECORD,,
|
@@ -5,7 +5,7 @@ TB2J_magnon.py = TB2J.scripts.TB2J_magnon:main
|
|
5
5
|
TB2J_magnon2.py = TB2J.scripts.TB2J_magnon2:main
|
6
6
|
TB2J_magnon_dos.py = TB2J.scripts.TB2J_magnon_dos:main
|
7
7
|
TB2J_merge.py = TB2J.scripts.TB2J_merge:main
|
8
|
-
TB2J_plot_magnon_bands.py = TB2J.
|
8
|
+
TB2J_plot_magnon_bands.py = TB2J.magnon.magnon3:plot_magnon_bands_cli
|
9
9
|
TB2J_plot_magnon_dos.py = TB2J.magnon.plot_magnon_dos_cli:main
|
10
10
|
TB2J_rotate.py = TB2J.scripts.TB2J_rotate:main
|
11
11
|
TB2J_rotateDM.py = TB2J.scripts.TB2J_rotateDM:main
|
File without changes
|
File without changes
|
File without changes
|