SAMBA-ilum 1.0.0.393__tar.gz → 1.0.0.395__tar.gz

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