TB2J 0.9.11.1__py3-none-any.whl → 0.9.11.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/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
- if any(x is not None for x in [params.Q, params.uz_file, params.n]):
657
- Q = [0, 0, 0] if params.Q is None else params.Q
658
- n = [0, 0, 1] if params.n is None else params.n
659
-
660
- # Handle quantization axes
661
- if params.uz_file is not None:
662
- uz = np.loadtxt(params.uz_file)
663
- if uz.shape[1] != 3:
664
- raise ValueError(
665
- f"Quantization axes file should contain a natom×3 array. Got shape {uz.shape}"
666
- )
667
- if uz.shape[0] != magnon.nspin:
668
- raise ValueError(
669
- f"Number of spins in uz file ({uz.shape[0]}) does not match the system ({magnon.nspin})"
670
- )
671
- else:
672
- # Default: [0, 0, 1] for all spins
673
- uz = np.array([[0.0, 0.0, 1.0] for _ in range(magnon.nspin)])
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
- magnon.set_reference(Q, uz, n)
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}...")
@@ -737,27 +756,32 @@ def main():
737
756
 
738
757
  # Command line arguments (used if no config file is provided)
739
758
  parser.add_argument(
759
+ "-p",
740
760
  "--path",
741
761
  default="TB2J_results",
742
762
  help="Path to TB2J results directory (default: TB2J_results)",
743
763
  )
744
764
  parser.add_argument(
765
+ "-k",
745
766
  "--kpath",
746
767
  default=None,
747
768
  help="k-path specification (default: auto-detected from type of cell)",
748
769
  )
749
770
  parser.add_argument(
771
+ "-n",
750
772
  "--npoints",
751
773
  type=int,
752
774
  default=300,
753
775
  help="Number of k-points along the path (default: 300)",
754
776
  )
755
777
  parser.add_argument(
778
+ "-o",
756
779
  "--output",
757
780
  default="magnon_bands.png",
758
781
  help="Output file name (default: magnon_bands.png)",
759
782
  )
760
783
  parser.add_argument(
784
+ "-j",
761
785
  "--Jiso",
762
786
  action="store_true",
763
787
  default=True,
@@ -770,18 +794,21 @@ def main():
770
794
  help="Exclude isotropic exchange interactions",
771
795
  )
772
796
  parser.add_argument(
797
+ "-a",
773
798
  "--Jani",
774
799
  action="store_true",
775
800
  default=False,
776
801
  help="Include anisotropic exchange interactions (default: False)",
777
802
  )
778
803
  parser.add_argument(
804
+ "-d",
779
805
  "--DMI",
780
806
  action="store_true",
781
807
  default=False,
782
808
  help="Include Dzyaloshinskii-Moriya interactions (default: False)",
783
809
  )
784
810
  parser.add_argument(
811
+ "-q",
785
812
  "--Q",
786
813
  nargs=3,
787
814
  type=float,
@@ -789,11 +816,19 @@ def main():
789
816
  help="Propagation vector [Qx, Qy, Qz] (default: [0, 0, 0])",
790
817
  )
791
818
  parser.add_argument(
819
+ "-u",
792
820
  "--uz-file",
793
821
  type=str,
794
- help="Path to file containing quantization axes for each spin (natom×3 array)",
822
+ help="Path to file containing quantization axes for each spin (nspin×3 array)",
823
+ )
824
+ parser.add_argument(
825
+ "-c",
826
+ "--spin-conf-file",
827
+ type=str,
828
+ help="Path to file containing magnetic moments for each spin (nspin×3 array)",
795
829
  )
796
830
  parser.add_argument(
831
+ "-v",
797
832
  "--n",
798
833
  nargs=3,
799
834
  type=float,
@@ -802,6 +837,7 @@ def main():
802
837
  )
803
838
 
804
839
  parser.add_argument(
840
+ "-s",
805
841
  "--show",
806
842
  action="store_true",
807
843
  default=False,
@@ -833,6 +869,7 @@ def main():
833
869
  DMI=args.DMI,
834
870
  Q=args.Q if args.Q is not None else None,
835
871
  uz_file=args.uz_file,
872
+ spin_conf_file=args.spin_conf_file,
836
873
  n=args.n if args.n is not None else None,
837
874
  show=args.show,
838
875
  )
@@ -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
- "-show",
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(path=args.path)
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,7 +1,8 @@
1
1
  #!/usr/bin/env python3
2
+ import argparse
3
+
2
4
  from TB2J.plot import write_eigen
3
5
  from TB2J.versioninfo import print_license
4
- import argparse
5
6
 
