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.
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/PKG-INFO +1 -1
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/SAMBA_ilum.egg-info/PKG-INFO +1 -1
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/__main__.py +1 -1
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/HeteroStructure_Generator.py +1 -20
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/rotation_axis_check.py +68 -32
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/setup.py +1 -1
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/LICENSE.txt +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/README.md +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/SAMBA_ilum.egg-info/SOURCES.txt +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/SAMBA_ilum.egg-info/dependency_links.txt +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/SAMBA_ilum.egg-info/entry_points.txt +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/SAMBA_ilum.egg-info/requires.txt +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/SAMBA_ilum.egg-info/top_level.txt +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/__init__.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/BZ_2D.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/HeteroStructure_Generator_OLD_1.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/HeteroStructure_Generator_OLD_2.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_a-scan +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_bader +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_bader.SO +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_bands +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_bands.SO +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_dos +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_dos.SO +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_relax +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_scf +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_scf.SO +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_xy-scan +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_xyz-scan +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/INCAR_z-scan +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/SAMBA_HeteroStructure.input +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/SAMBA_WorkFlow.input +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.bands +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.chgcar +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.dos +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.location +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.locpot +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.orbitals +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.spin +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/vdw_kernel.bindat +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/_info_pseudo.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/a-scan.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/a-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/bader +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/bader_poscar.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/bader_update.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/charge_transfer.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/chgsum.pl +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/contcar_update.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/data-base_json.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/data-base_union.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/energy_scan.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/hubbard_correction.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/job.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/kpoints.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/lattice_plot3d.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/make_files.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/output.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/potcar.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/vdW_DF.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/xy-scan.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/xy-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/xyz-scan.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/xyz-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/z-scan.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/z-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/setup.cfg +0 -0
|
@@ -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
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
71
|
-
|
|
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"
|
|
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
|
-
|
|
106
|
-
|
|
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
|
-
|
|
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"
|
|
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()
|
|
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
|
{samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/HeteroStructure_Generator_OLD_1.py
RENAMED
|
File without changes
|
{samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/HeteroStructure_Generator_OLD_2.py
RENAMED
|
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
|
{samba_ilum-1.0.0.494 → samba_ilum-1.0.0.496}/samba_ilum/src/INPUTS/SAMBA_HeteroStructure.input
RENAMED
|
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
|