SAMBA-ilum 1.0.0.433__tar.gz → 1.0.0.435__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 (65) hide show
  1. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/PKG-INFO +1 -1
  2. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/SAMBA_ilum.egg-info/PKG-INFO +1 -1
  3. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/SAMBA_ilum.egg-info/SOURCES.txt +1 -0
  4. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/__main__.py +1 -1
  5. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/INPUTS/SAMBA_WorkFlow.input +4 -1
  6. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/bader_poscar.py +9 -1
  7. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/data-base_json.py +1 -1
  8. samba_ilum-1.0.0.435/samba_ilum/src/hubbard_correction.py +48 -0
  9. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/make_files.py +5 -1
  10. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/setup.py +1 -1
  11. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/LICENSE.txt +0 -0
  12. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/README.md +0 -0
  13. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/SAMBA_ilum.egg-info/dependency_links.txt +0 -0
  14. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/SAMBA_ilum.egg-info/entry_points.txt +0 -0
  15. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/SAMBA_ilum.egg-info/requires.txt +0 -0
  16. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/SAMBA_ilum.egg-info/top_level.txt +0 -0
  17. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/__init__.py +0 -0
  18. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/BZ_2D.py +0 -0
  19. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/HeteroStructure_Generator.py +0 -0
  20. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/HeteroStructure_Generator_backup.py +0 -0
  21. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/INPUTS/INCAR_a-scan +0 -0
  22. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/INPUTS/INCAR_bader +0 -0
  23. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/INPUTS/INCAR_bader.SO +0 -0
  24. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/INPUTS/INCAR_bands +0 -0
  25. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/INPUTS/INCAR_bands.SO +0 -0
  26. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/INPUTS/INCAR_dos +0 -0
  27. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/INPUTS/INCAR_dos.SO +0 -0
  28. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/INPUTS/INCAR_relax +0 -0
  29. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/INPUTS/INCAR_scf +0 -0
  30. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/INPUTS/INCAR_scf.SO +0 -0
  31. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/INPUTS/INCAR_xy-scan +0 -0
  32. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/INPUTS/INCAR_xyz-scan +0 -0
  33. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/INPUTS/INCAR_z-scan +0 -0
  34. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/INPUTS/SAMBA_HeteroStructure.input +0 -0
  35. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.bands +0 -0
  36. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.chgcar +0 -0
  37. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.dos +0 -0
  38. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.location +0 -0
  39. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.locpot +0 -0
  40. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.orbitals +0 -0
  41. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.spin +0 -0
  42. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/INPUTS/vdw_kernel.bindat +0 -0
  43. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/_info_pseudo.py +0 -0
  44. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/a-scan.py +0 -0
  45. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/a-scan_analysis.py +0 -0
  46. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/bader +0 -0
  47. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/bader_update.py +0 -0
  48. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/charge_transfer.py +0 -0
  49. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/chgsum.pl +0 -0
  50. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/contcar_update.py +0 -0
  51. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/data-base_union.py +0 -0
  52. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/energy_scan.py +0 -0
  53. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/job.py +0 -0
  54. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/kpoints.py +0 -0
  55. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/lattice_plot3d.py +0 -0
  56. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/output.py +0 -0
  57. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/potcar.py +0 -0
  58. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/vdW_DF.py +0 -0
  59. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/xy-scan.py +0 -0
  60. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/xy-scan_analysis.py +0 -0
  61. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/xyz-scan.py +0 -0
  62. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/xyz-scan_analysis.py +0 -0
  63. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/z-scan.py +0 -0
  64. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/samba_ilum/src/z-scan_analysis.py +0 -0
  65. {samba_ilum-1.0.0.433 → samba_ilum-1.0.0.435}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: SAMBA_ilum
3
- Version: 1.0.0.433
3
+ Version: 1.0.0.435
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.433
3
+ Version: 1.0.0.435
4
4
  Summary: ...
5
5
  Author: Augusto de Lelis Araujo
6
6
  Author-email: augusto-lelis@outlook.com
@@ -25,6 +25,7 @@ samba_ilum/src/contcar_update.py
25
25
  samba_ilum/src/data-base_json.py
26
26
  samba_ilum/src/data-base_union.py
27
27
  samba_ilum/src/energy_scan.py
28
+ samba_ilum/src/hubbard_correction.py
28
29
  samba_ilum/src/job.py
29
30
  samba_ilum/src/kpoints.py
30
31
  samba_ilum/src/lattice_plot3d.py
@@ -16,7 +16,7 @@ dir_samba = os.path.dirname(os.path.realpath(__file__))
16
16
  print(f'{dir_samba}')
17
17
  #--------------------
18
18
 
19
- version = '1.0.0.433'
19
+ version = '1.0.0.435'
20
20
 
21
21
  print(" ")
22
22
  print("=============================================================")
@@ -13,6 +13,8 @@ replace_type_pseudo = 'PAW_PBE'; replace_type_XC = 'GGA'
13
13
  #=======================================================