6
7
  """
7
8
  The script to plot the magnon band structure.
@@ -1,7 +1,8 @@
1
1
  #!/usr/bin/env python3
2
+ import argparse
3
+
2
4
  from TB2J.plot import plot_magnon_band, write_eigen
3
5
  from TB2J.versioninfo import print_license
4
- import argparse
5
6
 
6
7
  """
7
8
  The script to plot the magnon band structure.
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env python3
2
2
 
3
- from TB2J.plot import plot_magnon_dos, command_line_plot_magnon_dos
3
+ from TB2J.plot import command_line_plot_magnon_dos
4
4
 
5
5
  command_line_plot_magnon_dos()
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env python3
2
2
  import argparse
3
- from TB2J.rotate_atoms import rotate_atom_xyz, rotate_xyz, check_ftype
3
+
4
+ from TB2J.rotate_atoms import rotate_xyz
4
5
 
5
6
 
6
7
  def main():
@@ -17,7 +18,7 @@ def main():
17
18
  parser.add_argument(
18
19
  "--noncollinear",
19
20
  action="store_true",
20
- help="If present, six different configurations will be generated. These are required for non-collinear systems."
21
+ help="If present, six different configurations will be generated. These are required for non-collinear systems.",
21
22
  )
22
23
 
23
24
  args = parser.parse_args()
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env python3
2
2
  import argparse
3
+
3
4
  from TB2J.rotate_siestaDM import rotate_DM
4
5
 
6
+
5
7
  def main():
6
8
  parser = argparse.ArgumentParser(description="")
7
- parser.add_argument(
8
- "--fdf_fname", help="Name of the *.fdf siesta file."
9
- )
9
+ parser.add_argument("--fdf_fname", help="Name of the *.fdf siesta file.")
10
10
  parser.add_argument(
11
11
  "--noncollinear",
12
12
  action="store_true",
13
- help="If present, six different configurations will be generated. These are required for non-collinear systems."
13
+ help="If present, six different configurations will be generated. These are required for non-collinear systems.",
14
14
  )
15
15
 
16
16
  args = parser.parse_args()
File without changes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: TB2J
3
- Version: 0.9.11.1
3
+ Version: 0.9.11.3
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>
@@ -1,4 +1,3 @@
1
- TB2J/.gitignore,sha256=0Q9EiAAZLJpONgoHwR1XcEskJykFEKfCc45KGH-C3zI,68
2
1
  TB2J/Jdownfolder.py,sha256=U6R8v6ZC-AgMA6wvvFPyacXX_lYJcRu1kzNr7aVB1tg,10827
3
2
  TB2J/Jtensor.py,sha256=WRhpp5N92a6lA1jeM1hc7jYUoTOLIdMnIIKpdOyzjR4,3192
4
3
  TB2J/MAE.py,sha256=fM8U-Dgp9HcQOEeC_kyZV1oVrygBvcux9BraUXVouvY,10994
@@ -47,7 +46,6 @@ TB2J/interfaces/lawaf_interface.py,sha256=PieLnmppdafOYsgeHznqOou1g9L1sam5jOm3Ka
47
46
  TB2J/interfaces/manager.py,sha256=PQMLEfMCT5GnDWSl2nI4JOgRPm_fysyR-6Y6l97xWcw,860
48
47
  TB2J/interfaces/siesta_interface.py,sha256=Te9-Au0ZGAt-LfEnG8exUFD4lMj6uZu8RmHjopb0XLU,7595
49
48
  TB2J/interfaces/wannier90_interface.py,sha256=qzRgXUBb7t1Aiegrl_RV51BB8csdtVM0EP0Z4pjmTcs,4467
50
- TB2J/interfaces/abacus/.gitignore,sha256=Iytg6TR3gOh014q9m7ReuCKYmx-Qi-o3SgILYB2WRtU,20
51
49
  TB2J/interfaces/abacus/__init__.py,sha256=leas71oCvM_HxrF4gnO5A_VKcJmDAgsI1BUctLU3OBw,177
52
50
  TB2J/interfaces/abacus/abacus_api.py,sha256=lNV4LNkLcKw7Zux4MQYM9wnh3eFTlcSqbf4Pb7pqhrk,7243
53
51
  TB2J/interfaces/abacus/abacus_wrapper.py,sha256=bQFnvvy-0hruTavH_VspMk1wD32t2UFybEkCgwkwle0,11941
@@ -66,13 +64,13 @@ TB2J/io_exchange/io_uppasd.py,sha256=bI4iPEgnK4TvCZNvb6x2xYXgjW7pEehCqmcizy2pqFU
66
64
  TB2J/io_exchange/io_vampire.py,sha256=vOStLmtCiWLp9GPhZpsAmrtaRHg9KSmtOM2Fky6yCQA,5762
