vasprocar 1.1.19.122__tar.gz → 1.1.19.124__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.

Potentially problematic release.


This version of vasprocar might be problematic. Click here for more details.

Files changed (119) hide show
  1. {vasprocar-1.1.19.122/vasprocar.egg-info → vasprocar-1.1.19.124}/PKG-INFO +1 -1
  2. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/setup.py +1 -1
  3. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/__main__.py +1 -1
  4. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_VASP/_nscf.py +2 -1
  5. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_fermi_surface.py +1 -1
  6. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_spin_texture_contour.py +32 -84
  7. vasprocar-1.1.19.124/vasprocar/src/plot/plot_spin_texture_contour_video.py +417 -0
  8. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/spin_texture_contour_video.py +4 -9
  9. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124/vasprocar.egg-info}/PKG-INFO +1 -1
  10. vasprocar-1.1.19.122/vasprocar/src/plot/plot_spin_texture_contour_video.py +0 -408
  11. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/LICENSE.txt +0 -0
  12. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/README.md +0 -0
  13. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/setup.cfg +0 -0
  14. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/__init__.py +0 -0
  15. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_QE/_info.py +0 -0
  16. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_QE/_info_b.py +0 -0
  17. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_QE/_label.py +0 -0
  18. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_QE/_nscf.py +0 -0
  19. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_QE/_var_kpoints.py +0 -0
  20. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_QE/angular_momentum_plot/plot_projecao_angular_momentum.py +0 -0
  21. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_QE/angular_momentum_plot/plot_projecao_angular_momentum_grace.py +0 -0
  22. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_QE/contribuicao.py +0 -0
  23. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_QE/dos_pdos_ldos.py +0 -0
  24. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_QE/dos_plot/Grace/plot_dos_pdos_ldos.py +0 -0
  25. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_QE/dos_plot/Grace/plot_dos_pdos_ldos_[polarizado].py +0 -0
  26. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_QE/dos_plot/Grace/plot_dos_pdos_ldos_[polarizado_delta].py +0 -0
  27. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_QE/dos_plot/plot_dos_pdos_ldos.py +0 -0
  28. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_QE/dos_plot/plot_dos_pdos_ldos_[polarizado].py +0 -0
  29. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_QE/kpoints_2D_3D.py +0 -0
  30. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_QE/projecao_angular_momentum.py +0 -0
  31. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_VASP/_info.py +0 -0
  32. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_VASP/_info_b.py +0 -0
  33. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_VASP/_label.py +0 -0
  34. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_VASP/_var_kpoints.py +0 -0
  35. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_VASP/chgcar.py +0 -0
  36. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_VASP/contcar_info.py +0 -0
  37. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_VASP/contribuicao.py +0 -0
  38. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_VASP/dielectric_function.py +0 -0
  39. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_VASP/dos_pdos_ldos.py +0 -0
  40. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_VASP/dos_pdos_ldos_[polarizado].py +0 -0
  41. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_VASP/kpoints_2D_3D.py +0 -0
  42. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_VASP/parchg.py +0 -0
  43. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_VASP/poscar_replace.py +0 -0
  44. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_VASP/postar_combination.py +0 -0
  45. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_VASP/potencial.py +0 -0
  46. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_VASP/wave_function.py +0 -0
  47. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_dft.py +0 -0
  48. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_dft2kp.py +0 -0
  49. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_loop.py +0 -0
  50. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_settings.py +0 -0
  51. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/_update.py +0 -0
  52. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/bandas_2D.py +0 -0
  53. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/bandas_3D.py +0 -0
  54. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/bandas_4D.py +0 -0
  55. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/correction_file.py +0 -0
  56. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/etc/BibTeX.dat +0 -0
  57. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/etc/DOI.png +0 -0
  58. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/etc/Greek_alphabet.jpg +0 -0
  59. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/fermi_surface.py +0 -0
  60. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/inputs/input.vasprocar.bands +0 -0
  61. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/inputs/input.vasprocar.chgcar +0 -0
  62. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/inputs/input.vasprocar.dos +0 -0
  63. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/inputs/input.vasprocar.location +0 -0
  64. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/inputs/input.vasprocar.locpot +0 -0
  65. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/inputs/input.vasprocar.orbitals +0 -0
  66. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/inputs/input.vasprocar.spin +0 -0
  67. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/inputs/input.vasprocar.spin_video +0 -0
  68. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/inputs/inputs.py +0 -0
  69. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/inputs/inputs_files.py +0 -0
  70. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/level_countour.py +0 -0
  71. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/orbital_texture.py +0 -0
  72. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/orbital_texture_vector.py +0 -0
  73. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/Grace/plot_bandas_2D.py +0 -0
  74. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/Grace/plot_chgcar.py +0 -0
  75. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/Grace/plot_dielectric_function.py +0 -0
  76. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/Grace/plot_dos_pdos_ldos.py +0 -0
  77. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/Grace/plot_dos_pdos_ldos_[polarizado].py +0 -0
  78. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/Grace/plot_dos_pdos_ldos_[polarizado_delta].py +0 -0
  79. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/Grace/plot_parchg.py +0 -0
  80. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/Grace/plot_potencial.py +0 -0
  81. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/Grace/plot_projecao_localizacao.py +0 -0
  82. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/Grace/plot_projecao_orbitais.py +0 -0
  83. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/Grace/plot_projecao_psi.py +0 -0
  84. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/Grace/plot_projecao_spin.py +0 -0
  85. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/Grace/plot_wave_function.py +0 -0
  86. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/_plot_settings.py +0 -0
  87. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_bandas_2D.py +0 -0
  88. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_bandas_3D_matplotlib.py +0 -0
  89. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_bandas_3D_plotly.py +0 -0
  90. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_bandas_4D_plotly.py +0 -0
  91. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_chgcar.py +0 -0
  92. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_dielectric_function.py +0 -0
  93. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_dos_pdos_ldos.py +0 -0
  94. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_dos_pdos_ldos_[polarizado].py +0 -0
  95. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_level_countour.py +0 -0
  96. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_orbital_texture.py +0 -0
  97. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_orbital_texture_vector.py +0 -0
  98. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_parchg.py +0 -0
  99. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_potencial.py +0 -0
  100. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_projecao_localizacao.py +0 -0
  101. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_projecao_orbitais.py +0 -0
  102. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_projecao_psi.py +0 -0
  103. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_projecao_spin.py +0 -0
  104. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_spin_texture_2D.py +0 -0
  105. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_spin_texture_3D.py +0 -0
  106. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_spin_texture_4D.py +0 -0
  107. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_spin_texture_4D_[iso].py +0 -0
  108. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/plot/plot_wave_function.py +0 -0
  109. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/projecao_localizacao.py +0 -0
  110. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/projecao_orbitais.py +0 -0
  111. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/projecao_psi.py +0 -0
  112. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/projecao_spin.py +0 -0
  113. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/spin_texture.py +0 -0
  114. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar/src/spin_texture_contour.py +0 -0
  115. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar.egg-info/SOURCES.txt +0 -0
  116. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar.egg-info/dependency_links.txt +0 -0
  117. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar.egg-info/entry_points.txt +0 -0
  118. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar.egg-info/requires.txt +0 -0
  119. {vasprocar-1.1.19.122 → vasprocar-1.1.19.124}/vasprocar.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vasprocar
