SAMBA-ilum 1.0.0.472__tar.gz → 1.0.0.474__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 (64) hide show
  1. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/PKG-INFO +1 -1
  2. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/SAMBA_ilum.egg-info/PKG-INFO +1 -1
  3. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/__main__.py +1 -1
  4. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/HeteroStructure_Generator.py +3 -5
  5. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/data-base_json.py +93 -80
  6. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/job.py +50 -96
  7. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/setup.py +1 -1
  8. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/LICENSE.txt +0 -0
  9. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/README.md +0 -0
  10. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/SAMBA_ilum.egg-info/SOURCES.txt +0 -0
  11. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/SAMBA_ilum.egg-info/dependency_links.txt +0 -0
  12. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/SAMBA_ilum.egg-info/entry_points.txt +0 -0
  13. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/SAMBA_ilum.egg-info/requires.txt +0 -0
  14. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/SAMBA_ilum.egg-info/top_level.txt +0 -0
  15. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/__init__.py +0 -0
  16. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/BZ_2D.py +0 -0
  17. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/INPUTS/INCAR_a-scan +0 -0
  18. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/INPUTS/INCAR_bader +0 -0
  19. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/INPUTS/INCAR_bader.SO +0 -0
  20. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/INPUTS/INCAR_bands +0 -0
  21. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/INPUTS/INCAR_bands.SO +0 -0
  22. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/INPUTS/INCAR_dos +0 -0
  23. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/INPUTS/INCAR_dos.SO +0 -0
  24. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/INPUTS/INCAR_relax +0 -0
  25. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/INPUTS/INCAR_scf +0 -0
  26. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/INPUTS/INCAR_scf.SO +0 -0
  27. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/INPUTS/INCAR_xy-scan +0 -0
  28. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/INPUTS/INCAR_xyz-scan +0 -0
  29. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/INPUTS/INCAR_z-scan +0 -0
  30. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/INPUTS/SAMBA_HeteroStructure.input +0 -0
  31. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/INPUTS/SAMBA_WorkFlow.input +0 -0
  32. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.bands +0 -0
  33. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.chgcar +0 -0
  34. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.dos +0 -0
  35. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.location +0 -0
  36. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.locpot +0 -0
  37. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.orbitals +0 -0
  38. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.spin +0 -0
  39. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/INPUTS/vdw_kernel.bindat +0 -0
  40. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/_info_pseudo.py +0 -0
  41. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/a-scan.py +0 -0
  42. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/a-scan_analysis.py +0 -0
  43. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/bader +0 -0
  44. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/bader_poscar.py +0 -0
  45. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/bader_update.py +0 -0
  46. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/charge_transfer.py +0 -0
  47. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/chgsum.pl +0 -0
  48. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/contcar_update.py +0 -0
  49. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/data-base_union.py +0 -0
  50. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/energy_scan.py +0 -0
  51. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/hubbard_correction.py +0 -0
  52. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/kpoints.py +0 -0
  53. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/lattice_plot3d.py +0 -0
  54. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/make_files.py +0 -0
  55. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/output.py +0 -0
  56. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/potcar.py +0 -0
  57. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/vdW_DF.py +0 -0
  58. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/xy-scan.py +0 -0
  59. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/xy-scan_analysis.py +0 -0
  60. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/xyz-scan.py +0 -0
  61. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/xyz-scan_analysis.py +0 -0
  62. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/z-scan.py +0 -0
  63. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/samba_ilum/src/z-scan_analysis.py +0 -0
  64. {samba_ilum-1.0.0.472 → samba_ilum-1.0.0.474}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: SAMBA_ilum
3
- Version: 1.0.0.472
3
+ Version: 1.0.0.474
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.472
3
+ Version: 1.0.0.474
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.472'
19
+ version = '1.0.0.474'
20
20
 
21
21
  print(" ")
22
22
  print("=============================================================")
@@ -39,12 +39,10 @@ if (crit_area <= 0.0): crit_area = 0.01
39
39
  #----------------------------------------------------------------------------------------------------------------------------------------------
40
40
  # Rotulo temporário para os ions inequivalentes da célula unitária ----------------------------------------------------------------------------
41
41
  #----------------------------------------------------------------------------------------------------------------------------------------------
42
- letters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'X', 'Z', 'Y', 'W' ]
43
- alphabet = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'X', 'Z', 'Y', 'W' ]
44
- # letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'x', 'z', 'y', 'w' ]
45
- # alphabet += ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'x', 'z', 'y', 'w' ]
42
+ letters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'X', 'Z', 'Y', 'W']
43
+ alphabet = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'X', 'Z', 'Y', 'W']
46
44
  #------------------------------------------------------
47
- # Gerando 1040 rótulos temporários para os ions da rede
45
+ # Gerando 1066 rótulos temporários para os ions da rede
48
46
  #------------------------------------------------------
49
47
  for k in range(40):
50
48
  for i in range(len(letters)):
@@ -38,7 +38,8 @@ if (l_file == 'null' and l_file_SO == 'null'): sys.exit(0)
38
38
  #==========================================================
39
39
  kpoints_file = []
40
40
  kpath = []
41
- #---------
41
+ kpath_label = []
42
+ #---------------
42
43
  if os.path.isdir('output/Bandas'): dir_kpath = 'bands'
43
44
  if os.path.isdir('output/Bandas_SO'): dir_kpath = 'bands.SO'
44
45
  #-----------------------------------------------------------------------------
@@ -58,24 +59,27 @@ for i in range(len(kpoints_file)):
58
59
  if (j > 3 and len(lines[j]) > 1):
59
60
  line = lines[j].split()
60
61
  line[3] = line[3].replace('!', '').replace('#1', 'Gamma').replace('#', '')
61
- kpath.append([float(line[0]), float(line[1]), float(line[2]), str(line[3])])
62
- #-------------------------------------------------------------------------------------
62
+ kpath.append([round(float(line[0]), 15), round(float(line[1]), 15), round(float(line[2]), 15)])
63
+ kpath_label.append(line[3])
64
+ #--------------------------------------
63
65
  if (len(kpoints_file) > 1):
64
66
  for j in range(len(lines)):
65
67
  if (i == 0 and j > 3 and len(lines[j]) > 1):
66
68
  line = lines[j].split()
67
69
  line[3] = line[3].replace('!', '').replace('#1', 'Gamma').replace('#', '')
68
- kpath.append([float(line[0]), float(line[1]), float(line[2]), str(line[3])])
70
+ kpath.append([round(float(line[0]), 15), round(float(line[1]), 15), round(float(line[2]), 15)])
71
+ kpath_label.append([line[3]])
69
72
  if (i > 0 and j > 4 and len(lines[j]) > 1):
70
73
  line = lines[j].split()
71
74
  line[3] = line[3].replace('!', '').replace('#1', 'Gamma').replace('#', '')
72
- kpath.append([float(line[0]), float(line[1]), float(line[2]), str(line[3])])
75
+ kpath.append([round(float(line[0]), 15), round(float(line[1]), 15), round(float(line[2]), 15)])
73
76
  #----------------------------------------------------------
74
77
  # Removendo elementos adjacentes e repetidos da lista kpath
75
78
  #----------------------------------------------------------
76
79
  i = 0
77
80
  while i < (len(kpath) -1):
78
81
  if kpath[i] == kpath[i +1]: del kpath[i +1]
82
+ if kpath_label[i] == kpath_label[i +1]: del kpath_label[i +1]
79
83
  else: i += 1 # Avança para o próximo par de elementos
80
84
 
