SAMBA-ilum 1.0.0.495__tar.gz → 1.0.0.497__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.495 → samba_ilum-1.0.0.497}/PKG-INFO +1 -1
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/SAMBA_ilum.egg-info/PKG-INFO +1 -1
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/SAMBA_ilum.egg-info/SOURCES.txt +1 -3
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/__main__.py +2 -2
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/HeteroStructure_Generator.py +3 -23
- samba_ilum-1.0.0.495/samba_ilum/src/rotation_axis_check.py → samba_ilum-1.0.0.497/samba_ilum/src/cell_check.py +49 -3
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/setup.py +1 -1
- samba_ilum-1.0.0.495/samba_ilum/src/HeteroStructure_Generator_OLD_1.py +0 -2116
- samba_ilum-1.0.0.495/samba_ilum/src/HeteroStructure_Generator_OLD_2.py +0 -2177
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/LICENSE.txt +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/README.md +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/SAMBA_ilum.egg-info/dependency_links.txt +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/SAMBA_ilum.egg-info/entry_points.txt +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/SAMBA_ilum.egg-info/requires.txt +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/SAMBA_ilum.egg-info/top_level.txt +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/__init__.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/BZ_2D.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/INPUTS/INCAR_a-scan +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/INPUTS/INCAR_bader +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/INPUTS/INCAR_bader.SO +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/INPUTS/INCAR_bands +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/INPUTS/INCAR_bands.SO +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/INPUTS/INCAR_dos +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/INPUTS/INCAR_dos.SO +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/INPUTS/INCAR_relax +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/INPUTS/INCAR_scf +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/INPUTS/INCAR_scf.SO +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/INPUTS/INCAR_xy-scan +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/INPUTS/INCAR_xyz-scan +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/INPUTS/INCAR_z-scan +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/INPUTS/SAMBA_HeteroStructure.input +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/INPUTS/SAMBA_WorkFlow.input +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.bands +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.chgcar +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.dos +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.location +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.locpot +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.orbitals +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.spin +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/INPUTS/vdw_kernel.bindat +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/_info_pseudo.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/a-scan.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/a-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/bader +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/bader_poscar.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/bader_update.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/charge_transfer.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/chgsum.pl +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/contcar_update.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/data-base_json.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/data-base_union.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/energy_scan.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/hubbard_correction.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/job.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/kpoints.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/lattice_plot3d.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/make_files.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/output.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/potcar.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/vdW_DF.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/xy-scan.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/xy-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/xyz-scan.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/xyz-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/z-scan.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/samba_ilum/src/z-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.495 → samba_ilum-1.0.0.497}/setup.cfg +0 -0
|
@@ -12,14 +12,13 @@ samba_ilum/__init__.py
|
|
|
12
12
|
samba_ilum/__main__.py
|
|
13
13
|
samba_ilum/src/BZ_2D.py
|
|
14
14
|
samba_ilum/src/HeteroStructure_Generator.py
|
|
15
|
-
samba_ilum/src/HeteroStructure_Generator_OLD_1.py
|
|
16
|
-
samba_ilum/src/HeteroStructure_Generator_OLD_2.py
|
|
17
15
|
samba_ilum/src/_info_pseudo.py
|
|
18
16
|
samba_ilum/src/a-scan.py
|
|
19
17
|
samba_ilum/src/a-scan_analysis.py
|
|
20
18
|
samba_ilum/src/bader
|
|
21
19
|
samba_ilum/src/bader_poscar.py
|
|
22
20
|
samba_ilum/src/bader_update.py
|
|
21
|
+
samba_ilum/src/cell_check.py
|
|
23
22
|
samba_ilum/src/charge_transfer.py
|
|
24
23
|
samba_ilum/src/chgsum.pl
|
|
25
24
|
samba_ilum/src/contcar_update.py
|
|
@@ -33,7 +32,6 @@ samba_ilum/src/lattice_plot3d.py
|
|
|
33
32
|
samba_ilum/src/make_files.py
|
|
34
33
|
samba_ilum/src/output.py
|
|
35
34
|
samba_ilum/src/potcar.py
|
|
36
|
-
samba_ilum/src/rotation_axis_check.py
|
|
37
35
|
samba_ilum/src/vdW_DF.py
|
|
38
36
|
samba_ilum/src/xy-scan.py
|
|
39
37
|
samba_ilum/src/xy-scan_analysis.py
|
|
@@ -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.
|
|
19
|
+
version = '1.0.0.497'
|
|
20
20
|
|
|
21
21
|
print(" ")
|
|
22
22
|
print("=============================================================")
|
|
@@ -125,7 +125,7 @@ if (tarefa == 1):
|
|
|
125
125
|
# Checagem da estrutura dos arquivos POSCAR, com relação
|
|
126
126
|
# ao ângulo de rotação em relação ao eixo-z ============
|
|
127
127
|
#=======================================================
|
|
128
|
-
exec(open(dir_codes + '/
|
|
128
|
+
exec(open(dir_codes + '/cell_check.py').read())
|
|
129
129
|
#=======================================================
|
|
130
130
|
|
|
131
131
|
|
|
@@ -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
|
|
@@ -48,11 +42,10 @@ alphabet = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
|
|
|
48
42
|
for k in range(40):
|
|
49
43
|
for i in range(len(letters)):
|
|
50
44
|
alphabet.append(letters[i] + str(k+1))
|
|
51
|
-
|
|
52
|
-
vLattice = [dir_poscar + '/' + Lattice1, dir_poscar + '/' + Lattice2, dir_poscar + '/' + Lattice3]; n = n_Lattice -2
|
|
45
|
+
#-------------------------------------------------------
|
|
53
46
|
label_htstructure = ''; label_material = ['']*n_Lattice
|
|
54
47
|
dZ = [0]*3; dens_ions = [0]*3; n = 0
|
|
55
|
-
|
|
48
|
+
#--------------------------------------------------------------------------------
|
|
56
49
|
orig = 0 # [0] O centro da SuperCélula será a origem do sistema de coordenadas.
|
|
57
50
|
# [1] O centro do vetor A1 da SuperCélula será a origem do sistema de coordenadas.
|
|
58
51
|
#--------------------------------------------------------------------------------------------
|
|
@@ -70,9 +63,7 @@ d_origin_y = [0]*3
|
|
|
70
63
|
#-----------------
|
|
71
64
|
|
|
72
65
|
|
|
73
|
-
|
|
74
|
-
# Testando a compatibilidade dos arquivos POSCAR ---
|
|
75
|
-
#---------------------------------------------------
|
|
66
|
+
#-----------------------------------------------------------------------------------------------------
|
|
76
67
|
A1x0 = []; A1y0 = []; A2x0 = []; A2y0 = [] # Listas para armazenar os vetores A1 e A2 de cada rede
|
|
77
68
|
#-----------------------------------------------------------------------------------------------------
|
|
78
69
|
for k in range(n_Lattice):
|
|
@@ -89,17 +80,6 @@ for k in range(n_Lattice):
|
|
|
89
80
|
#--------------------------------------------------------------------------------------------------------------
|
|
90
81
|
A1x0.append(A1x); A1y0.append(A1y); A2x0.append(A2x); A2y0.append(A2y) # Armazenando os vetores A1 e A2 de cada rede
|
|
91
82
|
#------------------------------------------------------------------------------------------------------------------------
|
|
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
83
|
# Vetores A1 e A2
|
|
104
84
|
A1 = np.array([A1x, A1y])
|
|
105
85
|
A2 = np.array([A2x, A2y])
|
|
@@ -1,6 +1,11 @@
|
|
|
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
|
+
|
|
4
9
|
from pymatgen.io.vasp import Poscar
|
|
5
10
|
from pymatgen.core import Structure
|
|
6
11
|
from pymatgen.analysis.structure_matcher import StructureMatcher
|
|
@@ -12,6 +17,48 @@ import sys
|
|
|
12
17
|
import os
|
|
13
18
|
|
|
14
19
|
|
|
20
|
+
#--------------------------------------------------------------------------------------------------------------------
|
|
21
|
+
vLattice = [dir_poscar + '/' + Lattice1, dir_poscar + '/' + Lattice2, dir_poscar + '/' + Lattice3]; n = n_Lattice -2
|
|
22
|
+
#--------------------------------------------------------------------------------------------------------------------
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
#---------------------------------------------------
|
|
26
|
+
# Testando a compatibilidade dos arquivos POSCAR ---
|
|
27
|
+
#---------------------------------------------------
|
|
28
|
+
A1x0 = []; A1y0 = []; A2x0 = []; A2y0 = []
|
|
29
|
+
#--------------------------------------------
|
|
30
|
+
for k in range(n_Lattice):
|
|
31
|
+
#---------------------
|
|
32
|
+
Lattice = dir_files + '/' + vLattice[k]
|
|
33
|
+
poscar = open(Lattice, "r")
|
|
34
|
+
#-------------------------------------------
|
|
35
|
+
for i in range(2): VTemp = poscar.readline()
|
|
36
|
+
param = float(VTemp)
|
|
37
|
+
#-------------------------------------------
|
|
38
|
+
A1 = poscar.readline().split(); A1x = float(A1[0])*param; A1y = float(A1[1])*param; A1z = float(A1[2])*param
|
|
39
|
+
A2 = poscar.readline().split(); A2x = float(A2[0])*param; A2y = float(A2[1])*param; A2z = float(A2[2])*param
|
|
40
|
+
A3 = poscar.readline().split(); A3x = float(A3[0])*param; A3y = float(A3[1])*param; A3z = float(A3[2])*param
|
|
41
|
+
#--------------------------------------------------------------------------------------------------------------
|
|
42
|
+
A1x0.append(A1x); A1y0.append(A1y); A2x0.append(A2x); A2y0.append(A2y) # Armazenando os vetores A1 e A2 de cada rede
|
|
43
|
+
#------------------------------------------------------------------------------------------------------------------------
|
|
44
|
+
if ((A1z != 0.0) or (A2z != 0.0) or (A3x != 0.0) or (A3y != 0.0)):
|
|
45
|
+
print(f' ')
|
|
46
|
+
print(f'========================================')
|
|
47
|
+
print(f'Verifique os arquivos POSCAR utilizados!')
|
|
48
|
+
print(f'INCOMPATIBILIDADE com o código detectada')
|
|
49
|
+
if (A1z != 0.0):
|
|
50
|
+
print(f'O vetor A1 deve possuir a forma A1 = [A1x, A1y, 0.0]')
|
|
51
|
+
if (A2z != 0.0):
|
|
52
|
+
print(f'O vetor A2 deve possuir a forma A2 = [A2x, A2y, 0.0]')
|
|
53
|
+
if ((A3x != 0.0) or (A3y != 0.0)):
|
|
54
|
+
print(f'O vetor A3 deve possuir a forma A3 = [0.0, 0.0, A3z]')
|
|
55
|
+
print(f'========================================')
|
|
56
|
+
print(f' ')
|
|
57
|
+
#==========
|
|
58
|
+
sys.exit()
|
|
59
|
+
#=========
|
|
60
|
+
|
|
61
|
+
|
|
15
62
|
# Listando os arquivos dentro do diretório "dir_poscar"
|
|
16
63
|
poscar_dir_path = os.path.join(dir_files, dir_poscar)
|
|
17
64
|
files0 = [name for name in os.listdir(poscar_dir_path) if os.path.isfile(os.path.join(poscar_dir_path, name))]
|
|
@@ -85,8 +132,7 @@ for name in files0:
|
|
|
85
132
|
|
|
86
133
|
print(f"POSCAR file: {name}")
|
|
87
134
|
print(f"Discrepância encontrada em relação ao ângulo de rotação em torno do eixo Z")
|
|
88
|
-
print(f"
|
|
89
|
-
|
|
135
|
+
print(f"Min. Rotation Angle: {int(menor_0)}º / Angle at Origin: {int(menor_1)}º")
|
|
90
136
|
op_alvo = None
|
|
91
137
|
for op_cart in operacoes_1:
|
|
92
138
|
R_cart = op_cart.rotation_matrix
|
|
@@ -110,6 +156,7 @@ for name in files0:
|
|
|
110
156
|
|
|
111
157
|
deslocamento_frac = np.array([-p_direto[0], -p_direto[1], 0.0])
|
|
112
158
|
print(f"Coordenadas diretas do eixo de rotação apropriado: ({p_direto[0]:.9f}, {p_direto[1]:.9f})")
|
|
159
|
+
print(f"Movendo arquivo original para a pasta 'POSCAR_original' e criando versão corrigida.")
|
|
113
160
|
|
|
114
161
|
estrutura_corrigida = estrutura.copy()
|
|
115
162
|
indices_dos_sites = list(range(len(estrutura_corrigida)))
|
|
@@ -118,7 +165,6 @@ for name in files0:
|
|
|
118
165
|
# Salvar o arquivo corrigido com o nome_original no diretório original.
|
|
119
166
|
Lattice_new_file = os.path.join(poscar_dir_path, name)
|
|
120
167
|
estrutura_corrigida.to(fmt="poscar", filename=Lattice_new_file)
|
|
121
|
-
print(f"Estrutura corrigida salva como '{name}' no diretório '{dir_poscar}'.")
|
|
122
168
|
|
|
123
169
|
print(f"-------------------------------------------------------------")
|
|
124
170
|
|