TB2J 0.9.9rc3__tar.gz → 0.9.9rc4__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.
Files changed (99) hide show
  1. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/PKG-INFO +1 -1
  2. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/symmetrize_J.py +22 -5
  3. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J.egg-info/PKG-INFO +1 -1
  4. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/setup.py +1 -1
  5. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/LICENSE +0 -0
  6. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/README.md +0 -0
  7. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/Jdownfolder.py +0 -0
  8. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/Jtensor.py +0 -0
  9. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/MAE.py +0 -0
  10. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/MAEGreen.py +0 -0
  11. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/Oiju.py +0 -0
  12. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/Oiju_epc.py +0 -0
  13. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/__init__.py +0 -0
  14. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/anisotropy.py +0 -0
  15. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/basis.py +0 -0
  16. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/citation.py +0 -0
  17. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/contour.py +0 -0
  18. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/density_matrix.py +0 -0
  19. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/epc.py +0 -0
  20. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/exchange.py +0 -0
  21. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/exchangeCL2.py +0 -0
  22. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/exchange_params.py +0 -0
  23. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/exchange_pert.py +0 -0
  24. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/exchange_qspace.py +0 -0
  25. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/external/__init__.py +0 -0
  26. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/external/p_tqdm.py +0 -0
  27. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/gpaw_wrapper.py +0 -0
  28. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/green.py +0 -0
  29. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/greentest.py +0 -0
  30. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/interfaces/__init__.py +0 -0
  31. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/interfaces/abacus/__init__.py +0 -0
  32. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/interfaces/abacus/abacus_api.py +0 -0
  33. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/interfaces/abacus/abacus_wrapper.py +0 -0
  34. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/interfaces/abacus/gen_exchange_abacus.py +0 -0
  35. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/interfaces/abacus/orbital_api.py +0 -0
  36. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/interfaces/abacus/stru_api.py +0 -0
  37. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/interfaces/abacus/test_density_matrix.py +0 -0
  38. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/interfaces/abacus/test_read_HRSR.py +0 -0
  39. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/interfaces/abacus/test_read_stru.py +0 -0
  40. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/interfaces/gpaw_interface.py +0 -0
  41. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/interfaces/lawaf_interface.py +0 -0
  42. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/interfaces/manager.py +0 -0
  43. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/interfaces/siesta_interface.py +0 -0
  44. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/interfaces/wannier90_interface.py +0 -0
  45. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/io_exchange/__init__.py +0 -0
  46. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/io_exchange/io_exchange.py +0 -0
  47. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/io_exchange/io_multibinit.py +0 -0
  48. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/io_exchange/io_tomsasd.py +0 -0
  49. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/io_exchange/io_txt.py +0 -0
  50. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/io_exchange/io_uppasd.py +0 -0
  51. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/io_exchange/io_vampire.py +0 -0
  52. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/io_merge.py +0 -0
  53. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/kpoints.py +0 -0
  54. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/mathutils/__init__.py +0 -0
  55. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/mathutils/fermi.py +0 -0
  56. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/mathutils/kR_convert.py +0 -0
  57. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/mathutils/lowdin.py +0 -0
  58. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/mathutils/rotate_spin.py +0 -0
  59. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/myTB.py +0 -0
  60. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/orbmap.py +0 -0
  61. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/pauli.py +0 -0
  62. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/pert.py +0 -0
  63. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/plot.py +0 -0
  64. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/rotate_atoms.py +0 -0
  65. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/rotate_siestaDM.py +0 -0
  66. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/sisl_wrapper.py +0 -0
  67. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/spinham/__init__.py +0 -0
  68. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/spinham/base_parser.py +0 -0
  69. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/spinham/constants.py +0 -0
  70. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/spinham/hamiltonian.py +0 -0
  71. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/spinham/hamiltonian_terms.py +0 -0
  72. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/spinham/plot.py +0 -0
  73. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/spinham/qsolver.py +0 -0
  74. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/spinham/spin_api.py +0 -0
  75. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/spinham/spin_xml.py +0 -0
  76. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/spinham/supercell.py +0 -0
  77. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/tensor_rotate.py +0 -0
  78. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/utest.py +0 -0
  79. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/utils.py +0 -0
  80. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/versioninfo.py +0 -0
  81. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/wannier/__init__.py +0 -0
  82. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/wannier/w90_parser.py +0 -0
  83. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J/wannier/w90_tb_parser.py +0 -0
  84. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J.egg-info/SOURCES.txt +0 -0
  85. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J.egg-info/dependency_links.txt +0 -0
  86. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J.egg-info/entry_points.txt +0 -0
  87. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J.egg-info/requires.txt +0 -0
  88. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/TB2J.egg-info/top_level.txt +0 -0
  89. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/scripts/TB2J_downfold.py +0 -0
  90. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/scripts/TB2J_eigen.py +0 -0
  91. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/scripts/TB2J_magnon.py +0 -0
  92. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/scripts/TB2J_magnon_dos.py +0 -0
  93. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/scripts/TB2J_merge.py +0 -0
  94. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/scripts/TB2J_rotate.py +0 -0
  95. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/scripts/TB2J_rotateDM.py +0 -0
  96. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/scripts/abacus2J.py +0 -0
  97. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/scripts/siesta2J.py +0 -0
  98. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/scripts/wann2J.py +0 -0
  99. {tb2j-0.9.9rc3 → tb2j-0.9.9rc4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: TB2J
3
- Version: 0.9.9rc3
3
+ Version: 0.9.9rc4
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
@@ -1,16 +1,19 @@
1
- from sympair import SymmetryPairFinder, SymmetryPairGroupDict
2
- import numpy as np
1
+ import copy
3
2
  from pathlib import Path
3
+
4
+ import numpy as np
5
+ from sympair import SymmetryPairFinder
6
+
4
7
  from TB2J.versioninfo import print_license
5
- import copy
6
8
 
7
9
 
8
10
  class TB2JSymmetrizer:
9
- def __init__(self, exc, symprec=1e-8, verbose=True):
11
+ def __init__(self, exc, symprec=1e-8, verbose=True, Jonly=False):
10
12
  # list of pairs with the index of atoms
11
13
  ijRs = exc.ijR_list_index_atom()
12
14
  finder = SymmetryPairFinder(atoms=exc.atoms, pairs=ijRs, symprec=symprec)
13
15
  self.verbose = verbose
16
+ self.Jonly = Jonly
14
17
 
15
18
  if verbose:
16
19
  print("=" * 30)
@@ -28,7 +31,7 @@ class TB2JSymmetrizer:
28
31
  print(f"Finding crystal symmetry with symprec of {symprec} Angstrom.")
29
32
  print("Symmetry found:")
30
33
  print(finder.spacegroup)
31
- print(f"-" * 30)
34
+ print("-" * 30)
32
35
  self.pgdict = finder.get_symmetry_pair_group_dict()
33
36
  self.exc = exc
34
37
  self.new_exc = copy.deepcopy(exc)
@@ -51,6 +54,11 @@ class TB2JSymmetrizer:
51
54
  for i, j, R in ijRs_spin:
52
55
  symJdict[(R, i, j)] = Javg
53
56
  self.new_exc.exchange_Jdict = symJdict
57
+ if self.Jonly:
58
+ self.new_exc.has_dmi = False
59
+ self.new_exc.dmi_dict = {}
60
+ self.new_exc.has_uniaxial_anistropy = False
61
+ self.new_exc.k1_dict = {}
54
62
 
55
63
  def output(self, path="TB2J_symmetrized"):
56
64
  if path is None:
@@ -72,6 +80,7 @@ def symmetrize_J(
72
80
  fname="TB2J.pickle",
73
81
  symprec=1e-5,
74
82
  output_path="TB2J_symmetrized",
83
+ Jonly=False,
75
84
  ):
76
85
  """
77
86
  symmetrize the exchange parameters
@@ -109,6 +118,14 @@ def symmetrize_J_cli():
109
118
  default=1e-5,
110
119
  help="precision for symmetry detection. default is 1e-5 Angstrom",
111
120
  )
121
+
122
+ parser.add_argument(
123
+ "--Jonly",
124
+ action="store_true",
125
+ help="symmetrize only the exchange parameters and discard the DMI and anisotropic exchange",
126
+ default=False,
127
+ )
128
+
112
129
  args = parser.parse_args()
113
130
  if args.inpath is None:
114
131
  parser.print_help()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: TB2J
3
- Version: 0.9.9rc3
3
+ Version: 0.9.9rc4
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
@@ -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_rc3"
4
+ __version__ = "0.9.9_rc4"
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
 
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