SAMBA-ilum 1.0.0.415__tar.gz → 1.0.0.417__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.415 → samba_ilum-1.0.0.417}/PKG-INFO +1 -1
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/SAMBA_ilum.egg-info/PKG-INFO +1 -1
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/SAMBA_ilum.egg-info/SOURCES.txt +1 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/__main__.py +1 -1
- samba_ilum-1.0.0.417/samba_ilum/src/BZ_2D.py +163 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/data-base_json.py +12 -10
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/setup.py +1 -1
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/LICENSE.txt +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/README.md +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/SAMBA_ilum.egg-info/dependency_links.txt +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/SAMBA_ilum.egg-info/entry_points.txt +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/SAMBA_ilum.egg-info/requires.txt +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/SAMBA_ilum.egg-info/top_level.txt +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/__init__.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/HeteroStructure_Generator.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/INPUTS/INCAR_a-scan +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/INPUTS/INCAR_bader +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/INPUTS/INCAR_bader.SO +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/INPUTS/INCAR_bands +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/INPUTS/INCAR_bands.SO +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/INPUTS/INCAR_dos +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/INPUTS/INCAR_dos.SO +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/INPUTS/INCAR_relax +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/INPUTS/INCAR_scf +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/INPUTS/INCAR_scf.SO +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/INPUTS/INCAR_xy-scan +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/INPUTS/INCAR_xyz-scan +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/INPUTS/INCAR_z-scan +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/INPUTS/SAMBA_HeteroStructure.input +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/INPUTS/SAMBA_WorkFlow.input +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.bands +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.chgcar +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.dos +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.location +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.locpot +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.orbitals +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.spin +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/INPUTS/vdw_kernel.bindat +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/_info_pseudo.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/a-scan.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/a-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/bader +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/bader_poscar.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/bader_update.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/charge_transfer.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/chgsum.pl +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/contcar_update.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/data-base_union.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/energy_scan.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/job.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/kpoints.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/lattice_plot3d.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/make_files.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/output.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/potcar.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/vdW_DF.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/xy-scan.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/xy-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/xyz-scan.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/xyz-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/z-scan.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/samba_ilum/src/z-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/setup.cfg +0 -0
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
#-----------------
|
|
2
|
+
import numpy as np
|
|
3
|
+
import os
|
|
4
|
+
#----------------
|
|
5
|
+
import matplotlib
|
|
6
|
+
import matplotlib.colors as mcolors
|
|
7
|
+
import matplotlib.pyplot as plt
|
|
8
|
+
#--------------------------------
|
|
9
|
+
from scipy.spatial import Voronoi
|
|
10
|
+
#--------------------------------
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
#============================================================
|
|
15
|
+
# Extraindo o k-path usado no plot da Estrutura de Bandas ===
|
|
16
|
+
#============================================================
|
|
17
|
+
kpoints_file = []
|
|
18
|
+
kpath = []
|
|
19
|
+
#---------
|
|
20
|
+
if os.path.isdir('output/Bandas'): dir_kpath = 'bands'
|
|
21
|
+
if os.path.isdir('output/Bandas.SO'): dir_kpath = 'bands.SO'
|
|
22
|
+
#-----------------------------------------------------------------------------
|
|
23
|
+
if os.path.isfile(dir_kpath + '/' + 'KPOINTS'): kpoints_file.append('KPOINTS')
|
|
24
|
+
#--------------------------------------------------------------------------------------
|
|
25
|
+
nkpoints = len([file for file in os.listdir(dir_kpath) if file.startswith("KPOINTS.")])
|
|
26
|
+
for i in range(nkpoints):
|
|
27
|
+
file = 'KPOINTS.' + str(i+1)
|
|
28
|
+
if os.path.isfile(dir_kpath + '/' + file): kpoints_file.append(file)
|
|
29
|
+
#---------------------------------
|
|
30
|
+
for i in range(len(kpoints_file)):
|
|
31
|
+
#-----------------------------
|
|
32
|
+
with open(dir_kpath + '/' + kpoints_file[i], 'r') as file: lines = file.readlines()
|
|
33
|
+
#----------------------------------------------------------------------------------
|
|
34
|
+
if (len(kpoints_file) == 1):
|
|
35
|
+
for j in range(len(lines)):
|
|
36
|
+
if (j > 3 and len(lines[j]) > 1):
|
|
37
|
+
line = lines[j].split()
|
|
38
|
+
line[3] = line[3].replace('!', '').replace('#1', 'Gamma').replace('#', '')
|
|
39
|
+
if (line[3] == 'Gamma' or line[3] == 'gamma' or line[3] == 'G' or line[3] == 'g'): line[3] = '${\\Gamma}$'
|
|
40
|
+
kpath.append([float(line[0]), float(line[1]), float(line[2]), str(line[3])])
|
|
41
|
+
#-------------------------------------------------------------------------------------
|
|
42
|
+
if (len(kpoints_file) > 1):
|
|
43
|
+
for j in range(len(lines)):
|
|
44
|
+
if (i == 0 and j > 3 and len(lines[j]) > 1):
|
|
45
|
+
line = lines[j].split()
|
|
46
|
+
line[3] = line[3].replace('!', '').replace('#1', 'Gamma').replace('#', '')
|
|
47
|
+
kpath.append([float(line[0]), float(line[1]), float(line[2]), str(line[3])])
|
|
48
|
+
if (i > 0 and j > 4 and len(lines[j]) > 1):
|
|
49
|
+
line = lines[j].split()
|
|
50
|
+
line[3] = line[3].replace('!', '').replace('#1', 'Gamma').replace('#', '')
|
|
51
|
+
kpath.append([float(line[0]), float(line[1]), float(line[2]), str(line[3])])
|
|
52
|
+
#-----------------------------------------------------------------------------------------
|
|
53
|
+
# Removendo elementos adjacentes e repetidos da lista kpath
|
|
54
|
+
#----------------------------------------------------------
|
|
55
|
+
i = 0
|
|
56
|
+
while i < (len(kpath) -1):
|
|
57
|
+
if kpath[i] == kpath[i +1]: del kpath[i +1]
|
|
58
|
+
else: i += 1 # Avança para o próximo par de elementos
|
|
59
|
+
#---------------------------------------------------------
|
|
60
|
+
kpath_set = []
|
|
61
|
+
for sublista in kpath:
|
|
62
|
+
if sublista not in kpath_set:
|
|
63
|
+
kpath_set.append(sublista)
|
|
64
|
+
#---------------------------------
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
#============================================================
|
|
69
|
+
# Extraindo informações sobre as redes Direta e Recíproca ===
|
|
70
|
+
#============================================================
|
|
71
|
+
contcar = open(dir_kpath + '/CONTCAR', "r")
|
|
72
|
+
VTemp = contcar.readline().split()
|
|
73
|
+
n_materials = len(VTemp[1].replace('+', ' ').split())
|
|
74
|
+
t_label = VTemp[-1].replace('_', ' ').split(); label = t_label[0]
|
|
75
|
+
VTemp = contcar.readline(); a = float(VTemp)
|
|
76
|
+
VTemp = contcar.readline().split(); A1x = float(VTemp[0])*a; A1y = float(VTemp[1])*a; A1z = float(VTemp[2])*a
|
|
77
|
+
VTemp = contcar.readline().split(); A2x = float(VTemp[0])*a; A2y = float(VTemp[1])*a; A2z = float(VTemp[2])*a
|
|
78
|
+
VTemp = contcar.readline().split(); A3x = float(VTemp[0])*a; A3y = float(VTemp[1])*a; A3z = float(VTemp[2])*a
|
|
79
|
+
contcar.close()
|
|
80
|
+
#--------------------------------
|
|
81
|
+
ss1 = A1x*((A2y*A3z) - (A2z*A3y))
|
|
82
|
+
ss2 = A1y*((A2z*A3x) - (A2x*A3z))
|
|
83
|
+
ss3 = A1z*((A2x*A3y) - (A2y*A3x))
|
|
84
|
+
ss = ss1 + ss2 + ss3
|
|
85
|
+
#-------------------------------
|
|
86
|
+
B1x = ((A2y*A3z) - (A2z*A3y))/ss
|
|
87
|
+
B1y = ((A2z*A3x) - (A2x*A3z))/ss
|
|
88
|
+
B1z = ((A2x*A3y) - (A2y*A3x))/ss
|
|
89
|
+
B2x = ((A3y*A1z) - (A3z*A1y))/ss
|
|
90
|
+
B2y = ((A3z*A1x) - (A3x*A1z))/ss
|
|
91
|
+
B2z = ((A3x*A1y) - (A3y*A1x))/ss
|
|
92
|
+
B3x = ((A1y*A2z) - (A1z*A2y))/ss
|
|
93
|
+
B3y = ((A1z*A2x) - (A1x*A2z))/ss
|
|
94
|
+
B3z = ((A1x*A2y) - (A1y*A2x))/ss
|
|
95
|
+
#-------------------------------
|
|
96
|
+
ft = 6.2831853071795860
|
|
97
|
+
B1 = [B1x*ft, B1y*ft]
|
|
98
|
+
B2 = [B2x*ft, B2y*ft]
|
|
99
|
+
#--------------------
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
#============================================================
|
|
104
|
+
# Plot 2D da 1º Zona de Brillouin ===========================
|
|
105
|
+
#============================================================
|
|
106
|
+
fig, ax = plt.subplots()
|
|
107
|
+
#-----------------------
|
|
108
|
+
|
|
109
|
+
#-------------------------------------------------------------
|
|
110
|
+
# Construindo a BZ 2D usando Voronoi (Supercélula S) ---------
|
|
111
|
+
#-------------------------------------------------------------
|
|
112
|
+
nx, ny = 6, 6 # Número de pontos na grade
|
|
113
|
+
points = np.dot(np.mgrid[-nx:nx+1, -ny:ny+1].reshape(2, -1).T, np.array([B1, B2]))
|
|
114
|
+
vor = Voronoi(points)
|
|
115
|
+
#--------------------------------
|
|
116
|
+
# Plotando a zona de Brillouin 2D
|
|
117
|
+
#--------------------------------
|
|
118
|
+
for simplex in vor.ridge_vertices:
|
|
119
|
+
simplex = np.asarray(simplex)
|
|
120
|
+
if np.all(simplex >= 0): ax.plot(vor.vertices[simplex, 0], vor.vertices[simplex, 1], color = 'black', linewidth = 0.25, alpha = 0.5, zorder=4)
|
|
121
|
+
#-------------------------------------------------------------------------------------------------------------------------------------------------
|
|
122
|
+
plt.quiver(0, 0, B1[0], B1[1], angles='xy', scale_units='xy', scale=1.0, color='blue', alpha = 0.5, zorder=0)
|
|
123
|
+
plt.quiver(0, 0, B2[0], B2[1], angles='xy', scale_units='xy', scale=1.0, color='blue', alpha = 0.5, zorder=0)
|
|
124
|
+
plt.text(B1[0]*1.0, B1[1]*1.0, "B$_1$", fontsize=10, alpha = 1.0, color="black", zorder=1)
|
|
125
|
+
plt.text(B2[0]*1.0, B2[1]*1.0, "B$_2$", fontsize=10, alpha = 1.0, color="black", zorder=1)
|
|
126
|
+
#-----------------------------------------------------------------------------------------
|
|
127
|
+
for i in range(len(kpath) -1):
|
|
128
|
+
coord_x_1 = (kpath[i][0]*B1[0]) + (kpath[i][1]*B2[0]); coord_x_1 = float(coord_x_1)
|
|
129
|
+
coord_y_1 = (kpath[i][0]*B1[1]) + (kpath[i][1]*B2[1]); coord_y_1 = float(coord_y_1)
|
|
130
|
+
coord_x_2 = (kpath[i+1][0]*B1[0]) + (kpath[i+1][1]*B2[0]); coord_x_2 = float(coord_x_2) -coord_x_1
|
|
131
|
+
coord_y_2 = (kpath[i+1][0]*B1[1]) + (kpath[i+1][1]*B2[1]); coord_y_2 = float(coord_y_2) -coord_y_1
|
|
132
|
+
plt.quiver(coord_x_1, coord_y_1, coord_x_2, coord_y_2, angles='xy', scale_units='xy', scale=1.0, color='red', alpha = 0.5, zorder=2)
|
|
133
|
+
#---------------------------------------------------------------------------------------------------------------------------------------
|
|
134
|
+
initial_colors = ['black', 'red', 'blue', 'green', 'yellow', 'cyan', 'magenta']
|
|
135
|
+
all_colors = list(matplotlib.colors.CSS4_COLORS.keys())
|
|
136
|
+
remaining_colors = [color for color in all_colors if color not in initial_colors]
|
|
137
|
+
color_list = (initial_colors + remaining_colors)[:len(kpath_set)]
|
|
138
|
+
#----------------------------------------------------------------
|
|
139
|
+
for i in range(len(kpath_set)):
|
|
140
|
+
coord_x = (kpath_set[i][0]*B1[0]) + (kpath_set[i][1]*B2[0])
|
|
141
|
+
coord_y = (kpath_set[i][0]*B1[1]) + (kpath_set[i][1]*B2[1])
|
|
142
|
+
plt.scatter(coord_x, coord_y, c=color_list[i], marker='o', s=30, edgecolor='black', linewidth=0.5, label = str(kpath_set[i][3]), zorder=3)
|
|
143
|
+
#---------------------------------------------------------------------------------------------------------------------------------------------
|
|
144
|
+
plt.title('1º Brillouin Zone (' + label + ')')
|
|
145
|
+
plt.xlabel('kx (' + '${\AA}^{-1}$' + ' )')
|
|
146
|
+
plt.ylabel('ky (' + '${\AA}^{-1}$' + ' )')
|
|
147
|
+
#-----------------------------------------
|
|
148
|
+
x_range = [B1[0], -B1[0], B2[0], -B2[0]]
|
|
149
|
+
y_range = [B1[1], -B1[1], B2[1], -B2[1]]
|
|
150
|
+
x_min = min(x_range) - abs(min(x_range))*0.1
|
|
151
|
+
x_max = max(x_range) + abs(max(x_range))*0.1
|
|
152
|
+
y_min = min(y_range) - abs(min(y_range))*0.1
|
|
153
|
+
y_max = max(y_range) + abs(max(y_range))*0.1
|
|
154
|
+
#--------------------------------------------
|
|
155
|
+
plt.xlim((x_min, x_max))
|
|
156
|
+
plt.ylim((y_min, y_max))
|
|
157
|
+
#----------------------------------------------------
|
|
158
|
+
ax.legend(loc = "lower left", title = "", fontsize=8)
|
|
159
|
+
ax.set_box_aspect(abs((y_max - y_min) / (x_max - x_min)))
|
|
160
|
+
#-------------------------------------------------------------------------------------------------------------------------------
|
|
161
|
+
if os.path.isdir('output/Bandas'): plt.savefig('output/Bandas/Brillouin_Zone.png', dpi = 600, bbox_inches='tight', pad_inches=0)
|
|
162
|
+
if os.path.isdir('output/Bandas.SO'): plt.savefig('output/Bandas.SO/Brillouin_Zone.png', dpi = 600, bbox_inches='tight', pad_inches=0)
|
|
163
|
+
#-------------------------------------------------------------------------------------------------------------------------------------
|
|
@@ -33,18 +33,19 @@ if os.path.isfile('output/info_bands_SO.txt'): l_file_SO = 'info_bands_SO.txt'
|
|
|
33
33
|
if (l_file == 'null' and l_file_SO == 'null'): sys.exit(0)
|
|
34
34
|
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
#==========================================================
|
|
37
37
|
# Extraindo o k-path para o plot da Estrutura de Bandas ===
|
|
38
|
-
|
|
38
|
+
#==========================================================
|
|
39
39
|
kpoints_file = []
|
|
40
40
|
kpath = []
|
|
41
41
|
#---------
|
|
42
42
|
if os.path.isdir('output/Bandas'): dir_kpath = 'bands'
|
|
43
43
|
if os.path.isdir('output/Bandas.SO'): dir_kpath = 'bands.SO'
|
|
44
|
-
|
|
44
|
+
#-----------------------------------------------------------------------------
|
|
45
45
|
if os.path.isfile(dir_kpath + '/' + 'KPOINTS'): kpoints_file.append('KPOINTS')
|
|
46
|
-
|
|
47
|
-
for
|
|
46
|
+
#--------------------------------------------------------------------------------------
|
|
47
|
+
nkpoints = len([file for file in os.listdir(dir_kpath) if file.startswith("KPOINTS.")])
|
|
48
|
+
for i in range(nkpoints):
|
|
48
49
|
file = 'KPOINTS.' + str(i+1)
|
|
49
50
|
if os.path.isfile(dir_kpath + '/' + file): kpoints_file.append(file)
|
|
50
51
|
#---------------------------------
|
|
@@ -227,7 +228,7 @@ coord_ions = []
|
|
|
227
228
|
for i in range(len(type_ions)):
|
|
228
229
|
for j in range(int(type_ions_n[i])):
|
|
229
230
|
VTemp = poscar.readline().split()
|
|
230
|
-
coord_ions.append([
|
|
231
|
+
coord_ions.append([ float(VTemp[0]), float(VTemp[1]), float(VTemp[2]), str(type_ions[i]) ])
|
|
231
232
|
poscar.close()
|
|
232
233
|
|
|
233
234
|
|
|
@@ -307,7 +308,7 @@ if os.path.isfile('output/xy-scan/info_xy-scan.dat'):
|
|
|
307
308
|
#----------------------------------------------------
|
|
308
309
|
xyscan = open('output/xy-scan/info_xy-scan.dat', "r")
|
|
309
310
|
#----------------------------------------------------
|
|
310
|
-
for i in range(
|
|
311
|
+
for i in range(6): VTemp = xyscan.readline().split()
|
|
311
312
|
e_slide = float(VTemp[2])
|
|
312
313
|
#-------------
|
|
313
314
|
xyscan.close()
|
|
@@ -708,7 +709,11 @@ for n in range(2):
|
|
|
708
709
|
"supercell_matrix": supercell_matrix if n_materials > 1 else None,
|
|
709
710
|
"deformation_matrix": deformation_matrix if n_materials > 1 else None,
|
|
710
711
|
"strain_matrix": strain_matrix if n_materials > 1 else None,
|
|
712
|
+
# "structural_optimization": 'DFT', # 'none', 'DFT', 'ML', 'ML/DFT'
|
|
711
713
|
"shift_plane": shift_plane if n_materials > 1 else None,
|
|
714
|
+
"z_separation": z_separation if n_materials > 1 else None,
|
|
715
|
+
"thickness": thickness,
|
|
716
|
+
"total_thickness": total_thickness,
|
|
712
717
|
# ---------------------------------------------------------------------
|
|
713
718
|
"lattice_type": lattice_type,
|
|
714
719
|
"point_group": point_group,
|
|
@@ -721,9 +726,6 @@ for n in range(2):
|
|
|
721
726
|
"vdW": vdW,
|
|
722
727
|
"non_collinear": non_collinear,
|
|
723
728
|
"spin_orbit": spin_orbit,
|
|
724
|
-
"z_separation": z_separation if n_materials > 1 else None,
|
|
725
|
-
"thickness": thickness,
|
|
726
|
-
"total_thickness": total_thickness,
|
|
727
729
|
# "param_a": param,
|
|
728
730
|
"a1": a1,
|
|
729
731
|
"a2": a2,
|
|
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
|
{samba_ilum-1.0.0.415 → samba_ilum-1.0.0.417}/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
|