81
85
 
@@ -125,54 +129,55 @@ if os.path.isfile('output/POSCAR.info'):
125
129
  passo = n_materials +1
126
130
  passo += 4
127
131
  temp1 = str(VTemp[passo]).replace('_', ' ').split()
128
- area_perc_mismatch.append([float(temp1[0]), float(temp1[1])])
132
+ area_perc_mismatch.append([round(float(temp1[0]), 15), round(float(temp1[1]), 15)])
129
133
  if (n_materials == 3):
130
- area_perc_mismatch.append([float(temp1[2]), float(temp1[3])])
131
- #---------------------------------------------------------------
134
+ area_perc_mismatch.append([round(float(temp1[2]), 15), round(float(temp1[3]), 15)])
135
+ #-------------------------------------------------
132
136
  passo += 4
133
137
  temp1 = str(VTemp[passo]).replace('_', ' ').split()
134
- for ii in range(len(temp1)): perc_area_change.append(float(temp1[ii]))
135
- #---------------------------------------------------------------------
138
+ for ii in range(len(temp1)): perc_area_change.append(round(float(temp1[ii]), 15))
139
+ #--------------------------------------------------------------
136
140
  passo += 4
137
141
  temp1 = str(VTemp[passo]).replace('_', ' ').split()
138
- perc_mod_vectors_change.append([float(temp1[0]), float(temp1[1])])
139
- perc_mod_vectors_change.append([float(temp1[2]), float(temp1[3])])
142
+ perc_mod_vectors_change.append([round(float(temp1[0]), 15), round(float(temp1[1]), 15)])
143
+ perc_mod_vectors_change.append([round(float(temp1[2]), 15), round(float(temp1[3]), 15)])
140
144
  if (n_materials == 3):
141
- perc_mod_vectors_change.append([float(temp1[4]), float(temp1[5])])
142
- #--------------------------------------------------------------------
145
+ perc_mod_vectors_change.append([round(float(temp1[4]), 15), round(float(temp1[5]), 15)])
146
+ #------------------------------------------------------
143
147
  passo += 4
144
148
  temp1 = str(VTemp[passo]).replace('_', ' ').split()
145
- angle_perc_mismatch.append([float(temp1[0]), float(temp1[1])])
149
+ angle_perc_mismatch.append([round(float(temp1[0]), 15), round(float(temp1[1]), 15)])
146
150
  if (n_materials == 3):
147
- angle_perc_mismatch.append([float(temp1[2]), float(temp1[3])])
148
- #----------------------------------------------------------------
151
+ angle_perc_mismatch.append([round(float(temp1[2]), 15), round(float(temp1[3]), 15)])
152
+ #--------------------------------------------------
149
153
  passo += 4
150
154
  temp1 = str(VTemp[passo]).replace('_', ' ').split()
151
- for ii in range(len(temp1)): perc_angle_change.append(float(temp1[ii]))
152
- #----------------------------------------------------------------------
155
+ for ii in range(len(temp1)): perc_angle_change.append(round(float(temp1[ii]), 15))
156
+ #---------------------------------------------------------------
153
157
  passo += 4
154
158
  temp1 = str(VTemp[passo]).replace('_', ' ').split()
155
- for ii in range(len(temp1)): rotation_angle.append(float(temp1[ii]))
156
- #-------------------------------------------------------------------
159
+ for ii in range(len(temp1)): rotation_angle.append(round(float(temp1[ii]), 15))
160
+ #------------------------------------------------------------
157
161
  for i in range(n_materials):
158
162
  passo += 4
159
163
  temp1 = str(VTemp[passo]).replace('_', ' ').split()
160
164
  supercell_matrix.append([[int(temp1[0]), int(temp1[1])], [int(temp1[2]), int(temp1[3])]])
161
- #--------------------------------------------------------------------------------------------
165
+ # supercell_matrix.append([[round(float(temp1[0]), 15), round(float(temp1[1]), 15)], [round(float(temp1[2]), 15), round(float(temp1[3]), 15)]])
166
+ #------------------------------------------------------------------------
162
167
  for i in range(n_materials):
163
168
  passo += 4
164
169
  temp1 = str(VTemp[passo]).replace('_', ' ').split()
165
- deformation_matrix.append([[float(temp1[0]), float(temp1[1])], [float(temp1[2]), float(temp1[3])]])
166
- #------------------------------------------------------------------------------------------------------
170
+ deformation_matrix.append([[round(float(temp1[0]), 15), round(float(temp1[1]), 15)], [round(float(temp1[2]), 15), round(float(temp1[3]), 15)]])
171
+ #--------------------------------------------------------------------------
167
172
  for i in range(n_materials):
168
173
  passo += 4
169
174
  temp1 = str(VTemp[passo]).replace('_', ' ').split()
170
- strain_matrix.append([[float(temp1[0]), float(temp1[1])], [float(temp1[2]), float(temp1[3])]])
171
- #-------------------------------------------------------------------------------------------------
175
+ strain_matrix.append([[round(float(temp1[0]), 15), round(float(temp1[1]), 15)], [round(float(temp1[2]), 15), round(float(temp1[3]), 15)]])
176
+ #---------------------------------------------------------------------
172
177
  passo += 4
173
178
  temp1 = str(VTemp[passo]).replace('_', ' ').split()
174
- for ii in range(len(temp1)): shift_plane.append(float(temp1[ii]))
175
- #----------------------------------------------------------------
179
+ for ii in range(len(temp1)): shift_plane.append(round(float(temp1[ii]), 15))
180
+ #---------------------------------------------------------
176
181
  passo += 1
177
182
  for i in range(n_materials):
178
183
  id_materials.append(str(VTemp[-n_materials -1 +i]))
@@ -225,10 +230,12 @@ type_ions = poscar.readline().split()
225
230
  type_ions_n = poscar.readline().split()
226
231
  poscar.readline()
227
232
  coord_ions = []
233
+ rotulo_ions = []
228
234
  for i in range(len(type_ions)):
229
235
  for j in range(int(type_ions_n[i])):
230
236
  VTemp = poscar.readline().split()
231
- coord_ions.append([ float(VTemp[0]), float(VTemp[1]), float(VTemp[2]), str(type_ions[i]) ])
237
+ coord_ions.append([ round(float(VTemp[0]), 15), round(float(VTemp[1]), 15), round(float(VTemp[2]), 15) ])
238
+ rotulo_ions.append(type_ions[i])
232
239
  poscar.close()
233
240
 
234
241
 
@@ -243,6 +250,7 @@ for i in range(nion):
243
250
  VTemp = poscar.readline().split()
244
251
  temp_z.append(float(VTemp[2]))
245
252
  total_thickness = (max(temp_z) -min(temp_z))*param
253
+ total_thickness = round(total_thickness, 15)
246
254
  poscar.close()
247
255
  #---------------------------------------------------------
248
256
  if (n_materials == 1): thickness.append( total_thickness )
@@ -255,9 +263,12 @@ if (n_materials > 1):
255
263
  for j in range(int(nions_materials[i])):
256
264
  VTemp = poscar.readline().split()
257
265
  temp_z.append(float(VTemp[2]))
258
- thickness.append( (max(temp_z) -min(temp_z))*param )
259
- #---------------------------------------------------------------
260
- if (i > 0): z_separation.append( (min(temp_z) -temp_max)*param )
266
+ temp_t = (max(temp_z) -min(temp_z))*param
267
+ thickness.append(round(temp_t, 15))
268
+ #---------------------------------------
269
+ if (i > 0):
270
+ temp_sep = (min(temp_z) -temp_max)*param
271
+ z_separation.append(round(temp_sep, 15))
261
272
  temp_max = max(temp_z)