14
14
 
15
15
 
16
+ #=======================================================
17
+ type_lattice = 2 # [1] Redes 1D (Periodico em X); [2] Redes 2D (Periodico em XY); [3] Redes 3D - Bulk
16
18
  #=======================================================
17
19
  tasks = ['relax', 'scf', 'bands', 'dos'] # tasks = ['z-scan', 'xy-scan', 'relax', 'scf', 'bands', 'dos', 'bader']
18
20
  type = ['sem_SO','com_SO'] # type = ['sem_SO','com_SO']
@@ -23,6 +25,8 @@ dipol = 'none' # Utilize as opções: 'none', 'center_cell' or 'c
23
25
  #=======================================================
24
26
  magnet_mode = 'default' # Utilize as opções: 'default', 'MAGMOM=0' or 'NUPDOWN=0'
25
27
  #=======================================================
28
+ U_correction = 0 # Correção de Hubbard (U): [0] para desativar, [1] para ativar
29
+ #=======================================================
26
30
  vdW = 0 # Correção de van der Waals utilizada: [0] desabilita a correção de van der Waals.
27
31
  # Correção aplicado em todos os cálculos (com e sem SO)
28
32
  #-------------------------------------------------------
@@ -36,7 +40,6 @@ ENCUT_min = 500 # Valor mínimo para a energia de corte em eV
36
40
  # ENCUT refere-se ao maior valor de energia de corte presente no arquivo POTCAR
37
41
  fator_encut = 1.3 # Fator de multiplicação para o critério da energia de corte utilizada
38
42
  #=======================================================
39
- type_lattice = 2 # [1] Redes 1D (Periodico em X); [2] Redes 2D (Periodico em XY); [3] Redes 3D - Bulk
40
43
  type_k_dens = 1 # [1] KPOINTS (Monkhorst-Pack); [2] KPOINTS (Gamma); [3] INCAR (KSPACING Monkhorst-Pack); [4] INCAR (KSPACING Gamma)
41
44
  k_dens_relax = 12 # Cálculo de relaxação: nº de pontos-k por Å^-1
42
45
  k_dens_scf = 12 # Cálculo auto-consistente (scf): nº de pontos-k por Å^-1
@@ -49,12 +49,20 @@ os.mkdir(dir_task + '/HeteroStructure')
49
49
  os.mkdir(dir_task + '/HeteroStructure' + '/inputs')
50
50
  shutil.copyfile(dir_codes + '/INPUTS/inputs_VASProcar/input.vasprocar.locpot', dir_task + '/HeteroStructure' + '/inputs' + '/input.vasprocar.locpot')
51
51
  shutil.copyfile(dir_task + '/POSCAR', dir_task + '/HeteroStructure' + '/POSCAR')
52
+ if (U_correction = 1):
53
+ shutil.copyfile(dir_codes + '/hubbard_correction.py', dir_task + '/HeteroStructure' + '/hubbard_correction.py')
54
+ exec(open(dir_task + '/HeteroStructure' + '/hubbard_correction.py').read())
55
+ shutil.rmtree(dir_task + '/HeteroStructure' + '/hubbard_correction.py')
52
56
 
53
57
  for m in range(n_Lattice):
54
58
  os.mkdir(dir_task + '/material_' + str(m+1))
55
59
  os.mkdir(dir_task + '/material_' + str(m+1) + '/inputs')
56
60
  shutil.copyfile(dir_codes + '/INPUTS/inputs_VASProcar/input.vasprocar.locpot', dir_task + '/material_' + str(m+1) + '/inputs/input.vasprocar.locpot')
57
- #----------------------------------------------------------------------------------------------------------------------------------------------------
61
+ if (U_correction = 1):
62
+ shutil.copyfile(dir_codes + '/hubbard_correction.py', dir_task + '/material_' + str(m+1) + '/hubbard_correction.py')
63
+ exec(open(dir_task + '/material_' + str(m+1) + '/hubbard_correction.py').read())
64
+ shutil.rmtree(dir_task + '/material_' + str(m+1) + '/hubbard_correction.py')
65
+ #------------------------------------------------------------------------------
58
66
  poscar = open(dir_task + '/POSCAR', 'r')
59
67
  poscar_new = open(dir_task + '/material_' + str(m+1) + '/POSCAR', 'w')
60
68
  #---------------------------------------------------------------------
@@ -40,7 +40,7 @@ kpoints_file = []
40
40
  kpath = []
41
41
  #---------
42
42
  if os.path.isdir('output/Bandas'): dir_kpath = 'bands'
43
- if os.path.isdir('output/Bandas.SO'): dir_kpath = 'bands.SO'
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
46
  #--------------------------------------------------------------------------------------
