SAMBA-ilum 1.0.0.393__tar.gz → 1.0.0.395__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.393 → SAMBA_ilum-1.0.0.395}/PKG-INFO +1 -1
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/SAMBA_ilum.egg-info/PKG-INFO +1 -1
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/__main__.py +1 -1
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/INCAR_a-scan +2 -1
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/INCAR_bader +3 -2
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/INCAR_bader.SO +3 -2
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/INCAR_bands +3 -2
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/INCAR_bands.SO +3 -2
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/INCAR_dos +3 -2
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/INCAR_dos.SO +3 -2
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/INCAR_relax +2 -1
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/INCAR_scf +3 -2
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/INCAR_scf.SO +3 -2
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/INCAR_xy-scan +2 -1
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/INCAR_xyz-scan +2 -1
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/INCAR_z-scan +2 -1
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/SAMBA_HeteroStructure.input +2 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/SAMBA_WorkFlow.input +1 -1
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.bands +2 -2
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.location +2 -2
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.orbitals +2 -2
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.spin +2 -2
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/data-base_json.py +4 -3
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/energy_scan.py +8 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/xy-scan.py +37 -20
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/xy-scan_analysis.py +3 -3
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/setup.py +1 -1
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/LICENSE.txt +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/README.md +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/SAMBA_ilum.egg-info/SOURCES.txt +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/SAMBA_ilum.egg-info/dependency_links.txt +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/SAMBA_ilum.egg-info/entry_points.txt +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/SAMBA_ilum.egg-info/requires.txt +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/SAMBA_ilum.egg-info/top_level.txt +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/__init__.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/HeteroStructure_Generator.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.chgcar +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.dos +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.locpot +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/vdw_kernel.bindat +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/OLD/a-scan.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/OLD/a-scan_analysis.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/OLD/job.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/OLD/z-scan.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/OLD/z-scan_analysis.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/_info_pseudo.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/a-scan.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/a-scan_analysis.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/bader +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/bader_poscar.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/bader_update.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/charge_transfer.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/chgsum.pl +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/contcar_update.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/data-base_union.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/job.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/kpoints.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/lattice_plot3d.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/make_files.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/output.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/potcar.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/vdW_DF.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/xyz-scan.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/xyz-scan_analysis.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/z-scan.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/z-scan_analysis.py +0 -0
- {SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/setup.cfg +0 -0
{SAMBA_ilum-1.0.0.393 → SAMBA_ilum-1.0.0.395}/samba_ilum/src/INPUTS/SAMBA_HeteroStructure.input
RENAMED
|
@@ -48,6 +48,8 @@ crit_area = 5 # Variação perc. % da área das redes q
|
|
|
48
48
|
#----------------------------------
|
|
49
49
|
ions_crit_i = 1 # Critério para o nº mínimo de átomos permitido na Heteroestrutura.
|
|
50
50
|
ions_crit_f = 100 # Critério para o nº máximo de átomos permitido na Heteroestrutura.
|
|
51
|
+
# Observação: Ao fazer o loop de muitas estruturas, aconselho varrer pequenos ranges de ions
|
|
52
|
+
# por exemplo: (1, 10); (10, 20); (50,60)
|
|
51
53
|
#----------------------------------
|
|
52
54
|
# Por padrão sempre teremos: angle > 0.0 and angle < 180.0
|
|
53
55
|
angle_min = 15.0 # Angulo minímo de abertura entre os vetores A1 e A2
|
|
@@ -14,7 +14,7 @@ replace_type_pseudo = 'PAW_PBE'; replace_type_XC = 'GGA'
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
#=======================================================
|
|
17
|
-
tasks = ['relax', 'scf', 'bands', 'dos'] # tasks = ['
|
|
17
|
+
tasks = ['relax', 'scf', 'bands', 'dos'] # tasks = ['z-scan', 'xy-scan', 'relax', 'scf', 'bands', 'dos', 'bader']
|
|
18
18
|
type = ['sem_SO','com_SO'] # type = ['sem_SO','com_SO']
|
|
19
19
|
#=======================================================
|
|
20
20
|
dipol = 'none' # Utilize as opções: 'none', 'center_cell' or 'center_mass'
|
|
@@ -50,7 +50,7 @@ esc_fermi = 1
|
|
|
50
50
|
# [0] NOT
|
|
51
51
|
# [1] YES
|
|
52
52
|
################################################################
|
|
53
|
-
esc_range_E =
|
|
53
|
+
esc_range_E = 1
|
|
54
54
|
|
|
55
55
|
if (esc_range_E == 1):
|
|
56
56
|
################################################################
|
|
@@ -62,7 +62,7 @@ if (esc_range_E == 1):
|
|
|
62
62
|
# '-3.0 15.0'
|
|
63
63
|
# '-5.1 5.0'
|
|
64
64
|
################################################################
|
|
65
|
-
range_E = '-
|
|
65
|
+
range_E = '-5.0 5.0'
|
|
66
66
|
|
|
67
67
|
|
|
68
68
|
|
|
@@ -106,7 +106,7 @@ esc_fermi = 1
|
|
|
106
106
|
# [0] NOT
|
|
107
107
|
# [1] YES
|
|
108
108
|
################################################################
|
|
109
|
-
esc_range_E =
|
|
109
|
+
esc_range_E = 1
|
|
110
110
|
|
|
111
111
|
if (esc_range_E == 1):
|
|
112
112
|
################################################################
|
|
@@ -118,7 +118,7 @@ if (esc_range_E == 1):
|
|
|
118
118
|
# '-3.0 15.0'
|
|
119
119
|
# '-5.1 5.0'
|
|
120
120
|
################################################################
|
|
121
|
-
range_E = '-
|
|
121
|
+
range_E = '-5.0 5.0'
|
|
122
122
|
|
|
123
123
|
|
|
124
124
|
|
|
@@ -51,7 +51,7 @@ esc_fermi = 1
|
|
|
51
51
|
# [0] NOT
|
|
52
52
|
# [1] YES
|
|
53
53
|
################################################################
|
|
54
|
-
esc_range_E =
|
|
54
|
+
esc_range_E = 1
|
|
55
55
|
|
|
56
56
|
if (esc_range_E == 1):
|
|
57
57
|
################################################################
|
|
@@ -63,7 +63,7 @@ if (esc_range_E == 1):
|
|
|
63
63
|
# '-3.0 15.0'
|
|
64
64
|
# '-5.1 5.0'
|
|
65
65
|
################################################################
|
|
66
|
-
range_E = '-
|
|
66
|
+
range_E = '-5.0 5.0'
|
|
67
67
|
|
|
68
68
|
|
|
69
69
|
|
|
@@ -80,7 +80,7 @@ fyx2=1; fxyz=1; fyz2=1; fzz2=1; fxz2=1; fzx2=1; fxx2=1
|
|
|
80
80
|
# [0] NOT
|
|
81
81
|
# [1] YES
|
|
82
82
|
################################################################
|
|
83
|
-
esc_range_E =
|
|
83
|
+
esc_range_E = 1
|
|
84
84
|
|
|
85
85
|
if (esc_range_E == 1):
|
|
86
86
|
################################################################
|
|
@@ -92,7 +92,7 @@ if (esc_range_E == 1):
|
|
|
92
92
|
# -3.0 15.0
|
|
93
93
|
# -5.1 5.0
|
|
94
94
|
################################################################
|
|
95
|
-
range_E = '-
|
|
95
|
+
range_E = '-5.0 5.0'
|
|
96
96
|
|
|
97
97
|
|
|
98
98
|
|
|
@@ -119,18 +119,19 @@ if os.path.isfile('output/POSCAR.info'):
|
|
|
119
119
|
area_perc_mismatch = []; angle_perc_mismatch = []; rotation_angle = []
|
|
120
120
|
perc_area_change = []; perc_mod_vectors_change = []; perc_angle_change = []
|
|
121
121
|
supercell_matrix = []; deformation_matrix = []; strain_matrix = []
|
|
122
|
-
|
|
122
|
+
shift_plane = []
|
|
123
|
+
#---------------------
|
|
123
124
|
passo = n_materials +1
|
|
124
125
|
passo += 4
|
|
125
126
|
temp1 = str(VTemp[passo]).replace('_', ' ').split()
|
|
126
127
|
area_perc_mismatch.append([float(temp1[0]), float(temp1[1])])
|
|
127
128
|
if (n_materials == 3):
|
|
128
129
|
area_perc_mismatch.append([float(temp1[2]), float(temp1[3])])
|
|
129
|
-
|
|
130
|
+
#---------------------------------------------------------------
|
|
130
131
|
passo += 4
|
|
131
132
|
temp1 = str(VTemp[passo]).replace('_', ' ').split()
|
|
132
133
|
for ii in range(len(temp1)): perc_area_change.append(float(temp1[ii]))
|
|
133
|
-
|
|
134
|
+
#---------------------------------------------------------------------
|
|
134
135
|
passo += 4
|
|
135
136
|
temp1 = str(VTemp[passo]).replace('_', ' ').split()
|
|
136
137
|
perc_mod_vectors_change.append([float(temp1[0]), float(temp1[1])])
|
|
@@ -19,4 +19,12 @@ energia = VTemp.replace('=',' ').split()
|
|
|
19
19
|
|
|
20
20
|
energy.write(f'{name_dir} {energia[4]} \n')
|
|
21
21
|
|
|
22
|
+
temp_name = name_dir.replace('_', ' ').split()
|
|
23
|
+
if (len(temp_name) == 2):
|
|
24
|
+
if (temp_name[0] == '0.0'): temp_name[0] = '1.0'
|
|
25
|
+
if (temp_name[1] == '0.0'): temp_name[1] = '1.0'
|
|
26
|
+
if (temp_name[0] == '1.0' or temp_name[1] == '1.0'):
|
|
27
|
+
new_name_dir == str(temp_name[0]) + '_' + str(temp_name[1])
|
|
28
|
+
energy.write(f'{new_name_dir} {energia[4]} \n')
|
|
29
|
+
|
|
22
30
|
energy.close()
|
|
@@ -9,20 +9,20 @@ import os
|
|
|
9
9
|
"""
|
|
10
10
|
INSERIR FUNÇÃO PARA VERIFICAR SE O ARQUIVO POSCAR INICIAL ESTA ESCRITO EM COORDENADAS DIRETAS OU CARTESIANAS
|
|
11
11
|
SE ESTIVER ESCRITO EM COORDENADAS DIRETAS, CONVERTER PARA COORDENADAS CARTESIANAS
|
|
12
|
-
TALVEZ CRIAR UMA FUNÇÃO COM ESTE PROPOSITO SEJA PRATICO PARA O CODIGO TODO
|
|
12
|
+
TALVEZ CRIAR UMA FUNÇÃO COM ESTE PROPOSITO SEJA PRATICO PARA O CODIGO TODO
|
|
13
13
|
"""
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
# Atenção: ================================================================
|
|
17
17
|
# O código foi escrito pensado em uma Heteroestrutura com n_Lattice = 2 ===
|
|
18
|
-
# Para redes com n_Lattice > 2 testes e generalizações devem ser feitas ===
|
|
18
|
+
# Para redes com n_Lattice > 2 testes e generalizações devem ser feitas ===
|
|
19
19
|
#==========================================================================
|
|
20
20
|
|
|
21
21
|
# Deslocamentos a ser aplicado no 2º material, referente ao vetor A1 da rede
|
|
22
|
-
displacement_A1 =
|
|
22
|
+
displacement_A1 = [0.0, 0.125, 0.16666666666666666, 0.25, 0.3333333333333333, 0.5, 0.6666666666666666, 0.75, 0.8333333333333334]
|
|
23
23
|
|
|
24
|
-
# Deslocamentos a ser aplicado no 2º material, referente ao vetor A2 da rede
|
|
25
|
-
displacement_A2 =
|
|
24
|
+
# Deslocamentos a ser aplicado no 2º material, referente ao vetor A2 da rede
|
|
25
|
+
displacement_A2 = [0.0, 0.125, 0.16666666666666666, 0.25, 0.3333333333333333, 0.5, 0.6666666666666666, 0.75, 0.8333333333333334]
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
"""
|
|
@@ -49,7 +49,7 @@ for k in range(len(VTemp)):
|
|
|
49
49
|
print(f'========================================')
|
|
50
50
|
print(f' ')
|
|
51
51
|
#==========
|
|
52
|
-
sys.exit()
|
|
52
|
+
sys.exit()
|
|
53
53
|
#=========
|
|
54
54
|
"""
|
|
55
55
|
|
|
@@ -76,8 +76,11 @@ for i in range(len(folders)): shutil.rmtree('folders[i]')
|
|
|
76
76
|
# Obtendo os vetores de rede da Heteroestrutura ===========================
|
|
77
77
|
#==========================================================================
|
|
78
78
|
poscar = open('POSCAR', "r")
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
#---------------------------------
|
|
80
|
+
line_0 = poscar.readline().split()
|
|
81
|
+
if (line_0[-5] == 'Shift_plane'): shift = str(line_0[-5])
|
|
82
|
+
if (line_0[-5] != 'Shift_plane'): shift = '0.0_0.0'
|
|
83
|
+
#-----------------------------------------------
|
|
81
84
|
VTemp = poscar.readline(); param = float(VTemp)
|
|
82
85
|
VTemp = poscar.readline().split(); A1x = float(VTemp[0]); A1y = float(VTemp[1]); A1z = float(VTemp[2])
|
|
83
86
|
VTemp = poscar.readline().split(); A2x = float(VTemp[0]); A2y = float(VTemp[1]); A2z = float(VTemp[2])
|
|
@@ -97,17 +100,30 @@ number = 0
|
|
|
97
100
|
for ii in displacement_A1:
|
|
98
101
|
for jj in displacement_A2:
|
|
99
102
|
#-----------------------------------------------
|
|
100
|
-
displacement_X = (ii*A1x*param) + (jj*A2x*param)
|
|
101
|
-
displacement_Y = (ii*A1y*param) + (jj*A2y*param)
|
|
103
|
+
displacement_X = (ii*A1x*param) + (jj*A2x*param)
|
|
104
|
+
displacement_Y = (ii*A1y*param) + (jj*A2y*param)
|
|
102
105
|
#-----------------------------------------------
|
|
103
106
|
number += 1
|
|
104
107
|
#---------------------------
|
|
105
108
|
poscar = open('POSCAR', "r")
|
|
106
|
-
poscar_new = open('POSCAR_temp_cart/POSCAR_' + str(number), "w")
|
|
109
|
+
poscar_new = open('POSCAR_temp_cart/POSCAR_' + str(number), "w")
|
|
107
110
|
#---------------------------------------------------------------------------
|
|
108
|
-
VTemp = poscar.readline()
|
|
109
|
-
|
|
110
|
-
|
|
111
|
+
VTemp = poscar.readline().split()
|
|
112
|
+
#-----------
|
|
113
|
+
temp_shift = shift.replace('_', ' ').split()
|
|
114
|
+
shift_A1 = float(temp_shift[0]) + float(ii)
|
|
115
|
+
shift_A2 = float(temp_shift[1]) + float(jj)
|
|
116
|
+
for k in range(3):
|
|
117
|
+
if (shift_A1 > 1.0): shift_A1 = shift_A1 -1.0
|
|
118
|
+
if (shift_A2 > 1.0): shift_A2 = shift_A2 -1.0
|
|
119
|
+
if (shift_A1 == 1.0): shift_A1 = 0.0
|
|
120
|
+
if (shift_A2 == 1.0): shift_A2 = 0.0
|
|
121
|
+
new_shift = str(shift_A1) + '_' + str(shift_A2)
|
|
122
|
+
line_0[-5] = new_shift
|
|
123
|
+
#-----------
|
|
124
|
+
for k in range(len(line_0)): poscar_new.write(f'{line_0[k]} ')
|
|
125
|
+
poscar_new.write(f' \n')
|
|
126
|
+
#----------------------------------------------
|
|
111
127
|
nions1 = int(VTemp[2]); nions2 = int(VTemp[3])
|
|
112
128
|
#----------------------------------------------
|
|
113
129
|
for k in range(7 + nions1):
|
|
@@ -137,7 +153,7 @@ T = np.linalg.inv(np.array([a, b, c]).T) # Definindo a matriz de transformaçã
|
|
|
137
153
|
#------------------------------------------------------------------------------
|
|
138
154
|
|
|
139
155
|
for ii in displacement_A1:
|
|
140
|
-
for jj in displacement_A2:
|
|
156
|
+
for jj in displacement_A2:
|
|
141
157
|
#----------
|
|
142
158
|
number += 1
|
|
143
159
|
#---------------------------------
|
|
@@ -151,7 +167,7 @@ for ii in displacement_A1:
|
|
|
151
167
|
shutil.copyfile('INCAR', dir_temp + '/INCAR')
|
|
152
168
|
#-----------------------------------------------------------
|
|
153
169
|
poscar = open('POSCAR_temp_cart/POSCAR_' + str(number), "r")
|
|
154
|
-
poscar_new = open(dir_temp + '/POSCAR', "w")
|
|
170
|
+
poscar_new = open(dir_temp + '/POSCAR', "w")
|
|
155
171
|
#-------------------------------------------
|
|
156
172
|
for k in range(7):
|
|
157
173
|
VTemp = poscar.readline()
|
|
@@ -168,15 +184,15 @@ for ii in displacement_A1:
|
|
|
168
184
|
VTemp = poscar.readline().split()
|
|
169
185
|
x = float(VTemp[0])
|
|
170
186
|
y = float(VTemp[1])
|
|
171
|
-
z = float(VTemp[2])
|
|
187
|
+
z = float(VTemp[2])
|
|
188
|
+
#----------------------
|
|
189
|
+
r = np.array([x, y, z]) # Definindo o vetor posição cartesiano do átomo
|
|
172
190
|
#----------------------
|
|
173
|
-
r = np.array([x, y, z]) # Definindo o vetor posição cartesiano do átomo
|
|
174
|
-
#----------------------
|
|
175
191
|
f = np.dot(T, r) # Calculando a correspondenre posição em coordenadas fracionárias
|
|
176
192
|
for m in range(3):
|
|
177
193
|
f = np.where(f < 0, f + 1, f)
|
|
178
194
|
f = np.where(f > 1, f - 1, f)
|
|
179
|
-
#--------------------------------
|
|
195
|
+
#--------------------------------
|
|
180
196
|
for m in range(3):
|
|
181
197
|
# f[m] = round(f[m], 6)
|
|
182
198
|
if (f[m] > 0.9999 or f[m] < 0.0001):
|
|
@@ -195,3 +211,4 @@ for ii in displacement_A1:
|
|
|
195
211
|
# os.remove('INCAR')
|
|
196
212
|
|
|
197
213
|
shutil.rmtree('POSCAR_temp_cart')
|
|
214
|
+
|
|
@@ -152,9 +152,9 @@ T = np.linalg.inv(np.array([a, b, c]).T) # Definindo a matriz de transformaçã
|
|
|
152
152
|
#------------------------------------------------------------------------------
|
|
153
153
|
r = np.array([delta_X, delta_Y, 0.0]) # Definindo o vetor posição cartesiano do átomo
|
|
154
154
|
#------------------------------------
|
|
155
|
-
f = np.dot(T, r)
|
|
156
|
-
for m in range(3):
|
|
157
|
-
f = np.where(f < 0, f + 1, f)
|
|
155
|
+
f = np.dot(T, r) # Calculando a correspondenre posição em coordenadas fracionárias ??????????????????????? Esta correto ???????????????????????
|
|
156
|
+
for m in range(3): ?????????? Ao invés de 'f' não deveria ser 'f[m]' ??????????
|
|
157
|
+
f = np.where(f < 0, f + 1, f) ??????????????????????? Esta correto ???????????????????????
|
|
158
158
|
f = np.where(f > 1, f - 1, f)
|
|
159
159
|
#--------------------------------
|
|
160
160
|
for m in range(3):
|
|
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
|