262
273
  #---------------------
263
274
  poscar.close()
@@ -308,7 +319,7 @@ if os.path.isfile('output/xy-scan/info_xy-scan.dat'):
308
319
  xyscan = open('output/xy-scan/info_xy-scan.dat', "r")
309
320
  #----------------------------------------------------
310
321
  for i in range(6): VTemp = xyscan.readline().split()
311
- e_slide = float(VTemp[2])
322
+ e_slide = round(float(VTemp[2]), 15)
312
323
  #-------------
313
324
  xyscan.close()
314
325
 
@@ -422,7 +433,7 @@ for n in range(2):
422
433
  param_a = '--'; a1 = '--'; a2 = '--'; a3 = '--'; param_b = '--'; b1 = '--'; b2 = '--'; b3 = '--'
423
434
  module_a1_a2_a3 = '--'; module_b1_b2_b3 = '--'; angle_a1a2_a1a3_a2a3 = '--'; angle_b1b2_b1b3_b2b3 = '--'
424
435
  cell_area = '--'; cell_vol = '--'; zb_area = '--'; zb_volume = '--'
425
- direct_coord_ions = '--'; k_path = '--'
436
+ direct_coord_ions = '--'; label_ions = '--'; k_path = '--'
426
437
 
427
438
 
428
439
  #----------------------------------------------------------------------------------------------------------
@@ -477,8 +488,8 @@ for n in range(2):
477
488
  if (VTemp[1] == 'k-points'): nk = int(VTemp[3])
478
489
  if (VTemp[5] == 'bands'): nb = int(VTemp[7])
479
490
  if (VTemp[1] == 'ions'): ni = int(VTemp[3])
480
- if (VTemp[5] == 'electrons'): ne = float(VTemp[7])
481
- #----------------------------------------
491
+ if (VTemp[5] == 'electrons'): ne = round(float(VTemp[7]), 15)
492
+ #--------------------------------------------------------------------
482
493
  elif (VTemp[0] == 'LORBIT'):
483
494
  lorbit = int(VTemp[2])
484
495
  if (VTemp[3] == 'ISPIN'): ispin = int(VTemp[5])
@@ -488,60 +499,60 @@ for n in range(2):
488
499
  elif (VTemp[0] == 'First'): cbm = vbm +1
489
500
  #----------------------------------------
490
501
  elif (VTemp[0] == 'Valence'):
491
- e_vbm = float(VTemp[7])
502
+ e_vbm = round(float(VTemp[7]), 15)
492
503
  tk_vbm = int(VTemp[11])
493
504
  #----------------------------------------
494
505
  elif (VTemp[0] == 'Conduction'):
495
- e_cbm = float(VTemp[7])
506
+ e_cbm = round(float(VTemp[7]), 15)
496
507
  tk_cbm = int(VTemp[11])
497
508
  #----------------------------------------
498
509
  elif (VTemp[0] == 'GAP'):
499
510
  type_gap = str(VTemp[2])
500
- gap = float(VTemp[5])
511
+ gap = round(float(VTemp[5]), 15)
501
512
  #----------------------------------------
502
- elif (VTemp[0] == 'Fermi'): e_fermi = float(VTemp[3])
513
+ elif (VTemp[0] == 'Fermi'): e_fermi = round(float(VTemp[3]), 15)
503
514
  #----------------------------------------
504
515
  elif (VTemp[0] == 'free'):
505
- total_energy = float(VTemp[4])
506
- # e_per_ion = total_energy/ni
507
- #----------------------------------------
508
- elif (VTemp[0] == 'Volume_cell'): Volume_cell = float(VTemp[2])
516
+ total_energy = round(float(VTemp[4]), 15)
517
+ # e_per_ion = round(float(total_energy)/ni, 15)
518
+ #--------------------------------------------------------
519
+ elif (VTemp[0] == 'Volume_cell'): Volume_cell = round(float(VTemp[2]), 15)
509
520
  #----------------------------------------
510
521
  elif (VTemp[0] == 'Param.'): param = float(VTemp[2])
511
522
  #----------------------------------------
512
523
  elif (VTemp[0] == 'A1'):
513
- a1 = [float(VTemp[4])*param, float(VTemp[5])*param, float(VTemp[6])*param]
514
- A1 = np.array([float(VTemp[4]), float(VTemp[5]), float(VTemp[6])])*param; module_a1_a2_a3 = []; module_a1_a2_a3.append(np.linalg.norm(A1))
524
+ a1 = [round(float(VTemp[4])*param, 15), round(float(VTemp[5])*param, 15), round(float(VTemp[6])*param, 15)]
525
+ A1 = np.array([float(VTemp[4]), float(VTemp[5]), float(VTemp[6])])*param; module_a1_a2_a3 = []; module_a1_a2_a3.append(round(np.linalg.norm(A1), 15))
515
526
  elif (VTemp[0] == 'A2'):
516
- a2 = [float(VTemp[4])*param, float(VTemp[5])*param, float(VTemp[6])*param]
517
- A2 = np.array([float(VTemp[4]), float(VTemp[5]), float(VTemp[6])])*param; module_a1_a2_a3.append(np.linalg.norm(A2))
527
+ a2 = [round(float(VTemp[4])*param, 15), round(float(VTemp[5])*param, 15), round(float(VTemp[6])*param, 15)]
528
+ A2 = np.array([float(VTemp[4]), float(VTemp[5]), float(VTemp[6])])*param; module_a1_a2_a3.append(round(np.linalg.norm(A2), 15))
518
529
  elif (VTemp[0] == 'A3'):
519
- a3 = [float(VTemp[4])*param, float(VTemp[5])*param, float(VTemp[6])*param]
520
- A3 = np.array([float(VTemp[4]), float(VTemp[5]), float(VTemp[6])])*param; module_a1_a2_a3.append(np.linalg.norm(A3))
530
+ a3 = [round(float(VTemp[4])*param, 15), round(float(VTemp[5])*param, 15), round(float(VTemp[6])*param, 15)]
531
+ A3 = np.array([float(VTemp[4]), float(VTemp[5]), float(VTemp[6])])*param; module_a1_a2_a3.append(round(np.linalg.norm(A3), 15))
521
532
  #-------------------------------------------------------
522
533
  angle_a1a2_a1a3_a2a3 = []
523
- angle_a1a2_a1a3_a2a3.append(round(np.degrees(np.arccos(np.dot(A1,A2) / (np.linalg.norm(A1) * np.linalg.norm(A2)))), 3))
524
- angle_a1a2_a1a3_a2a3.append(round(np.degrees(np.arccos(np.dot(A1,A3) / (np.linalg.norm(A1) * np.linalg.norm(A3)))), 3))
525
- angle_a1a2_a1a3_a2a3.append(round(np.degrees(np.arccos(np.dot(A2,A3) / (np.linalg.norm(A2) * np.linalg.norm(A3)))), 3))
534
+ angle_a1a2_a1a3_a2a3.append(round(np.degrees(np.arccos(np.dot(A1,A2) / (np.linalg.norm(A1) * np.linalg.norm(A2)))), 15))
535
+ angle_a1a2_a1a3_a2a3.append(round(np.degrees(np.arccos(np.dot(A1,A3) / (np.linalg.norm(A1) * np.linalg.norm(A3)))), 15))
536
+ angle_a1a2_a1a3_a2a3.append(round(np.degrees(np.arccos(np.dot(A2,A3) / (np.linalg.norm(A2) * np.linalg.norm(A3)))), 15))
526
537
  #----------------------------------------