@@ -0,0 +1,48 @@
1
+ # SAMBA_ilum Copyright (C) 2024 - Closed source
2
+
3
+
4
+ import sys
5
+ import os
6
+
7
+
8
+ with open('POSCAR', "r") as file: lines = file.readlines()
9
+ elements = lines[5].split()
10
+
11
+ U_VALORES = {"Sc": 3.0, "Ti": 4.0, "V": 3.1, "Cr": 3.5, "Mn": 3.9, "Fe": 5.3, "Co": 3.3, "Ni": 6.2,
12
+ "Cu": 4.0, "Zn": 0.0, "Y": 3.2, "Zr": 2.0, "Nb": 1.5, "Mo": 2.0, "Ru": 1.5, "Rh": 1.5,
13
+ "Ag": 1.5, "Cd": 0.0, "W": 2.0, "Pb": 0.5, "O": 5.3, "La": 6.0, "Ce": 5.0, "Nd": 5.0,
14
+ "Sm": 5.0, "Eu": 5.0, "Gd": 5.0, "Tb": 5.0, "Dy": 5.0, "Ho": 5.0, "Er": 5.0, "Tm": 5.0,
15
+ "Yb": 5.0, "U": 4.0}
16
+
17
+ LDAUL_VALORES = {"Sc": 2, "Ti": 2, "V": 2, "Cr": 2, "Mn": 2, "Fe": 2, "Co": 2, "Ni": 2, "Cu": 2,
18
+ "Zn": 2, "Y": 2, "Zr": 2, "Nb": 2, "Mo": 2, "Ru": 2, "Rh": 2, "Ag": 2, "Cd": 2,
19
+ "W": 2, "Pb": 1, "O": 1, "La": 3, "Ce": 3, "Nd": 3, "Sm": 3, "Eu": 3, "Gd": 3,
20
+ "Tb": 3, "Dy": 3, "Ho": 3, "Er": 3, "Tm": 3, "Yb": 3, "U": 3}
21
+
22
+ lmaxmix = 2
23
+ if any(LDAUL_VALORES.get(el, -1) == 2 for el in elementos): lmaxmix = 3 # d-orbitals
24
+ if any(LDAUL_VALORES.get(el, -1) == 3 for el in elementos): lmaxmix = 4 # f-orbitals
25
+
26
+ #============================================
27
+ # LDA+U/GGA+U Configuration =================
28
+ #============================================
29
+ LDAU = ".TRUE."
30
+ LDAUTYPE = "2"
31
+ LDAUL = " ".join(str(LDAUL_VALORES.get(el, -1)) for el in elements )
32
+ LDAUU = " ".join(str(U_VALORES.get(el, 0.0)) for el in elements )
33
+ LDAUJ = " ".join("0.0" for _ in elements )
34
+ LDAUPRINT = "1"
35
+
36
+ #============================================
37
+ # Updating INCAR file =======================
38
+ #============================================
39
+ with open("INCAR", "a") as output_file:
40
+ output_file.write(f"# GGA+U =================\n")
41
+ output_file.write(f"LDAU = {LDAU}\n")
42
+ output_file.write(f"LMAXMIX = {lmaxmix}\n")
43
+ output_file.write(f"LDAUTYPE = {LDAUTYPE}\n")
44
+ output_file.write(f"LDAUL = {LDAUL}\n")
45
+ output_file.write(f"LDAUU = {LDAUU}\n")
46
+ output_file.write(f"LDAUJ = {LDAUJ}\n")
47
+ output_file.write(f"LDAUPRINT = {LDAUPRINT}\n")
48
+ output_file.write(f"# =======================\n")
@@ -183,7 +183,11 @@ for i in range(len(files)):
183
183
  shutil.copyfile(dir_files + '/Structures' + '/' + files[i], dir_task + '/POSCAR')
184
184
  shutil.copyfile(dir_files + '/Structures' + '/' + files[i], dir_task + '/CONTCAR')
185
185
  shutil.copyfile(dir_codes + '/contcar_update.py', dir_task + '/contcar_update.py')
186
- #================================================================================================
186
+ if (U_correction = 1 and task[j][:5] == 'bader' != 'bader'):
187
+ shutil.copyfile(dir_codes + '/hubbard_correction.py', dir_task + '/hubbard_correction.py')
188
+ exec(open(dir_task + '/hubbard_correction.py').read())
189
+ shutil.rmtree(dir_task + '/hubbard_correction.py')
190
+ #=========================================================
187
191
  if task[j] in ['a-scan', 'z-scan', 'xy-scan', 'xyz-scan']:
188
192
  shutil.copyfile(dir_codes + '/' + task[j] + '_analysis.py', dir_task + '/' + task[j] + '_analysis.py')
189
193
  shutil.copyfile(dir_codes + '/' + task[j] + '.py', dir_task + '/' + task[j] + '.py')
@@ -6,7 +6,7 @@ import json
6
6
 
7
7
  setup(
8
8
  name = "SAMBA_ilum",
9
- version = "1.0.0.433",
9
+ version = "1.0.0.435",
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