3
- Version: 1.1.19.122
3
+ Version: 1.1.19.124
4
4
  Summary: VASProcar is an open-source package written in the Python 3 programming language, which aims to provide an intuitive tool for the post-processing of the output files produced by the DFT VASP/QE codes, through an interactive user interface.
5
5
  Home-page: https://doi.org/10.5281/zenodo.6343960
6
6
  Download-URL: https://doi.org/10.5281/zenodo.6343960
@@ -6,7 +6,7 @@ from typing import Optional
6
6
 
7
7
  setup(
8
8
  name = "vasprocar",
9
- version = "1.1.19.122",
9
+ version = "1.1.19.124",
10
10
  entry_points={'console_scripts': ['vasprocar = vasprocar:main']},
11
11
  description = "VASProcar is an open-source package written in the Python 3 programming language, which aims to provide an intuitive tool for the post-processing of the output files produced by the DFT VASP/QE codes, through an interactive user interface.",
12
12
  author = "Augusto de Lelis Araujo and Renan da Paixao Maciel",
@@ -14,7 +14,7 @@ dir_vasprocar = os.path.dirname(os.path.realpath(__file__))
14
14
  print(f'{dir_vasprocar}')
15
15
  #------------------------
16
16
 
17
- version = '1.1.19.122'
17
+ version = '1.1.19.124'
18
18
  VASProcar_name = 'VASProcar version ' + version
19
19
 
20
20
  url_1 = 'https://pypi.org/project/vasprocar'
@@ -167,7 +167,8 @@ for wp in range(1, (n_procar+1)):
167
167
  porc = (point_k/nk)*100
168
168
 
169
169
  if (porc >= temp):
170
- print(f'\rAnalyzed {porc:>3,.0f}%', end='')
170
+ # print(f'\rAnalyzed {porc:>3,.0f}%', end='') # informação imprimida sempre na mesma linha
171
+ print(f'Analyzed {porc:>3,.0f}%') # informação imprimida em linhas consecutivas
171
172
  number += 1
172
173
  if (number == 1):
173
174
  temp = 10.0
@@ -211,7 +211,7 @@ if (video == 1):
211
211
  image_output = os.getcwd() + '/figures'
212
212
 
213
213
  image_files = [os.path.join(image_output,img)
214
- for img in os.listdir(image_output)
214
+ for img in sorted(os.listdir(image_output))
215
215
  if img.endswith('.png')]
216
216
 
217
217
  clip = moviepy.video.io.ImageSequenceClip.ImageSequenceClip(image_files, fps = n_fig)
@@ -138,34 +138,6 @@ map_red_blue = colors.LinearSegmentedColormap.from_list("", ["red","pink","pink"
138
138
  "cyan","cyan","cyan","blue","magenta","magenta","magenta","red"])
139
139
  map_color = map_red_blue
140
140
 
141
-
142
- #-------------
143
- min_energ = []
144
- max_energ = []
145
- pulo = (pulo + 1)
146
- levels = [0]*1
147
- #-----------------------------------
148
- for b in range(band_i, (band_f +1)):
149
- colum = (3 -1) + (b -1)*4 +2
150
- energia = spin[:,colum-1] + dE_fermi + Delta_E
151
- #-----------------------------
152
- min_energ.append(min(energia))
153
- max_energ.append(max(energia))
154
- #---------------------------------
155
- # energ_i = min(min_energ)
156
- # energ_f = max(max_energ)
157
- #----------------------
158
- if (tipo_contour == 0):
159
- for i in range(n_contour + 2):
160
- if (i != 0 and i != (n_contour + 1)):
161
- levels_n[i-1] = energ_i + ((energ_f - energ_i)/(n_contour + 1))*(i-1)
162
- #----------------------
163
- if (tipo_contour == 1):
164
- for i in range(n_contour):
165
- levels_n[i] = energ_i + ((energ_f - energ_i)/(n_contour - 1))*(i)
166
- #-----------------------------------------------------------------------
167
-
168
-
169
141
  #=========================================================================
170
142
  # 2D Plot of Spin Projection on Level Contours: ==========================
171
143
  #=========================================================================
@@ -238,49 +210,36 @@ for i in range (1,(6+1)):
238
210
 
239
211
  #------------------------------------------
240
212
 
241
- # for b in range(nb):
242
- # energia = spin[:,(3 + b*4)] + dE_fermi
243
- # Spin_Sx = spin[:,(4 + b*4)]
244
- # Spin_Sy = spin[:,(5 + b*4)]
245
- # Spin_Sz = spin[:,(6 + b*4)]
246
-
247
213
  for b in range(band_i, (band_f +1)):
248
- #-------------------------------
249
- cont = 0
250
- if (allowed_bands == 'all'): cont = 1
251
- if (allowed_bands == 'even'):
252
- if ((int(b/2) -(b/2)) == 0.0): cont = 1
253
- if (allowed_bands == 'odd'):
254
- if ((int(b/2) -(b/2)) != 0.0): cont = 1
255
- #-----------------------------------------
256
- if (cont == 1):
257
- #---------------------------
258
- colum = (3 -1) + (b -1)*4 +2
259
- #---------------------------
260
- energia = spin[:,colum-1] + dE_fermi
261
- Spin_Sx = spin[:,colum+0]
262
- Spin_Sy = spin[:,colum+1]
263
- Spin_Sz = spin[:,colum+2]
264
-
265
-
266
- #------------------------
267
- # if (tipo_contour == 0):
268
- # energ_i = min(energia)
269
- # energ_f = max(energia)
270
- # for ii in range(n_contour + 2):
271
- # if (ii != 0 and ii != (n_contour + 1)):
272
- # levels_n[ii-1] = energ_i + ((energ_f - energ_i)/(n_contour + 1))*(ii-1)
273
- #----------------------------------------------------------------------------------
274
- # if (tipo_contour == 1):
275
- # for ii in range(n_contour):
276
- # levels_n[ii] = energ_i + ((energ_f - energ_i)/(n_contour - 1))*(ii)
277
- #---------------------------------------------------------------------------
214
+ #---------------------------
215
+ colum = (3 -1) + (b -1)*4 +2
216
+ energia = spin[:,colum-1] + dE_fermi
217
+ #-----------------------------------
218
+ Spin_Sx = spin[:,(4 + b*4)]
219
+ Spin_Sy = spin[:,(5 + b*4)]
220
+ Spin_Sz = spin[:,(6 + b*4)]
221
+
222
+ pulo = (pulo + 1)
223
+ levels = [0]*1
224
+
225
+ #------------------------------------------------------------------------------
226
+
227
+ if (tipo_contour == 0):
228
+ energ_i = min(energia)
229
+ energ_f = max(energia)
230
+ for ii in range(n_contour + 2):
231
+ if (ii != 0 and ii != (n_contour + 1)):
232
+ levels_n[ii-1] = energ_i + ((energ_f - energ_i)/(n_contour + 1))*(ii-1)
233
+
234
+ if (tipo_contour == 1):
235
+ for ii in range(n_contour):
236
+ levels_n[ii] = energ_i + ((energ_f - energ_i)/(n_contour - 1))*(ii)
278
237
 
238
+ # Realizando a interpolação de [Kx, Ky, Energia] -------------------------
279
239
 
280
- #---------------------------------------------------------------------------
281
- # Realizando a interpolação de [Kx, Ky, Energia] ---------------------------
282
240
  e_grid = griddata((eixo1,eixo2), energia, (x_grid,y_grid), method = 'cubic')
283
- #---------------------------------------------------------------------------
241
+
242
+ #------------------------------------------------------------------------------
284
243
 
285
244
  for j in range(n_contour):
286
245
 
@@ -331,23 +290,12 @@ for i in range (1,(6+1)):
331
290
 
332
291
  for k in range(passo):
333
292
  #----------------------------------------
334
- if (i == 1):
335
- v_spin = [Spin_S1[k], 0.0]
336
-
337
- if (i == 2):
338
- v_spin = [0.0, Spin_S2[k]]
339
-
340
- if (i == 3):
341
- v_spin = [Spin_S3[k], 0.0]
342
-
343
- if (i == 4):
344
- v_spin = [Spin_S1[k], Spin_S2[k]]
345
-
346
- if (i == 5):
347
- v_spin = [Spin_S1[k], Spin_S3[k]]
348
-
349
- if (i == 6):
350
- v_spin = [Spin_S3[k], Spin_S2[k]]
293
+ if (i == 1): v_spin = [Spin_S1[k], 0.0]
294
+ if (i == 2): v_spin = [0.0, Spin_S2[k]]
295
+ if (i == 3): v_spin = [Spin_S3[k], 0.0]
296
+ if (i == 4): v_spin = [Spin_S1[k], Spin_S2[k]]
297
+ if (i == 5): v_spin = [Spin_S1[k], Spin_S3[k]]
298
+ if (i == 6): v_spin = [Spin_S3[k], Spin_S2[k]]
351
299
 
352
300
  #---------------------------------------------------------------------------------------------------
353
301
  # Obtaining the rotation angle (counter clockwise) of the Spin vector with respect to the x-axis ---
@@ -0,0 +1,417 @@
1
+
2
+ import os
3
+ import numpy as np
4
+ import matplotlib as mpl
5
+ from matplotlib import cm
6
+ from matplotlib import pyplot as plt
7
+ import matplotlib.ticker as ticker
8
+ from mpl_toolkits.mplot3d.axes3d import Axes3D
9
+ from matplotlib.ticker import LinearLocator, FormatStrFormatter
10
+ import matplotlib.colors as colors
11
+ from scipy.interpolate import griddata
12
+
13
+ print(" ")
14
+ print("========== 2D Plot of Spin Projection (Level Contours) ==========")
15
+
16
+ if (tipo_contour < 2):
17
+ levels_n = [0.0]*n_contour
18
+
19
+ #--------------------------------------------------------------------------
20
+ # Variables that define the thickness and length of vectors in the plot ---
21
+ #--------------------------------------------------------------------------
22
+ if ((fator > -1.0 and fator < 1.0) or fator == -1.0):
23
+ fator == 1.0
24
+
25
+ if (fator > 0.0):
26
+ fator = 1/fator
27
+
28
+ if (fator < 0.0):
29
+ fator = (fator**2)**0.5
30
+
31
+ espessura = 0.005 # Use espessura = 100 if you only want to plot the triangular head of the arrow and eliminate the tail,
32
+ comprimento = 2.0*fator # which makes it easier to adjust the size/volume of the vectors by adjusting the comprimento variable.
33
+ #----------------------
34
+
35
+ #------------------------------------------------------------------------
36
+ # Test to know which directories must be correctly informed -------------
37
+ #------------------------------------------------------------------------
38
+ if os.path.isdir('src'):
39
+ 0 == 0
40
+ dir_output = dir_files + '/output/Spin_Texture/'
41
+ else:
42
+ dir_files = ''
43
+ dir_output = ''
44
+ #-----------------
45
+
46
+ #---------------------------------------------------------------------------------------
47
+ # Checking if the "figures" subfolder exists, if it doesn't exist it will be created ---
48
+ #---------------------------------------------------------------------------------------
49
+ if os.path.isdir(dir_output + 'figures'):
50
+ 0 == 0
51
+ else:
52
+ os.mkdir(dir_output + 'figures')
53
+ #----------------------------------
54
+
55
+ #======================================================================
56
+ #======================================================================
57
+ # File Structure for Plot via Matplotlib ==============================
58
+ #======================================================================
59
+ #======================================================================
60
+
61
+ spin = np.loadtxt(dir_output + 'Spin_Texture.dat')
62
+ spin.shape
63
+
64
+ print(" ")
65
+ print(".........................")
66
+ print("..... Wait a moment .....")
67
+ print(".........................")
68
+ print(". It might take a while .")
69
+ print(".........................")
70
+
71
+ #----------------------------------------------------------------------
72
+
73
+ if (esc_fermi == 0): dE_fermi = 0.0
74
+ if (esc_fermi == 1): dE_fermi = (Efermi)*(-1)
75
+
76
+ #----------------------------------------------------------------------
77
+
78
+ if (Plano_k == 1): # Plane (kx,ky) or (k1,k2)
79
+ eixo1 = spin[:,0]
80
+ eixo2 = spin[:,1]
81
+
82
+ if (Plano_k == 2): # Plane (kx,kz) or (k1,k3)
83
+ eixo1 = spin[:,0]
84
+ eixo2 = spin[:,2]
85
+
86
+ if (Plano_k == 3): # Plane (ky,kz) or (k2,k3)
87
+ eixo1 = spin[:,1]
88
+ eixo2 = spin[:,2]
89
+
90
+ #---------------------------
91
+ b = band_i
92
+ colum = (3 -1) + (b -1)*4 +2
93
+ energia = spin[:,colum-1] + dE_fermi
94
+ #-----------------------------------
95
+ Spin_Sx = spin[:,(4 + b*4)]
96
+ Spin_Sy = spin[:,(5 + b*4)]
97
+ Spin_Sz = spin[:,(6 + b*4)]
98
+
99
+ pulo = (pulo + 1)
100
+ levels = [0]*1
101
+
102
+ #----------------------------------------------------------------------
103
+
104
+ if (tipo_contour == 0):
105
+ energ_i = min(energia)
106
+ energ_f = max(energia)
107
+ for i in range(n_contour + 2):
108
+ if (i != 0 and i != (n_contour + 1)):
109
+ levels_n[i-1] = energ_i + ((energ_f - energ_i)/(n_contour + 1))*(i-1)
110
+
111
+ if (tipo_contour == 1):
112
+ for i in range(n_contour):
113
+ levels_n[i] = energ_i + ((energ_f - energ_i)/(n_contour - 1))*(i)
114
+
115
+ #----------------------------------------------------------------------
116
+
117
+ if (Plano_k == 1):
118
+ s1 = 'Sx'; s2 = 'Sy'; s3 = 'Sz'
119
+ sa = r'${S}_{x}$'; sb = r'${S}_{y}$'; sc = r'${S}_{z}$'
120
+ if (Plano_k == 2):
121
+ s1 = 'Sx'; s2 = 'Sz'; s3 = 'Sy'
122
+ sa = r'${S}_{x}$'; sb = r'${S}_{z}$'; sc = r'${S}_{y}$'
123
+ if (Plano_k == 3):
124
+ s1 = 'Sy'; s2 = 'Sz'; s3 = 'Sx'
125
+ sa = r'${S}_{y}$'; sb = r'${S}_{z}$'; sc = r'${S}_{x}$'
126
+
127
+ #----------------------------------------------------------------------
128
+
129
+ if (Dimensao < 4 and Plano_k == 1):
130
+ ca = r'${k}_{x}$'; cb = r'${k}_{y}$'
131
+ if (Dimensao < 4 and Plano_k == 2):
132
+ ca = r'${k}_{x}$'; cb = r'${k}_{z}$'
133
+ if (Dimensao < 4 and Plano_k == 3):
134
+ ca = r'${k}_{y}$'; cb = r'${k}_{z}$'
135
+
136
+ #--------------------------------------
137
+
138
+ if (Dimensao == 4 and Plano_k == 1):
139
+ ca = r'${k}_{1}$'; cb = r'${k}_{2}$'
140
+ if (Dimensao == 4 and Plano_k == 2):
141
+ ca = r'${k}_{1}$'; cb = r'${k}_{3}$'
142
+ if (Dimensao == 4 and Plano_k == 3):
143
+ ca = r'${k}_{2}$'; cb = r'${k}_{3}$'
144
+
145
+ #--------------------------------------
146
+
147
+ if (Dimensao == 1): cc = r' $(2{\pi}/{a})$'
148
+ if (Dimensao == 2): cc = r' $({\AA}^{-1})$'
149
+ if (Dimensao == 3): cc = r' $({nm}^{-1})$'
150
+ if (Dimensao == 4): cc = ' '
151
+
152
+ # Create meshgrid for x,y ------------------------------------------------
153
+
154
+ xi = np.linspace(min(eixo1), max(eixo1), n_d)
155
+ yi = np.linspace(min(eixo2), max(eixo2), n_d)
156
+ x_grid, y_grid = np.meshgrid(xi,yi)
157
+
158
+ e_grid = griddata((eixo1,eixo2), energia, (x_grid,y_grid), method = 'cubic')
159
+
160
+ #=========================================================================
161
+ # 2D Plot of Spin Projection on Level Contours: ==========================
162
+ #=========================================================================
163
+
164
+ for i in range (n_contour):
165
+
166
+ map_gray = (mpl.colors.ListedColormap(['darkgray', 'darkgray']))
167
+
168
+ fig = plt.figure()
169
+ ax = fig.add_subplot(111)
170
+
171
+ #-----------------------------------------------------------------------
172
+
173
+ if (tipo_spin == 1):
174
+ c1 = sa + ' | ' + ca + cc
175
+ c2 = cb + cc
176
+ L1 = sa + r'${\uparrow}$'
177
+ L2 = sa + r'${\downarrow}$'
178
+ rotulo = s1
179
+
180
+ if (tipo_spin == 2):
181
+ c1 = ca + cc
182
+ c2 = sb + ' | ' + cb + cc
183
+ L1 = sb + r'${\uparrow}$'
184
+ L2 = sb + r'${\downarrow}$'
185
+ rotulo = s2
186
+
187
+ if (tipo_spin == 3):
188
+ c1 = sc + ' | ' + ca + cc
189
+ c2 = cb + cc
190
+ L1 = sc + r'${\uparrow}$'
191
+ L2 = sc + r'${\downarrow}$'
192
+ rotulo = s3
193
+
194
+ if (tipo_spin == 4):
195
+ c1 = sa + ' | ' + ca + cc
196
+ c2 = sb + ' | ' + cb + cc
197
+ rotulo = s1 + s2
198
+
199
+ if (tipo_spin == 5):
200
+ rotulo = s1 + s3
201
+ c1 = sa + ' | ' + ca + cc
202
+ c2 = sc + ' | ' + cb + cc
203
+
204
+ if (tipo_spin == 6):
205
+ rotulo = s2 + s3
206
+ c1 = sc + ' | ' + ca + cc
207
+ c2 = sb + ' | ' + cb + cc
208
+
209
+ if ((Plano_k == 1 and tipo_spin == 4) or (Plano_k == 2 and tipo_spin == 5) or (Plano_k == 3 and tipo_spin == 5)):
210
+ L1 = r'${S}_{x}{\uparrow} + {S}_{y}{\uparrow}$'
211
+ L2 = r'${S}_{x|y}{\uparrow}$'
212
+ L3 = r'${S}_{x|y}{\uparrow} + {S}_{y|x}{\downarrow}$'
213
+ L4 = r'${S}_{x|y}{\downarrow}$'
214
+ L5 = r'${S}_{x}{\downarrow} + {S}_{y}{\downarrow}$'
215
+
216
+ if ((Plano_k == 1 and tipo_spin == 5) or (Plano_k == 2 and tipo_spin == 4) or (Plano_k == 3 and tipo_spin == 6)):
217
+ L1 = r'${S}_{x}{\uparrow} + {S}_{z}{\uparrow}$'
218
+ L2 = r'${S}_{x|z}{\uparrow}$'
219
+ L3 = r'${S}_{x|z}{\uparrow} + {S}_{z|x}{\downarrow}$'
220
+ L4 = r'${S}_{x|z}{\downarrow}$'
221
+ L5 = r'${S}_{x}{\downarrow} + {S}_{z}{\downarrow}$'
222
+
223
+ if ((Plano_k == 1 and tipo_spin == 6) or (Plano_k == 2 and tipo_spin == 6) or (Plano_k == 3 and tipo_spin == 4)):
224
+ L1 = r'${S}_{y}{\uparrow} + {S}_{z}{\uparrow}$'
225
+ L2 = r'${S}_{y|z}{\uparrow}$'
226
+ L3 = r'${S}_{y|z}{\uparrow} + {S}_{z|y}{\downarrow}$'
227
+ L4 = r'${S}_{y|z}{\downarrow}$'
228
+ L5 = r'${S}_{y}{\downarrow} + {S}_{z}{\downarrow}$'
229
+
230
+ #-----------------------------------------------------------------------
231
+
232
+ # plt.contourf(x_grid, y_grid, e_grid, levels_n, cmap = "bwr", alpha = 0.05, antialiased = True)
233
+
234
+ #---------------------------------------------------------------------------------------------------------------------------------------
235
+ levels[0] = levels_n[i]
236
+ cs = plt.contour(x_grid, y_grid, e_grid, levels, linestyles = '-', cmap = map_gray, linewidths = 0.5, alpha = 1.0, antialiased = True)
237
+ #---------------------------------------------------------------------------------------------------------------------------------------
238
+ points = []
239
+ paths = cs.collections[0].get_paths()
240
+ verts = [xx.vertices for xx in paths]
241
+ try:
242
+ points = np.concatenate(verts)
243
+ ...
244
+ except Exception as e:
245
+ print(f"error detected: {e}")
246
+
247
+ #--------------------
248
+ if (len(points) > 0):
249
+ #---------------------------------------------------------------------------------------------------------------------------------------
250
+ new_Sx = griddata((eixo1,eixo2), Spin_Sx, (points[::pulo,0], points[::pulo,1]))
251
+ new_Sy = griddata((eixo1,eixo2), Spin_Sy, (points[::pulo,0], points[::pulo,1]))
252
+ new_Sz = griddata((eixo1,eixo2), Spin_Sz, (points[::pulo,0], points[::pulo,1]))
253
+ #---------------------------------------------------------------------------------------------------------------------------------------
254
+
255
+ if (Plano_k == 1): # Plane (kx,ky) or (k1,k2)
256
+ Spin_S1 = new_Sx
257
+ Spin_S2 = new_Sy
258
+ Spin_S3 = new_Sz
259
+
260
+ if (Plano_k == 2): # Plane (kx,kz) or (k1,k3)
261
+ Spin_S1 = new_Sx
262
+ Spin_S2 = new_Sz
263
+ Spin_S3 = new_Sy
264
+
265
+ if (Plano_k == 3): # Plane (ky,kz) or (k2,k3)
266
+ Spin_S1 = new_Sy
267
+ Spin_S2 = new_Sz
268
+ Spin_S3 = new_Sx
269
+
270
+ #---------------------------------------------------------------------------------------------------------------------------------------
271
+
272
+ passo = len(new_Sx)
273
+ nulo = [0.0]*passo
274
+ angle = [0]*passo
275
+
276
+ for k in range(passo):
277
+ #----------------------------------------
278
+ if (tipo_spin == 1):
279
+ v_spin = [Spin_S1[k], 0.0]
280
+
281
+ if (tipo_spin == 2):
282
+ v_spin = [0.0, Spin_S2[k]]
283
+
284
+ if (tipo_spin == 3):
285
+ v_spin = [Spin_S3[k], 0.0]
286
+
287
+ if (tipo_spin == 4):
288
+ v_spin = [Spin_S1[k], Spin_S2[k]]
289
+
290
+ if (tipo_spin == 5):
291
+ v_spin = [Spin_S1[k], Spin_S3[k]]
292
+
293
+ if (tipo_spin == 6):
294
+ v_spin = [Spin_S3[k], Spin_S2[k]]
295
+
296
+ #---------------------------------------------------------------------------------------------------
297
+ # Obtaining the rotation angle (counter clockwise) of the Spin vector with respect to the x-axis ---
298
+ #---------------------------------------------------------------------------------------------------
299
+ u = v_spin / np.linalg.norm(v_spin)
300
+ v = [1.0, 0.0] # Reference vector for the angle. Must be kept fixed.
301
+ dot_product = np.dot(u, v)
302
+ angle[k] = np.arccos(dot_product) / np.pi * 180
303
+ if (u[1] < 0.0):
304
+ angle[k] = 360 - angle[k]
305
+
306
+ #---------------------------------------------------------------------------------------------------------------------------------------
307
+ # map_red_blue = colors.LinearSegmentedColormap.from_list("", ["red","white","red","white","blue","white","blue","white","red"])
308
+ # map_red_blue = colors.LinearSegmentedColormap.from_list("", ["red","magenta","red","magenta","blue","magenta","blue","magenta","red"])
309
+ # map_red_blue = colors.LinearSegmentedColormap.from_list("", ["red","pink","red","magenta","blue","cyan","blue","magenta","red"])
310
+ map_red_blue = colors.LinearSegmentedColormap.from_list("", ["red","pink","pink","pink","red","magenta","magenta","magenta","blue",
311
+ "cyan","cyan","cyan","blue","magenta","magenta","magenta","red"])
312
+ norma = colors.Normalize(0, 360)
313
+ #---------------------------------------------------------------------------------------------------------------------------------------
314
+ if (tipo_spin == 1):
315
+ cp = ax.quiver(points[::pulo,0], points[::pulo,1], Spin_S1, nulo, angle, cmap = map_red_blue, norm = norma, linewidths = 0.25, edgecolor = 'black',
316
+ alpha = transp, width = espessura, scale = comprimento, scale_units = 'inches', pivot = 'tail', minlength = 0.0)
317
+
318
+ if (tipo_spin == 2):
319
+ cp = ax.quiver(points[::pulo,0], points[::pulo,1], nulo, Spin_S2, angle, cmap = map_red_blue, norm = norma, linewidths = 0.25, edgecolor = 'black',
320
+ alpha = transp, width = espessura, scale = comprimento, scale_units = 'inches', pivot = 'tail', minlength = 0.0)
321
+
322
+ if (tipo_spin == 3):
323
+ cp = ax.quiver(points[::pulo,0], points[::pulo,1], Spin_S3, nulo, angle, cmap = map_red_blue, norm = norma, linewidths = 0.25, edgecolor = 'black',
324
+ alpha = transp, width = espessura, scale = comprimento, scale_units = 'inches', pivot = 'tail', minlength = 0.0)
325
+
326
+ if (tipo_spin == 4):
327
+ cp = ax.quiver(points[::pulo,0], points[::pulo,1], Spin_S1, Spin_S2, angle, cmap = map_red_blue, norm = norma, linewidths = 0.25, edgecolor = 'black',
328
+ alpha = transp, width = espessura, scale = comprimento, scale_units = 'inches', pivot = 'tail', minlength = 0.0)
329
+
330
+ if (tipo_spin == 5):
331
+ cp = ax.quiver(points[::pulo,0], points[::pulo,1], Spin_S1, Spin_S3, angle, cmap = map_red_blue, norm = norma, linewidths = 0.25, edgecolor = 'black',
332
+ alpha = transp, width = espessura, scale = comprimento, scale_units = 'inches', pivot = 'tail', minlength = 0.0)
333
+
334
+ if (tipo_spin == 6):
335
+ cp = ax.quiver(points[::pulo,0], points[::pulo,1], Spin_S3, Spin_S2, angle, cmap = map_red_blue, norm = norma, linewidths = 0.25, edgecolor = 'black',
336
+ alpha = transp, width = espessura, scale = comprimento, scale_units = 'inches', pivot = 'tail', minlength = 0.0)
337
+
338
+ #---------------------------------------------------------------------------------------------------------------------------------------
339
+ # plt.quiver(points[::pulo,0], points[::pulo,1], Spin_S1, Spin_S2, angle,
340
+ # scale_units = "xy", angles = "xy", pivot = 'tail', cmap = map_red_blue, norm = norma, linewidths = 0.5, edgecolor = 'black', alpha = transp)
341
+ #---------------------------------------------------------------------------------------------------------------------------------------
342
+
343
+ if (tipo_spin < 4):
344
+ cbar = fig.colorbar(cp, orientation = 'vertical', shrink = 1.0, boundaries = [0, 180, 360], ticks = [90, 270])
345
+ cbar.ax.set_yticklabels([L1, L2])
346
+
347
+ if (tipo_spin > 3):
348
+ cbar = fig.colorbar(cp, orientation = 'vertical', shrink = 1.0, values = [45, 90, 135, 180, 225], ticks = [45, 90, 135, 180, 225])
349
+ cbar.ax.set_yticklabels([L1, L2, L3, L4, L5])
350
+
351
+ # ax.clabel(cs, inline = False, colors = 'black', fontsize = 8)
352
+
353
+ temp_level = f'{levels_n[i]:_.4f}'
354
+
355
+ if (levels_n[i] <= 0.0): c_energ = temp_level
356
+ if (levels_n[i] > 0.0): c_energ = '+' + temp_level
357
+
358
+ c_band = str(band_i)
359
+
360
+ if (esc_fermi == 0): plt.title('Band ' + str(band_i) + ': $E$ = ' + c_energ + ' eV')
361
+ if (esc_fermi == 1): plt.title('Band ' + str(band_i) + ': $E-E_{f}$ = ' + c_energ + ' eV')
362
+
363
+ #----------------------------------------------------------------------
364
+
365
+ ax.set_xlabel(c1)
366
+ ax.set_ylabel(c2)
367
+ ax.set_box_aspect(1.0/1)
368
+
369
+ #----------------------------------------------------------------------
370
+
371
+ m = (i + 1)
372
+ if (m < 10): number = '[000' + str(m) + ']'
373
+ if (m >= 10 and m < 100): number = '[00' + str(m) + ']'
374
+ if (m >= 100 and m < 1000): number = '[0' + str(m) + ']'
375
+ if (m >= 1000): number = '[' + str(m) + ']'
376
+
377
+ if (save_png == 1): plt.savefig(dir_output + 'figures/Spin_Texture_video_' + number + '_[' + c_energ + '].png', dpi = 300, bbox_inches='tight', pad_inches=0)
378
+ if (save_pdf == 1): plt.savefig(dir_output + 'Spin_Texture_video_' + number + '_[' + c_energ + '].pdf', dpi = 600, bbox_inches='tight', pad_inches=0)
379
+ if (save_svg == 1): plt.savefig(dir_output + 'Spin_Texture_video_' + number + '_[' + c_energ + '].svg', dpi = 600, bbox_inches='tight', pad_inches=0)
380
+ if (save_eps == 1): plt.savefig(dir_output + 'Spin_Texture_video_' + number + '_[' + c_energ + '].eps', dpi = 600, bbox_inches='tight', pad_inches=0)
381
+
382
+ fig = plt.gcf()
383
+ fig.set_size_inches(8,6)
384
+ # plt.show()
385
+ plt.close()
386
+
387
+ print(" ")
388
+ print("=== Creating a video (.mp4) of the 2D Spin Texture (Level Contours) ===")
389
+ print(" ")
390
+
391
+ #======================================================================
392
+ # Creating a video with the generated images (moviepy): ===============
393
+ #======================================================================
394
+
395
+ import moviepy.video.io.ImageSequenceClip
396
+
397
+ if (dir_output != ''):
398
+ image_output = dir_output + 'figures'
399
+ if (dir_output == ''):
400
+ image_output = os.getcwd() + '/figures'
401
+
402
+ image_files = [os.path.join(image_output,img)
403
+ for img in os.listdir(image_output)
404
+ if img.endswith('.png')]
405
+
406
+ clip = moviepy.video.io.ImageSequenceClip.ImageSequenceClip(image_files, fps = n_fig)
407
+
408
+ clip.write_videofile(dir_output + 'STexture_video.mp4')
409
+
410
+ #---------------------------------------------------------------------------
411
+ if (dir_output == ''):
412
+ print(" ")
413
+ print("========================== Concluded! ==========================")
414
+ #---------------------------------------------------------------------------
415
+
416
+ # VASProcar Copyright (C) 2023
417
+ # GNU GPL-3.0 license
@@ -37,10 +37,6 @@ execute_python_file(filename = DFT + '_var_kpoints.py')
37
37
  soma_1 = dk[0] + dk[1] + dk[2]
38
38
  soma_2 = dk[3] + dk[4] + dk[5]
39
39
 
40
- print(f'soma_1 = {soma_1}')
41
- print(f'soma_2 = {soma_2}')
42
- print(f'dk = {dk}')
43
-
44
40
  if (soma_1 != 2 and soma_2 != 2):
45
41
  print ("============================================================")
46
42
  print ("!!! ERROR !!! ")
@@ -300,15 +296,14 @@ if ((soma_1 == 2 or soma_2 == 2) and len(inputs) == 0):
300
296
  #----------------------------------
301
297
  if (soma_1 == 2 and soma_2 == 2 and escolha == 1):
302
298
  Dimensao = 4
303
- #----------------------------------
304
-
305
- if ((soma_1 == 2 or soma_2 == 2) and len(inputs) != 0):
306
- #-----------------
299
+
300
+ if (soma_1 == 2 or soma_2 == 2):
301
+ #----------------------------------
307
302
  if (Dimensao < 4):
308
303
  if (dk[3] == 1 and dk[4] == 1): Plano_k = 1 # kxky-plan
309
304
  if (dk[3] == 1 and dk[5] == 1): Plano_k = 2 # kxkz-plan
310
305
  if (dk[4] == 1 and dk[5] == 1): Plano_k = 3 # kykz-plan
311
- #-----------------
306
+ #----------------------------------
312
307
  if (Dimensao == 4):
313
308
  if (dk[0] == 1 and dk[1] == 1): Plano_k = 1 # k1k2-plan
314
309
  if (dk[0] == 1 and dk[2] == 1): Plano_k = 2 # k1k3-plan
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vasprocar
3
- Version: 1.1.19.122
3
+ Version: 1.1.19.124
4
4
  Summary: VASProcar is an open-source package written in the Python 3 programming language, which aims to provide an intuitive tool for the post-processing of the output files produced by the DFT VASP/QE codes, through an interactive user interface.
5
5
  Home-page: https://doi.org/10.5281/zenodo.6343960
6
6
  Download-URL: https://doi.org/10.5281/zenodo.6343960