527
538
  elif (VTemp[0] == '2pi/Param.'): fator_rec = float(VTemp[2])
528
539
  #----------------------------------------
529
540
  elif (VTemp[0] == 'B1'):
530
- b1 = [float(VTemp[4])*fator_rec, float(VTemp[5])*fator_rec, float(VTemp[6])*fator_rec]
531
- B1 = np.array([float(VTemp[4]), float(VTemp[5]), float(VTemp[6])])*fator_rec; module_b1_b2_b3 = []; module_b1_b2_b3.append(np.linalg.norm(B1))
541
+ b1 = [round(float(VTemp[4])*fator_rec, 15), round(float(VTemp[5])*fator_rec, 15), round(float(VTemp[6])*fator_rec, 15)]
542
+ B1 = np.array([float(VTemp[4]), float(VTemp[5]), float(VTemp[6])])*fator_rec; module_b1_b2_b3 = []; module_b1_b2_b3.append(round(np.linalg.norm(B1), 15))
532
543
  elif (VTemp[0] == 'B2'):
533
- b2 = [float(VTemp[4])*fator_rec, float(VTemp[5])*fator_rec, float(VTemp[6])*fator_rec]
534
- B2 = np.array([float(VTemp[4]), float(VTemp[5]), float(VTemp[6])])*fator_rec; module_b1_b2_b3.append(np.linalg.norm(B2))
544
+ b2 = [round(float(VTemp[4])*fator_rec, 15), round(float(VTemp[5])*fator_rec, 15), round(float(VTemp[6])*fator_rec, 15)]
545
+ B2 = np.array([float(VTemp[4]), float(VTemp[5]), float(VTemp[6])])*fator_rec; module_b1_b2_b3.append(round(np.linalg.norm(B2), 15))
535
546
  elif (VTemp[0] == 'B3'):
536
- b3 = [float(VTemp[4])*fator_rec, float(VTemp[5])*fator_rec, float(VTemp[6])*fator_rec]
537
- B3 = np.array([float(VTemp[4]), float(VTemp[5]), float(VTemp[6])])*fator_rec; module_b1_b2_b3.append(np.linalg.norm(B3))
547
+ b3 = [round(float(VTemp[4])*fator_rec, 15), round(float(VTemp[5])*fator_rec, 15), round(float(VTemp[6])*fator_rec, 15)]
548
+ B3 = np.array([float(VTemp[4]), float(VTemp[5]), float(VTemp[6])])*fator_rec; module_b1_b2_b3.append(round(np.linalg.norm(B3), 15))
538
549
  #-------------------------------------------------------
539
550
  angle_b1b2_b1b3_b2b3 = []
540
- angle_b1b2_b1b3_b2b3.append(round(np.degrees(np.arccos(np.dot(B1,B2) / (np.linalg.norm(B1) * np.linalg.norm(B2)))), 3))
541
- angle_b1b2_b1b3_b2b3.append(round(np.degrees(np.arccos(np.dot(B1,B3) / (np.linalg.norm(B1) * np.linalg.norm(B3)))), 3))
542
- angle_b1b2_b1b3_b2b3.append(round(np.degrees(np.arccos(np.dot(B2,B3) / (np.linalg.norm(B2) * np.linalg.norm(B3)))), 3))
551
+ angle_b1b2_b1b3_b2b3.append(round(np.degrees(np.arccos(np.dot(B1,B2) / (np.linalg.norm(B1) * np.linalg.norm(B2)))), 15))
552
+ angle_b1b2_b1b3_b2b3.append(round(np.degrees(np.arccos(np.dot(B1,B3) / (np.linalg.norm(B1) * np.linalg.norm(B3)))), 15))
553
+ angle_b1b2_b1b3_b2b3.append(round(np.degrees(np.arccos(np.dot(B2,B3) / (np.linalg.norm(B2) * np.linalg.norm(B3)))), 15))
543
554
  #----------------------------------------
544
- elif (VTemp[0] == 'Volume_ZB'): vol_zb = float(VTemp[2])
555
+ elif (VTemp[0] == 'Volume_ZB'): vol_zb = VTemp[2]
545
556
  #----------------------------------------
546
557
  elif (VTemp[0] == 'k-points'): loop = i+3
547
558
 
@@ -566,8 +577,8 @@ for n in range(2):
566
577
  for nn in range(2): VTemp = info.readline()
567
578
  for nn in range(1,(nk+1)):
568
579
  VTemp = info.readline().split()
569
- if (nn == int(tk_vbm)): k_vbm = [float(VTemp[1]), float(VTemp[2]), float(VTemp[3])]
570
- if (nn == int(tk_cbm)): k_cbm = [float(VTemp[1]), float(VTemp[2]), float(VTemp[3])]
580
+ if (nn == int(tk_vbm)): k_vbm = [round(float(VTemp[1]), 15), round(float(VTemp[2]), 15), round(float(VTemp[3]), 15)]
581
+ if (nn == int(tk_cbm)): k_cbm = [round(float(VTemp[1]), 15), round(float(VTemp[2]), 15), round(float(VTemp[3]), 15)]
571
582
 
572
583
 
573
584
  # =================================================================
@@ -585,10 +596,10 @@ for n in range(2):
585
596
  vector_bader = []
586
597
  VTemp = bader.readline()
587
598
  VTemp = bader.readline().split()
588
- vector_bader.append(float(VTemp[2]))
599
+ vector_bader.append(round(float(VTemp[2]), 15))
589
600
  for mm in range(len(t_ions_materials[mn])):
590
601
  VTemp = bader.readline().split()
591
- vector_bader.append(float(VTemp[3]))
602
+ vector_bader.append(round(float(VTemp[3]), 15))
592
603
  charge_transfer.append(vector_bader)
593
604
  #===========
594
605
  if (n == 1):
@@ -601,10 +612,10 @@ for n in range(2):
601
612
  vector_bader = []
602
613
  VTemp = bader.readline()
603
614
  VTemp = bader.readline().split()
604
- vector_bader.append(float(VTemp[2]))
615
+ vector_bader.append(round(float(VTemp[2]), 15))
605
616
  for mm in range(len(t_ions_materials[mn])):
606
617
  VTemp = bader.readline().split()
607
- vector_bader.append(float(VTemp[3]))
618
+ vector_bader.append(round(float(VTemp[3]), 15))
608
619
  charge_transfer_SO.append(vector_bader)
609
620
 
610
621
 
@@ -623,9 +634,9 @@ for n in range(2):
623
634
  for i in range(loop): VTemp = info.readline()
624
635
  for i in range(nk):
625
636
  VTemp = info.readline().split()
626
- k_points_direct.append([float(VTemp[1]), float(VTemp[2]), float(VTemp[3])])
627
- k_points_cart.append([float(VTemp[4]), float(VTemp[5]), float(VTemp[6])])
628
- k_path.append(float(VTemp[7]))
637
+ k_points_direct.append([VTemp[1], VTemp[2], VTemp[3]])
638
+ k_points_cart.append([VTemp[4], VTemp[5], VTemp[6]])
639
+ k_path.append(VTemp[7])
629
640
  print(k_path)
630
641
  #-----------
631
642
  info.close()
@@ -669,8 +680,8 @@ for n in range(2):
669
680
  V2 = np.array([A2[0], A2[1]])
670
681
  #----------------------------
671
682
  # Área da célula no plano XY