67
65
  TB2J/magnon/__init__.py,sha256=Q69duroGIIotgW_71ZdHYarSiJLGAu9NPYgEacUk6eI,117
68
66
  TB2J/magnon/io_exchange2.py,sha256=EcC3x6H13qq61WBsr__xKzHDtSvy_dMz1tEdUaqSG2I,23265
69
- TB2J/magnon/magnon3.py,sha256=PFZFiyfYTIBscVu8SzvGxtrXhT-QM66EwIhWOqgSYQE,30219
67
+ TB2J/magnon/magnon3.py,sha256=evCwmmq4Ah8scGVUdEprM7BLRUbWme4M8sF-1wznEoI,31360
70
68
  TB2J/magnon/magnon_band.py,sha256=ZLHK1qf2Clu9jlcvBwBCBEi1MrPfy2BWrow8JJ2v5pk,6103
71
69
  TB2J/magnon/magnon_dos.py,sha256=uztzsxCmFZpDHl-JziaUb_NNwBeZw9-L2ozd3XNTvxI,8506
72
70
  TB2J/magnon/magnon_io.py,sha256=H4bmzCcnh1D3Sb6UBIIKWa6jIrA20dg9lX4wfLXHEjo,1241
73
71
  TB2J/magnon/magnon_math.py,sha256=0mVQY5tXe6fHsfijivXf-1-Tk-Ku02Gv7-TdAd8qUpc,1359
74
72
  TB2J/magnon/plot.py,sha256=oNavax15jRfW4Sxl6FgwLXSrMntyVz2cgVDbmgkWehw,3193
75
- TB2J/magnon/plot_magnon_dos_cli.py,sha256=XVozodrIO_w4FBhp-ZcpIZbyGWLdegUFLdvY5zL3XOI,2592
73
+ TB2J/magnon/plot_magnon_dos_cli.py,sha256=y3R2DPTuK5Jw9rdnBooWNczQM-s8s_blCP5Wd2zaIWg,6124
76
74
  TB2J/magnon/structure.py,sha256=rKefzXgQlEjVvV-A7E2IogVDWwf5egZr3Wxxu6HuJU4,7685
77
75
  TB2J/mathutils/__init__.py,sha256=E70Mx8mLXh3DJGmdN3TLWmGYMcsbvKxmgxUbAI6Mzmo,49
78
76
  TB2J/mathutils/auto_kpath.py,sha256=bDXDyQzRByVpPSOpz7NU7F5hYqS6IX-47lwWoMU89lM,4978
@@ -82,14 +80,15 @@ TB2J/mathutils/kR_convert.py,sha256=p_9XWJVNanTzTK2rI6KRjTkbSq42la6N448-zJOsMwY,
82
80
  TB2J/mathutils/lowdin.py,sha256=RYbm9OcnFnjcZFdC5YcNUsI9cOJmoDLsWSSCaP0GqKQ,499
83
81
  TB2J/mathutils/rotate_spin.py,sha256=sPTnwJThfohCHIY7EuzBV2K3mIXcJI5y1QBytGmEKR4,8229
84
82
  TB2J/scripts/TB2J_downfold.py,sha256=f1CPuka_uOcvwBKDWAaseRZ04Bqyx_Cor5PvU6LyIsU,2600
85
- TB2J/scripts/TB2J_eigen.py,sha256=Pz2c9ZwWx2io5uW6QFI_XRs-3-HtCwlEi1Dzd2swsAY,1142
86
- TB2J/scripts/TB2J_magnon.py,sha256=YwjXMvH_dl5CljjkqcpYSlvYUd6sK78PVyMcUkz9jS8,3115
83
+ TB2J/scripts/TB2J_eigen.py,sha256=vgy8Fama3J-bep3Ej8oJlDDNq6LFWay6Hr9uaVkoLzM,1143
84
+ TB2J/scripts/TB2J_magnon.py,sha256=fz9nOv5dMy1e0Dac3eGtiNODvdfTnfLlM7jvYbShiN0,3116
87
85
  TB2J/scripts/TB2J_magnon2.py,sha256=mfDrkjK9DpXeKl6jLdACzAD6ArAWBCmC-TPb-vCWpJs,1934
