SAMBA-ilum 1.0.0.494__tar.gz → 1.0.0.496__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 (67) hide show
  1. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/PKG-INFO +1 -1
  2. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/SAMBA_ilum.egg-info/PKG-INFO +1 -1
  3. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/__main__.py +1 -1
  4. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/HeteroStructure_Generator.py +1 -20
  5. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/rotation_axis_check.py +68 -32
  6. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/setup.py +1 -1
  7. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/LICENSE.txt +0 -0
  8. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/README.md +0 -0
  9. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/SAMBA_ilum.egg-info/SOURCES.txt +0 -0
  10. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/SAMBA_ilum.egg-info/dependency_links.txt +0 -0
  11. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/SAMBA_ilum.egg-info/entry_points.txt +0 -0
  12. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/SAMBA_ilum.egg-info/requires.txt +0 -0
  13. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/SAMBA_ilum.egg-info/top_level.txt +0 -0
  14. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/__init__.py +0 -0
  15. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/BZ_2D.py +0 -0
  16. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/HeteroStructure_Generator_OLD_1.py +0 -0
  17. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/HeteroStructure_Generator_OLD_2.py +0 -0
  18. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_a-scan +0 -0
  19. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_bader +0 -0
  20. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_bader.SO +0 -0
  21. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_bands +0 -0
  22. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_bands.SO +0 -0
  23. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_dos +0 -0
  24. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_dos.SO +0 -0
  25. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_relax +0 -0
  26. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_scf +0 -0
  27. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_scf.SO +0 -0
  28. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_xy-scan +0 -0
  29. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_xyz-scan +0 -0
  30. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_z-scan +0 -0
  31. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/SAMBA_HeteroStructure.input +0 -0
  32. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/SAMBA_WorkFlow.input +0 -0
  33. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.bands +0 -0
  34. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.chgcar +0 -0
  35. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.dos +0 -0
  36. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.location +0 -0
  37. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.locpot +0 -0
  38. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.orbitals +0 -0
  39. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.spin +0 -0
  40. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/vdw_kernel.bindat +0 -0
  41. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/_info_pseudo.py +0 -0
  42. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/a-scan.py +0 -0
  43. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/a-scan_analysis.py +0 -0
  44. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/bader +0 -0
  45. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/bader_poscar.py +0 -0
  46. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/bader_update.py +0 -0
  47. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/charge_transfer.py +0 -0
  48. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/chgsum.pl +0 -0
  49. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/contcar_update.py +0 -0
  50. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/data-base_json.py +0 -0
  51. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/data-base_union.py +0 -0
  52. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/energy_scan.py +0 -0
  53. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/hubbard_correction.py +0 -0
  54. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/job.py +0 -0
  55. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/kpoints.py +0 -0
  56. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/lattice_plot3d.py +0 -0
  57. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/make_files.py +0 -0
  58. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/output.py +0 -0
  59. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/potcar.py +0 -0
  60. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/vdW_DF.py +0 -0
  61. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/xy-scan.py +0 -0
  62. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/xy-scan_analysis.py +0 -0
  63. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/xyz-scan.py +0 -0
  64. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/xyz-scan_analysis.py +0 -0
  65. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/z-scan.py +0 -0
  66. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/z-scan_analysis.py +0 -0
  67. {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: SAMBA_ilum
3
- Version: 1.0.0.494
3
+ Version: 1.0.0.496
4
4
  Summary: ...
5
5
  Author: Augusto de Lelis Araujo
6
6
  Author-email: augusto-lelis@outlook.com
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: SAMBA_ilum
3
- Version: 1.0.0.494
3
+ Version: 1.0.0.496
4
4
  Summary: ...
5
5
  Author: Augusto de Lelis Araujo
6
6
  Author-email: augusto-lelis@outlook.com
@@ -16,7 +16,7 @@ dir_samba = os.path.dirname(os.path.realpath(__file__))
16
16
  print(f'{dir_samba}')
17
17
  #--------------------
18
18
 
19
- version = '1.0.0.494'
19
+ version = '1.0.0.496'
20
20
 
21
21
  print(" ")
22
22
  print("=============================================================")
@@ -1,12 +1,6 @@
1
1
  # SAMBA_ilum Copyright (C) 2024 - Closed source
2
2
 
3
3
 
4
- print("==================================")
5
- print("Espere um momento ================")
6
- print("==================================")
7
- print("")
8
-
9
-
10
4
  # from pymatgen.io.vasp import Poscar
11
5
  # from pymatgen.core import Structure
12
6
  # from pymatgen.analysis.structure_matcher import StructureMatcher
@@ -70,9 +64,7 @@ d_origin_y = [0]*3
70
64
  #-----------------
71
65
 
72
66
 
73
- #---------------------------------------------------
74
- # Testando a compatibilidade dos arquivos POSCAR ---
75
- #---------------------------------------------------
67
+ #-----------------------------------------------------------------------------------------------------
76
68
  A1x0 = []; A1y0 = []; A2x0 = []; A2y0 = [] # Listas para armazenar os vetores A1 e A2 de cada rede
77
69
  #-----------------------------------------------------------------------------------------------------
78
70
  for k in range(n_Lattice):
@@ -89,17 +81,6 @@ for k in range(n_Lattice):
89
81
  #--------------------------------------------------------------------------------------------------------------
90
82
  A1x0.append(A1x); A1y0.append(A1y); A2x0.append(A2x); A2y0.append(A2y) # Armazenando os vetores A1 e A2 de cada rede
91
83
  #------------------------------------------------------------------------------------------------------------------------
92
- if ((A1z != 0.0) or (A2z != 0.0) or (A3x != 0.0) or (A3y != 0.0)):
93
- print(f' ')
94
- print(f'========================================')
95
- print(f'Verifique os arquivos POSCAR utilizados!')
96
- print(f'INCOMPATIBILIDADE com o código detectada')
97
- print(f'========================================')
98
- print(f' ')
99
- #==========
100
- sys.exit()
101
- #=========
102
- #-------------------------------------------------------
103
84
  # Vetores A1 e A2
104
85
  A1 = np.array([A1x, A1y])
105
86
  A2 = np.array([A2x, A2y])
@@ -1,6 +1,10 @@
1
1
  # SAMBA_ilum Copyright (C) 2024 - Closed source
2
2
 
3
3
 
4
+ print("==================================")
5
+ print("Espere um momento ================")
6
+ print("==================================")
7
+ print("")
4
8
 
5
9
  from pymatgen.io.vasp import Poscar
6
10
  from pymatgen.core import Structure
@@ -8,17 +12,57 @@ from pymatgen.analysis.structure_matcher import StructureMatcher
8
12
  from pymatgen.symmetry.analyzer import SpacegroupAnalyzer
9
13
  #--------------------------------------------------------
10
14
  import numpy as np
11
- import sys
15
+ import shutil
16
+ import sys
12
17
  import os
13
18
 
19
+
20
+ #---------------------------------------------------
21
+ # Testando a compatibilidade dos arquivos POSCAR ---
22
+ #---------------------------------------------------
23
+ A1x0 = []; A1y0 = []; A2x0 = []; A2y0 = []
24
+ #--------------------------------------------
25
+ for k in range(n_Lattice):
26
+ #---------------------
27
+ Lattice = dir_files + '/' + vLattice[k]
28
+ poscar = open(Lattice, "r")
29
+ #-------------------------------------------
30
+ for i in range(2): VTemp = poscar.readline()
31
+ param = float(VTemp)
32
+ #-------------------------------------------
33
+ A1 = poscar.readline().split(); A1x = float(A1[0])*param; A1y = float(A1[1])*param; A1z = float(A1[2])*param
34
+ A2 = poscar.readline().split(); A2x = float(A2[0])*param; A2y = float(A2[1])*param; A2z = float(A2[2])*param
35
+ A3 = poscar.readline().split(); A3x = float(A3[0])*param; A3y = float(A3[1])*param; A3z = float(A3[2])*param
36
+ #--------------------------------------------------------------------------------------------------------------
37
+ A1x0.append(A1x); A1y0.append(A1y); A2x0.append(A2x); A2y0.append(A2y) # Armazenando os vetores A1 e A2 de cada rede
38
+ #------------------------------------------------------------------------------------------------------------------------
39
+ if ((A1z != 0.0) or (A2z != 0.0) or (A3x != 0.0) or (A3y != 0.0)):
40
+ print(f' ')
41
+ print(f'========================================')
42
+ print(f'Verifique os arquivos POSCAR utilizados!')
43
+ print(f'INCOMPATIBILIDADE com o código detectada')
44
+ if (A1z != 0.0):
45
+ print(f'O vetor A1 deve possuir a forma A1 = [A1x, A1y, 0.0]')
46
+ if (A2z != 0.0):
47
+ print(f'O vetor A2 deve possuir a forma A2 = [A2x, A2y, 0.0]')
48
+ if ((A3x != 0.0) or (A3y != 0.0)):
49
+ print(f'O vetor A3 deve possuir a forma A3 = [0.0, 0.0, A3z]')
50
+ print(f'========================================')
51
+ print(f' ')
52
+ #==========
53
+ sys.exit()
54
+ #=========
55
+
56
+
14
57
  # Listando os arquivos dentro do diretório "dir_poscar"
15
- files0 = [name for name in os.listdir(dir_files + '/' + dir_poscar + '/') if os.path.isfile(os.path.join(dir_files + '/' + dir_poscar + '/', name))]
58
+ poscar_dir_path = os.path.join(dir_files, dir_poscar)
59
+ files0 = [name for name in os.listdir(poscar_dir_path) if os.path.isfile(os.path.join(poscar_dir_path, name))]
16
60
 
17
61
  #------------
18
62
  stop_code = 0
19
63
  #------------
20
64
  for name in files0:
21
- Lattice = dir_files + '/' + dir_poscar + '/' + name
65
+ Lattice = os.path.join(poscar_dir_path, name)
22
66
 
23
67
  try:
24
68
  estrutura = Structure.from_file(Lattice)
@@ -66,14 +110,24 @@ for name in files0:
66
110
  if (menor_0 != menor_1 and menor_0 != 0.0):
67
111
  stop_code += 1
68
112
 
113
+ # 1. Definindo os diretórios de backup e criando se necessário
114
+ backup_dir = os.path.join(dir_files, 'POSCAR_original')
115
+ os.makedirs(backup_dir, exist_ok=True)
116
+
117
+ # 2. Definindo os caminhos do arquivo original e do backup
118
+ original_filepath = os.path.join(poscar_dir_path, name)
119
+ backup_filepath = os.path.join(backup_dir, name)
120
+
121
+ # 3. Movendo o arquivo original para a pasta de backup
122
+ shutil.move(original_filepath, backup_filepath)
123
+
69
124
  if (stop_code == 1):
70
- print(" ")
71
- print(f"-------------------------------------------------------------")
72
-
125
+ print(" ")
126
+ print(f"-------------------------------------------------------------")
127
+
73
128
  print(f"POSCAR file: {name}")
74
129
  print(f"Discrepância encontrada em relação ao ângulo de rotação em torno do eixo Z")
75
- print(f"Menor ângulo geral: {int(menor_0)}°, Menor ângulo na origem: {int(menor_1)}°")
76
-
130
+ print(f"Min. Rotation Angle: {int(menor_0)}º / Angle at Origin: {int(menor_1)}º")
77
131
  op_alvo = None
78
132
  for op_cart in operacoes_1:
79
133
  R_cart = op_cart.rotation_matrix
@@ -97,39 +151,21 @@ for name in files0:
97
151
 
98
152
  deslocamento_frac = np.array([-p_direto[0], -p_direto[1], 0.0])
99
153
  print(f"Coordenadas diretas do eixo de rotação apropriado: ({p_direto[0]:.9f}, {p_direto[1]:.9f})")
154
+ print(f"Movendo arquivo original para a pasta 'POSCAR_original' e criando versão corrigida.")
100
155
 
101
156
  estrutura_corrigida = estrutura.copy()
102
157
  indices_dos_sites = list(range(len(estrutura_corrigida)))
103
158
  estrutura_corrigida.translate_sites(indices_dos_sites, deslocamento_frac, frac_coords=True)
104
159
 
105
- name_base, extensao = os.path.splitext(name)
106
- if not extensao: extensao = '.vasp'
107
- new_name_file = f"{name_base}_fixed{extensao}"
108
- Lattice_new_file = os.path.join(dir_files + '/' + dir_poscar + '/' , new_name_file)
109
-
160
+ # Salvar o arquivo corrigido com o nome_original no diretório original.
161
+ Lattice_new_file = os.path.join(poscar_dir_path, name)
110
162
  estrutura_corrigida.to(fmt="poscar", filename=Lattice_new_file)
111
- print(f"Estrutura corrigida salva como '{new_name_file}'")
163
+
112
164
  print(f"-------------------------------------------------------------")
113
165
 
114
166
  except np.linalg.LinAlgError:
115
167
  print("ERRO: Não foi possível calcular o deslocamento devido a um erro numérico.")
116
168
 
117
169
  except Exception as e:
118
- print(f"ERRO CRÍTICO ao processar o file {name}: {e}")
119
-
120
- if (stop_code == 1):
121
- print(" ")
122
- print(f"Remova a versão anterior do arquivo POSCAR corrigido")
123
- print(f"Faça um Backup da versão corrigida do arquivo POSCAR para evitar ambiguidades em relação ao cálculo do xy-scan")
124
- print(f"Após isso, reinicie a execução do código")
125
- confirmacao = input (" "); confirmacao = str(confirmacao)
126
- sys.exit()
127
-
128
- if (stop_code > 1):
129
- print(" ")
130
- print(f"Remova a versão anterior dos arquivos POSCAR corrigidos")
131
- print(f"Faça um Backup da versão corrigida dos arquivos POSCAR para evitar ambiguidades em relação ao cálculo do xy-scan")
132
- print(f"Após isso, reinicie a execução do código")
133
- confirmacao = input (" "); confirmacao = str(confirmacao)
134
- sys.exit()
135
-
170
+ print(f"Erro Crítico ao processar o file {name}: {e}")
171
+ if (stop_code > 0): sys.exit()
@@ -6,7 +6,7 @@ import json
6
6
 
7
7
  setup(
8
8
  name = "SAMBA_ilum",
9
- version = "1.0.0.494",
9
+ version = "1.0.0.496",
10
10
  entry_points={'console_scripts': ['samba_ilum = samba_ilum:main']},
11
11
  description = "...",
12
12
  author = "Augusto de Lelis Araujo",
File without changes
File without changes