672
- Area_cell = np.linalg.norm(np.cross(V1, V2))
673
- #-------------------------------------------
683
+ Area_cell = round(np.linalg.norm(np.cross(V1, V2)), 15)
684
+ #------------------------------------------------------
674
685
 
675
686
 
676
687
  #=======================================
@@ -680,8 +691,8 @@ for n in range(2):
680
691
  V2 = np.array([B2[0], B2[1]])
681
692
  #----------------------------
682
693
  # Área da zb no plano KxKy
683
- Area_ZB = np.linalg.norm(np.cross(V1, V2))
684
- #-----------------------------------------
694
+ Area_ZB = round(np.linalg.norm(np.cross(V1, V2)), 15)
695
+ #----------------------------------------------------
685
696
 
686
697
 
687
698
  # ===========================================
@@ -742,7 +753,9 @@ for n in range(2):
742
753
  "zb_area": Area_ZB,
743
754
  # "zb_volume": vol_zb,
744
755
  "direct_coord_ions": coord_ions,
756
+ "label_ions": rotulo_ions,
745
757
  "kpath": kpath,
758
+ "kpath_label": kpath_label,
746
759
  }
747
760
 
748
761
 
@@ -766,8 +779,8 @@ for n in range(2):
766
779
  "e_vacuum": e_vacuum,
767
780
  # "work_function": work_function,
768
781
  "total_energy": total_energy,
769
- "e_per_ion": total_energy/ni,
770
- "e_per_area": total_energy/Area_cell,
782
+ "e_per_ion": round(float(total_energy)/ni, 15),
783
+ "e_per_area": round(float(total_energy)/float(Area_cell), 15),
771
784
  "e_binding": e_binding if n_materials > 1 else None,
772
785
  "e_slide": e_slide if n_materials > 1 else None,
773
786
  "charge_transfer": charge_transfer if n_materials > 1 else None,
@@ -794,8 +807,8 @@ for n in range(2):
794
807
  "e_vacuum_SO": e_vacuum,
795
808
  # "work_function_SO": work_function,
796
809
  "total_energy_SO": total_energy,
797
- "e_per_ion_SO": total_energy/ni,
798
- "e_per_area_SO": total_energy/Area_cell,
810
+ "e_per_ion_SO": round(float(total_energy)/ni, 15),
811
+ "e_per_area_SO": round(float(total_energy)/float(Area_cell), 15),
799
812
  "charge_transfer_SO": charge_transfer_SO if n_materials > 1 else None,
800
813
  }
801
814
 
@@ -112,10 +112,10 @@ job.write(f' echo "$dir0/$i/$j" >> "$dir0/check_list.txt" \n')
112
112
  job.write(f' #===================================================== \n')
113
113
  job.write(f' if [[ "$j" == "xyz-scan" || "$j" == "xy-scan" ]]; then \n')
114
114
  job.write(f' cd $dir0/$i/$j \n')
115
- job.write(f' python3 contcar_update.py || echo "Erro no contcar_update.py em $dir0/$i/$j" >> $dir0/error_log.txt \n')
115
+ job.write(f' python3 contcar_update.py \n')
116
116
  job.write(f' cp POSCAR POSCAR.0 \n')
117
117
  job.write(f' cp CONTCAR CONTCAR.0 \n')
118
- job.write(" python3 ${j}.py || echo 'Erro no ${j}.py em $dir0/$i/$j' >> $dir0/error_log.txt \n")
118
+ job.write(" python3 ${j}.py \n")
119
119
  job.write(f' #--------------- \n')
120
120
  job.write(f' folders2=() \n')
121
121
  job.write(f' for folder in $dir0/$i/$j/*; do \n')
@@ -126,19 +126,16 @@ job.write(f' done \n')
126
126
  job.write(f' #------------------------ \n')
127
127
  job.write(f' for k in "{folders2}"; do \n')
128
128
  job.write(f' cd $dir0/$i/$j/$k \n')
129
- job.write(f' if [[ -f POSCAR && -f INCAR && -f KPOINTS && -f POTCAR ]]; then \n')
130
- job.write(f' $vasp_std || echo "Erro no VASP em $dir0/$i/$j/$k" >> $dir0/error_log.txt \n')
131
- job.write(f' else \n')
132
- job.write(f' echo "Arquivos necessários ausentes em $dir0/$i/$j/$k" >> "$dir0/error_log.txt" \n')
133
- job.write(f' fi \n')
134
- job.write(f' python3 contcar_update.py || echo "Erro no contcar_update.py em $dir0/$i/$j/$k" >> $dir0/error_log.txt \n')
135
- job.write(f' python3 energy_scan.py || echo "Erro no energy_scan.py em $dir0/$i/$j/$k" >> $dir0/error_log.txt \n')
129
+ job.write(f' $vasp_std || echo "Erro no VASP em $dir0/$i/$j" >> $dir0/error_log.txt \n')
130
+ job.write(f' sleep 10 \n')
131
+ job.write(f' python3 contcar_update.py \n')
132
+ job.write(f' python3 energy_scan.py \n')
136
133
  job.write(f' rm -r CHG CHGCAR DOSCAR PROCAR WAVECAR INCAR KPOINTS OSZICAR PCDAT POTCAR REPORT XDATCAR vdw_kernel.bindat EIGENVAL IBZKPT vasprun.xml *.py \n')
137
134
  job.write(f' bzip2 OUTCAR \n')
138
135
  job.write(f' done \n')
139
136
  job.write(f' #------------- \n')
140
137
  job.write(f' cd $dir0/$i/$j \n')
141
- job.write(" python3 ${j}_analysis.py || echo 'Erro no ${j}_analysis.py em $dir0/$i/$j' >> $dir0/error_log.txt \n")
138
+ job.write(" python3 ${j}_analysis.py \n")
142
139
  job.write(" # rm -r 0* 1* 2* 3* 4* 5* 6* 7* 8* 9* \n")
143
140
  job.write(f' #----------------------- \n')
144
141
  job.write(f' for k in "{tasks2}"; do \n')