88
- TB2J/scripts/TB2J_magnon_dos.py,sha256=uuNLuLadwgdzVb4OKfsY_92wRx9y7qdzK6vzH4AK1Ps,124
86
+ TB2J/scripts/TB2J_magnon_dos.py,sha256=xQlI6u31Oyv9Yua73_Qa5cF1cnvg1PNrTy1VXs4dcBk,107
89
87
  TB2J/scripts/TB2J_merge.py,sha256=Fw9Y4fVmptWWMtOXA71xi4ebPWhsvb6dCSVOga6GguA,2110
90
88
  TB2J/scripts/TB2J_plot_magnon_bands.py,sha256=0HxjN5-gYrlqQsppQs94BCp6aynBGt-QMK-5QiFPgDg,888
91
- TB2J/scripts/TB2J_rotate.py,sha256=d4CSJB2bmlsGI8eKxHU8dm072_CONQ86i6uZE1ZCkMk,887
92
- TB2J/scripts/TB2J_rotateDM.py,sha256=zJ2pepVaLHeZdvewAOHbtYukq_Wxf3yzAaUGc6elQoQ,581
89
+ TB2J/scripts/TB2J_rotate.py,sha256=WneOj6NBMDzVlpLXnq9tZqnJqTATfv_zmgl4EltD118,859
90
+ TB2J/scripts/TB2J_rotateDM.py,sha256=lH71mkg0BKDGVLoK7VvmIPkf2mCjyc0V5l9rZZgyfP4,570
91
+ TB2J/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
92
  TB2J/scripts/abacus2J.py,sha256=3DE3EjRIcI0ydBQoH3WTGpYKYMEVL53hnB8PQ4gojdk,1809
94
93
  TB2J/scripts/siesta2J.py,sha256=2CrS-wfVr0W2NaGvY9niNslC0xoX0WgDZFlrmIWUr20,2332
95
94
  TB2J/scripts/wann2J.py,sha256=djLBG3t4oEimokMG6TIFHyjp8u8DtnizN9coQXOTN7U,3254
@@ -106,9 +105,9 @@ TB2J/spinham/supercell.py,sha256=y17uUC6r3gQb278FhxIW4CABihfLTvKFj6flyXrCPR8,122
106
105
  TB2J/wannier/__init__.py,sha256=7ojCbM84PYv1X1Tbo4NHI-d3gWmQsZB_xiYqbfxVV1E,80
107
106
  TB2J/wannier/w90_parser.py,sha256=dbd63LuKyv2DVUzqRINGsbDzEsOxsQyE8_Ear_LQIRg,4620
108
107
  TB2J/wannier/w90_tb_parser.py,sha256=qt8pnuprmPp9iIAYwPkPbmEzk6ZPgMq2xognoQp7vwc,4610
109
- tb2j-0.9.11.1.dist-info/licenses/LICENSE,sha256=CbZI-jyRTjiqIcWa244cRSHJdjjtUNqGR4HeJkgEwJw,1332
110
- tb2j-0.9.11.1.dist-info/METADATA,sha256=ssXsEP9mkpL3viTxoA6YkhpMXr0LrZwNqufo0mn5MmA,4138
111
- tb2j-0.9.11.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
112
- tb2j-0.9.11.1.dist-info/entry_points.txt,sha256=_URI37R-iFE-WZoz1hOWTveskbyXYbA2gIn4cIunwOo,794
113
- tb2j-0.9.11.1.dist-info/top_level.txt,sha256=whYa5ByLYhl5XnTPBHSWr-IGD6VWmr5Ql2bye2qwV_s,5
114
- tb2j-0.9.11.1.dist-info/RECORD,,
108
+ tb2j-0.9.11.3.dist-info/licenses/LICENSE,sha256=CbZI-jyRTjiqIcWa244cRSHJdjjtUNqGR4HeJkgEwJw,1332
109
+ tb2j-0.9.11.3.dist-info/METADATA,sha256=EjxeUw7A64SykJvrISRM_04PsxO5MamHN5VXUAezJcA,4138
110
+ tb2j-0.9.11.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
111
+ tb2j-0.9.11.3.dist-info/entry_points.txt,sha256=_URI37R-iFE-WZoz1hOWTveskbyXYbA2gIn4cIunwOo,794
112
+ tb2j-0.9.11.3.dist-info/top_level.txt,sha256=whYa5ByLYhl5XnTPBHSWr-IGD6VWmr5Ql2bye2qwV_s,5
113
+ tb2j-0.9.11.3.dist-info/RECORD,,
TB2J/.gitignore DELETED
@@ -1,5 +0,0 @@
1
- *.o
2
- *.x
3
- *.mod
4
- exchanges.sublime-project
5
- exchanges.sublime-workspace
@@ -1,2 +0,0 @@
1
- TB2J_results/
2
- *.png