@@ -155,12 +152,12 @@ job.write(f' cp $dir0/$i/$j/POSCAR $dir0/$i/output/POSCAR \n
155
152
  job.write(f' #==================================================== \n')
156
153
  job.write(f' elif [[ "$j" == "z-scan" || "$j" == "a-scan" ]]; then \n')
157
154
  job.write(f' cd $dir0/$i/$j \n')
158
- job.write(f' python3 contcar_update.py || echo "Erro no contcar_update.py em $dir0/$i/$j" >> $dir0/error_log.txt \n')
155
+ job.write(f' python3 contcar_update.py \n')
159
156
  job.write(f' cp POSCAR POSCAR.0 \n')
160
157
  job.write(f' cp CONTCAR CONTCAR.0 \n')
161
158
  job.write(" for p in {1..8}; do \n")
162
159
  job.write(f' echo "$p" > "$dir0/$i/$j/check_steps.txt" \n')
163
- job.write(" python3 ${j}.py || echo 'Erro no ${j}.py em $dir0/$i/$j' >> $dir0/error_log.txt \n")
160
+ job.write(" python3 ${j}.py \n")
164
161
  job.write(f' #--------------- \n')
165
162
  job.write(f' folders2=() \n')
166
163
  job.write(f' for folder in $dir0/$i/$j/*; do \n')
@@ -173,13 +170,10 @@ job.write(f' for k in "{folders2}"; do \n')
173
170
  job.write(" prefixo=${k:0:3} \n")
174
171
  job.write(f' if [ "$prefixo" != "OK_" ]; then \n')
175
172
  job.write(f' cd $dir0/$i/$j/$k \n')
176
- job.write(f' if [[ -f POSCAR && -f INCAR && -f KPOINTS && -f POTCAR ]]; then \n')
177
- job.write(f' $vasp_std || echo "Erro no VASP em $dir0/$i/$j/$k" >> $dir0/error_log.txt \n')
178
- job.write(f' else \n')
179
- job.write(f' echo "Arquivos necessários ausentes em $dir0/$i/$j/$k" >> "$dir0/error_log.txt" \n')
180
- job.write(f' fi \n')
181
- job.write(f' python3 contcar_update.py || echo "Erro no contcar_update.py em $dir0/$i/$j/$k" >> $dir0/error_log.txt \n')
182
- job.write(f' python3 energy_scan.py || echo "Erro no energy_scan.py em $dir0/$i/$j/$k" >> $dir0/error_log.txt \n')
173
+ job.write(f' $vasp_std || echo "Erro no VASP em $dir0/$i/$j" >> $dir0/error_log.txt \n')
174
+ job.write(f' sleep 10 \n')
175
+ job.write(f' python3 contcar_update.py \n')
176
+ job.write(f' python3 energy_scan.py \n')
183
177
  job.write(f' rm -r CHG CHGCAR DOSCAR PROCAR WAVECAR INCAR KPOINTS OSZICAR PCDAT POTCAR REPORT XDATCAR vdw_kernel.bindat EIGENVAL IBZKPT vasprun.xml *.py \n')
184
178
  job.write(f' bzip2 OUTCAR \n')
185
179
  job.write(f' cd $dir0/$i/$j \n')
@@ -199,7 +193,7 @@ job.write(f' for k in "{folders2}"; do \n')
199
193
  job.write(" new_name=${k:3} \n")
200
194
  job.write(f' mv "$k" "$new_name" \n')
201
195
  job.write(f' done \n')
202
- job.write(" python3 ${j}_analysis.py || echo 'Erro no ${j}_analysis.py em $dir0/$i/$j' >> $dir0/error_log.txt \n")
196
+ job.write(" python3 ${j}_analysis.py \n")
203
197
  job.write(" # rm -r 0* 1* 2* 3* 4* 5* 6* 7* 8* 9* \n")
204
198
  job.write(f' #----------------------- \n')
205
199
  job.write(f' for k in "{tasks2}"; do \n')
@@ -220,24 +214,18 @@ job.write(f' cp CONTCAR CONTCAR.0 \n')
220
214
  job.write(f' mv INCAR INCAR_relax \n')
221
215
  job.write(f' #------------------- \n')
222
216
  job.write(f' mv INCAR_relax_frozen INCAR \n')
223
- job.write(f' if [[ -f POSCAR && -f INCAR && -f KPOINTS && -f POTCAR ]]; then \n')
224
- job.write(f' $vasp_std || echo "Erro no VASP em $dir0/$i/$j" >> $dir0/error_log.txt \n')
225
- job.write(f' else \n')
226
- job.write(f' echo "Arquivos necessários ausentes em $dir0/$i/$j >> "$dir0/error_log.txt" \n')
227
- job.write(f' fi \n')
217
+ job.write(f' $vasp_std || echo "Erro no VASP em $dir0/$i/$j" >> $dir0/error_log.txt \n')
218
+ job.write(f' sleep 30 \n')
228
219
  job.write(f' mv OSZICAR OSZICAR_frozen \n')
229
220
  job.write(f' rm -r CHG CHGCAR DOSCAR PROCAR WAVECAR EIGENVAL IBZKPT vasprun.xml \n')
230
221
  job.write(f' mv INCAR INCAR_relax_frozen \n')
231
222
  job.write(f' mv OUTCAR OUTCAR_frozen \n')
232
223
  job.write(f' #---------------------- \n')
233
224
  job.write(f' mv INCAR_relax INCAR \n')
234
- job.write(f' if [[ -f POSCAR && -f INCAR && -f KPOINTS && -f POTCAR ]]; then \n')
235
- job.write(f' $vasp_std || echo "Erro no VASP em $dir0/$i/$j" >> $dir0/error_log.txt \n')
236
- job.write(f' else \n')
237
- job.write(f' echo "Arquivos necessários ausentes em $dir0/$i/$j >> "$dir0/error_log.txt" \n')
238
- job.write(f' fi \n')
225
+ job.write(f' $vasp_std || echo "Erro no VASP em $dir0/$i/$j" >> $dir0/error_log.txt \n')
226
+ job.write(f' sleep 30 \n')
239
227
  job.write(f' rm -r CHG CHGCAR DOSCAR PROCAR WAVECAR EIGENVAL IBZKPT vasprun.xml \n')
240
- job.write(f' python3 contcar_update.py || echo "Erro no contcar_update.py em $dir0/$i/$j" >> $dir0/error_log.txt \n')
228
+ job.write(f' python3 contcar_update.py \n')
241
229
  job.write(f' #------------------------ \n')
242
230
  job.write(f' for k in "{tasks2}"; do \n')
243
231
  job.write(f' #-------------------------------------------------- \n')
@@ -254,22 +242,16 @@ job.write(f' cp $dir0/$i/$j/CONTCAR $dir0/$i/output/POSCAR
254
242
  job.write(f' #================================= \n')
255
243
  job.write(f' elif [ "$string1" == "scf" ]; then \n')
256
244
  job.write(f' if [ "$string2" != "SO" ]; then \n')
257
- job.write(f' if [[ -f POSCAR && -f INCAR && -f KPOINTS && -f POTCAR ]]; then \n')
258
- job.write(f' $vasp_std || echo "Erro no VASP em $dir0/$i/$j" >> $dir0/error_log.txt \n')
259
- job.write(f' else \n')
260
- job.write(f' echo "Arquivos necessários ausentes em $dir0/$i/$j >> "$dir0/error_log.txt" \n')
261
- job.write(f' fi \n')
245
+ job.write(f' $vasp_std || echo "Erro no VASP em $dir0/$i/$j" >> $dir0/error_log.txt \n')
246
+ job.write(f' sleep 30 \n')
262
247
  job.write(f' for k in "{tasks2}"; do \n')
263
248
  job.write(f' if [[ "$k" == "bands" || "$k" == "dos" ]]; then \n')
264
249
  job.write(f' cp $dir0/$i/$j/CHGCAR $dir0/$i/$k/CHGCAR \n')
265
250
  job.write(f' fi \n')
266
251
  job.write(f' done \n')
267
252
  job.write(f' elif [ "$string2" == "SO" ]; then \n')
268
- job.write(f' if [[ -f POSCAR && -f INCAR && -f KPOINTS && -f POTCAR ]]; then \n')
269
- job.write(f' $vasp_ncl || echo "Erro no VASP em $dir0/$i/$j" >> $dir0/error_log.txt \n')
270
- job.write(f' else \n')
271
- job.write(f' echo "Arquivos necessários ausentes em $dir0/$i/$j >> "$dir0/error_log.txt" \n')
272
- job.write(f' fi \n')
253
+ job.write(f' $vasp_ncl || echo "Erro no VASP em $dir0/$i/$j" >> $dir0/error_log.txt \n')
254
+ job.write(f' sleep 30 \n')
273
255
  job.write(f' for k in "{tasks2}"; do \n')
274
256
  job.write(f' if [[ "$k" == "bands.SO" || "$k" == "dos.SO" ]]; then \n')
275
257
  job.write(f' cp $dir0/$i/$j/CHGCAR $dir0/$i/$k/CHGCAR \n')
@@ -277,15 +259,13 @@ job.write(f' fi \n')
277
259
  job.write(f' done \n')
278
260
  job.write(f' fi \n')
279
261
  job.write(f' #------------------- \n')
280
- job.write(f' if [[ -f CONTCAR && -f OUTCAR && -f PROCAR && -f KPOINTS && -f LOCPOT ]]; then \n')
281
- job.write(f' python3 -m vasprocar || echo "Erro no VASPROCAR em $dir0/$i/$j" >> $dir0/error_log.txt \n')
282
- job.write(f' fi \n')
262
+ job.write(f' python3 -m vasprocar \n')
283
263
  job.write(f' #------------------- \n')
284
264
  job.write(f' # rm -r CHG DOSCAR WAVECAR EIGENVAL IBZKPT OSZICAR PCDAT XDATCAR vasprun.xml \n')
285
265
  job.write(f' # bzip2 CHGCAR OUTCAR PROCAR LOCPOT \n')
286
266
  job.write(f' rm -r CHG DOSCAR WAVECAR \n')
287
267
  job.write(f' bzip2 CHGCAR OUTCAR PROCAR LOCPOT EIGENVAL IBZKPT OSZICAR PCDAT XDATCAR vasprun.xml \n')
288
- job.write(f' python3 contcar_update.py || echo "Erro no contcar_update.py em $dir0/$i/$j" >> $dir0/error_log.txt \n')
268
+ job.write(f' python3 contcar_update.py \n')
289
269
  job.write(f' #----------------------------------------------- \n')
290
270
  job.write(f' cp $dir0/$i/$j/CONTCAR $dir0/$i/output/CONTCAR \n')
291
271
  job.write(f' cp $dir0/$i/$j/POSCAR $dir0/$i/output/POSCAR \n')
@@ -316,22 +296,16 @@ job.write(f' mv KPOINTS.$string4 KPOINTS \n')
316
296
  job.write(f' fi \n')
317
297
  job.write(f' #------------------------------ \n')
318
298
  job.write(f' if [ "$string2" != "SO" ]; then \n')
319
- job.write(f' if [[ -f POSCAR && -f INCAR && -f KPOINTS && -f POTCAR && -f CHGCAR ]]; then \n')
320
- job.write(f' $vasp_std || echo "Erro no VASP em $dir0/$i/$j" >> $dir0/error_log.txt \n')
321
- job.write(f' else \n')
322
- job.write(f' echo "Arquivos necessários ausentes em $dir0/$i/$j >> "$dir0/error_log.txt" \n')
323
- job.write(f' fi \n')
299
+ job.write(f' $vasp_std || echo "Erro no VASP em $dir0/$i/$j" >> $dir0/error_log.txt \n')
300
+ job.write(f' sleep 30 \n')
324
301
  job.write(f' elif [ "$string2" == "SO" ]; then \n')
325
- job.write(f' if [[ -f POSCAR && -f INCAR && -f KPOINTS && -f POTCAR && -f CHGCAR ]]; then \n')
326
- job.write(f' $vasp_ncl || echo "Erro no VASP em $dir0/$i/$j" >> $dir0/error_log.txt \n')
327
- job.write(f' else \n')
328
- job.write(f' echo "Arquivos necessários ausentes em $dir0/$i/$j >> "$dir0/error_log.txt" \n')
329
- job.write(f' fi \n')
302
+ job.write(f' $vasp_ncl || echo "Erro no VASP em $dir0/$i/$j" >> $dir0/error_log.txt \n')
303
+ job.write(f' sleep 30 \n')
330
304
  job.write(f' fi \n')
331
305
  job.write(f' #----------------------------------- \n')
332
306
  job.write(f' # rm -r CHG DOSCAR WAVECAR EIGENVAL IBZKPT OSZICAR PCDAT XDATCAR vasprun.xml \n')
333
307
  job.write(f' rm -r CHG DOSCAR WAVECAR \n')
334
- job.write(f' python3 contcar_update.py || echo "Erro no contcar_update.py em $dir0/$i/$j" >> $dir0/error_log.txt \n')
308
+ job.write(f' python3 contcar_update.py \n')
335
309
  job.write(f' #----------------------------------- \n')
336
310
  job.write(f' if [ "$string4" != "KPOINTS" ]; then \n')
337
311
  job.write(f' cp OUTCAR OUTCAR.$string4 \n')
@@ -341,9 +315,7 @@ job.write(f' fi \n')
341
315
  job.write(f' fi \n')
342
316
  job.write(f' done \n')
343
317
  job.write(f' #------------------- \n')
344
- job.write(f' if [[ -f CONTCAR && -f OUTCAR && -f PROCAR && -f KPOINTS && -f LOCPOT ]]; then \n')
345
- job.write(f' python3 -m vasprocar || echo "Erro no VASPROCAR em $dir0/$i/$j" >> $dir0/error_log.txt \n')
346
- job.write(f' fi \n')
318
+ job.write(f' python3 -m vasprocar \n')
347
319
  job.write(f' #------------------- \n')
348
320
  job.write(f' # bzip2 CHGCAR OUTCAR* PROCAR* LOCPOT \n')
349
321
  job.write(f' bzip2 CHGCAR OUTCAR* PROCAR* LOCPOT EIGENVAL IBZKPT OSZICAR PCDAT XDATCAR vasprun.xml \n')
@@ -359,31 +331,23 @@ job.write(f' fi \n')
359
331
  job.write(f' #================================= \n')
360
332
  job.write(f' elif [ "$string1" == "dos" ]; then \n')
361
333
  job.write(f' if [ "$string2" != "SO" ]; then \n')
362
- job.write(f' if [[ -f POSCAR && -f INCAR && -f KPOINTS && -f POTCAR ]]; then \n')
363
- job.write(f' $vasp_std || echo "Erro no VASP em $dir0/$i/$j" >> $dir0/error_log.txt \n')
364
- job.write(f' else \n')
365
- job.write(f' echo "Arquivos necessários ausentes em $dir0/$i/$j >> "$dir0/error_log.txt" \n')
366
- job.write(f' fi \n')
334
+ job.write(f' $vasp_std || echo "Erro no VASP em $dir0/$i/$j" >> $dir0/error_log.txt \n')
335
+ job.write(f' sleep 30 \n')
367
336
  job.write(f' elif [ "$string2" == "SO" ]; then \n')
368
- job.write(f' if [[ -f POSCAR && -f INCAR && -f KPOINTS && -f POTCAR ]]; then \n')
369
- job.write(f' $vasp_ncl || echo "Erro no VASP em $dir0/$i/$j" >> $dir0/error_log.txt \n')
370
- job.write(f' else \n')
371
- job.write(f' echo "Arquivos necessários ausentes em $dir0/$i/$j >> "$dir0/error_log.txt" \n')
372
- job.write(f' fi \n')
373
- job.write(f' fi \n')
374
- job.write(f' if [[ -f CONTCAR && -f OUTCAR && -f PROCAR && -f KPOINTS && -f DOSCAR ]]; then \n')
375
- job.write(f' python3 -m vasprocar || echo "Erro no VASPROCAR em $dir0/$i/$j" >> $dir0/error_log.txt \n')
337
+ job.write(f' $vasp_ncl || echo "Erro no VASP em $dir0/$i/$j" >> $dir0/error_log.txt \n')
338
+ job.write(f' sleep 30 \n')
376
339
  job.write(f' fi \n')
340
+ job.write(f' python3 -m vasprocar \n')
377
341
  job.write(f' # rm -r CHG WAVECAR EIGENVAL IBZKPT OSZICAR PCDAT XDATCAR vasprun.xml \n')
378
342
  job.write(f' # bzip2 CHGCAR OUTCAR DOSCAR PROCAR \n')
379
343
  job.write(f' rm -r CHG WAVECAR \n')
380
344
  job.write(f' bzip2 CHGCAR OUTCAR DOSCAR PROCAR EIGENVAL IBZKPT OSZICAR PCDAT XDATCAR vasprun.xml \n')
381
- job.write(f' python3 contcar_update.py || echo "Erro no contcar_update.py em $dir0/$i/$j" >> $dir0/error_log.txt \n')
345
+ job.write(f' python3 contcar_update.py \n')
382
346
  job.write(f' cp $dir0/$i/$j/CONTCAR $dir0/$i/output/CONTCAR \n')
383
347
  job.write(f' cp $dir0/$i/$j/POSCAR $dir0/$i/output/POSCAR \n')
384
348
  job.write(f' #=================================== \n')
385
349
  job.write(f' elif [ "$string1" == "bader" ]; then \n')
386
- job.write(f' python3 bader_update.py || echo "Erro no bader_update.py em $dir0/$i/$j" >> $dir0/error_log.txt \n')
350
+ job.write(f' python3 bader_update.py \n')
387
351
  job.write(f' #---------------------- \n')
388
352
  job.write(f' folders2=() \n')
389
353
  job.write(f' for folder in $dir0/$i/$j/*; do \n')
@@ -396,21 +360,13 @@ job.write(f' for k in "{folders2}"; do \n')
396
360
  job.write(f' if [ "$k" != "Charge_transfer" ]; then \n')
397
361
  job.write(f' cd $dir0/$i/$j/$k \n')
398
362
  job.write(f' if [ "$string2" != "SO" ]; then \n')
399
- job.write(f' if [[ -f POSCAR && -f INCAR && -f KPOINTS && -f POTCAR ]]; then \n')
400
- job.write(f' $vasp_std || echo "Erro no VASP em $dir0/$i/$j/$k" >> $dir0/error_log.txt \n')
401
- job.write(f' else \n')
402
- job.write(f' echo "Arquivos necessários ausentes em $dir0/$i/$j/$k >> "$dir0/error_log.txt" \n')
403
- job.write(f' fi \n')
363
+ job.write(f' $vasp_std || echo "Erro no VASP em $dir0/$i/$j" >> $dir0/error_log.txt \n')
364
+ job.write(f' sleep 30 \n')
404
365
  job.write(f' elif [ "$string2" == "SO" ]; then \n')
405
- job.write(f' if [[ -f POSCAR && -f INCAR && -f KPOINTS && -f POTCAR ]]; then \n')
406
- job.write(f' $vasp_ncl || echo "Erro no VASP em $dir0/$i/$j/$k" >> $dir0/error_log.txt \n')
407
- job.write(f' else \n')
408
- job.write(f' echo "Arquivos necessários ausentes em $dir0/$i/$j/$k >> "$dir0/error_log.txt" \n')
409
- job.write(f' fi \n')
410
- job.write(f' fi \n')
411
- job.write(f' if [[ -f CONTCAR && -f OUTCAR && -f PROCAR && -f KPOINTS && -f LOCPOT ]]; then \n')
412
- job.write(f' python3 -m vasprocar || echo "Erro no VASPROCAR em $dir0/$i/$j" >> $dir0/error_log.txt \n')
366
+ job.write(f' $vasp_ncl || echo "Erro no VASP em $dir0/$i/$j" >> $dir0/error_log.txt \n')
367
+ job.write(f' sleep 30 \n')
413
368
  job.write(f' fi \n')
369
+ job.write(f' python3 -m vasprocar \n')
414
370
  job.write(f' #------------------- \n')
415
371
  job.write(f' cp -r $dir0/$i/$j/$k/output/Potencial $dir0/$i/$j/Charge_transfer/Potencial_$k \n')
416
372
  job.write(f' rm -r output \n')
@@ -430,12 +386,10 @@ job.write(f' fi \n')
430
386
  job.write(f' done \n')
431
387
  job.write(f' #------------- \n')
432
388
  job.write(f' cd $dir0/$i/$j \n')
433
- job.write(f' python3 charge_transfer.py || echo "Erro no charge_transfer.py em $dir0/$i/$j" >> $dir0/error_log.txt \n')
389
+ job.write(f' python3 charge_transfer.py \n')
434
390
  job.write(f' #----------------------------- \n')
435
391
  job.write(f' cd $dir0/$i/$j/Charge_transfer \n')
436
- job.write(f' if [[ -f CHGCAR_HeteroStructure && -f CHGCAR_material_1 && -f CHGCAR_material_2 ]]; then \n')
437
- job.write(f' python3 -m vasprocar || echo "Erro no VASPROCAR em $dir0/$i/$j" >> $dir0/error_log.txt \n')
438
- job.write(f' fi \n')
392
+ job.write(f' python3 -m vasprocar \n')
439
393
  job.write(f' cp -r $dir0/$i/$j/Charge_transfer/output/Charge $dir0/$i/$j/Charge_transfer/Charge_transfer_plot2D \n')
440
394
  job.write(f' mv CHGCAR_Charge_Transfer.vasp CHGCAR_Charge_Transfer \n')
441
395
  job.write(f' # rm -r output CHGCAR_H* CHGCAR_m* \n')
@@ -452,12 +406,12 @@ job.write(f' fi \n')
452
406
  job.write(f' fi \n')
453
407
  job.write(f' done \n')
454
408
  job.write(f' cd $dir0/$i \n')
455
- job.write(f' python3 output.py || echo "Erro no output.py em $dir0/$i" >> $dir0/error_log.txt \n')
456
- job.write(f' python3 BZ_2D.py || echo "Erro no BZ_2D.py em $dir0/$i" >> $dir0/error_log.txt \n')
457
- job.write(f' python3 lattice_plot3d.py || echo "Erro no lattice_plot3d.py em $dir0/$i" >> $dir0/error_log.txt \n')
409
+ job.write(f' python3 output.py \n')
410
+ job.write(f' python3 BZ_2D.py \n')
411
+ job.write(f' python3 lattice_plot3d.py \n')
458
412
  job.write(f' #------------------------ \n')
459
413
  job.write(f' cp -r $dir0/$i/output/POSCAR $dir0/$i/output/POSCAR.info \n')
460
- job.write(f' python3 data-base_json.py || echo "Erro no data-base_json.py em $dir0/$i" >> $dir0/error_log.txt \n')
414
+ job.write(f' python3 data-base_json.py \n')
461
415
  job.write(f' #------------------------ \n')
462
416
  job.write(f' if [ -d "$dir0/completed" ]; then \n')
463
417
  job.write(f' mv $dir0/$i $dir0/completed/$i \n')
@@ -465,7 +419,7 @@ job.write(f' fi \n')
465
419
  job.write(f' #------------------------ \n')
466
420
  job.write(f' done \n')
467
421
  job.write(f' fi \n')
468
- job.write(f' sleep 5 \n')
422
+ job.write(f' sleep 10 \n')
469
423
  job.write(f'done \n')
470
424
  #====================
471
425
  job.close()
@@ -6,7 +6,7 @@ import json
6
6
 
7
7
  setup(
8
8
  name = "SAMBA_ilum",
9
- version = "1.0.0.472",
9
+ version = "1.0.0.474",
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