SAMBA-ilum 1.0.0.542__tar.gz → 1.0.0.543__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/PKG-INFO +1 -1
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/SAMBA_ilum.egg-info/PKG-INFO +1 -1
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/SAMBA_ilum.egg-info/SOURCES.txt +1 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/__main__.py +8 -1
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/cell_check.py +1 -1
- samba_ilum-1.0.0.543/samba_ilum/src/poscar_fix_direct_coord.py +117 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/setup.py +1 -1
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/LICENSE.txt +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/README.md +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/SAMBA_ilum.egg-info/dependency_links.txt +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/SAMBA_ilum.egg-info/entry_points.txt +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/SAMBA_ilum.egg-info/requires.txt +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/SAMBA_ilum.egg-info/top_level.txt +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/__init__.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/BZ_2D.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/HeteroStructure_Generator.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/Hubbard_U_values.txt +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/INCAR_a-scan +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/INCAR_bader +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/INCAR_bader.SO +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/INCAR_bands +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/INCAR_bands.SO +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/INCAR_dos +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/INCAR_dos.SO +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/INCAR_relax +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/INCAR_scf +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/INCAR_scf.SO +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/INCAR_xy-scan +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/INCAR_xyz-scan +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/INCAR_z-scan +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/SAMBA_HeteroStructure.input +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/SAMBA_WorkFlow.input +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.bands +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.chgcar +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.dos +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.location +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.locpot +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.orbitals +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.spin +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/vdw_kernel.bindat +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/_info_pseudo.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/a-scan.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/a-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/bader +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/bader_poscar.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/bader_update.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/charge_transfer.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/chgsum.pl +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/contcar_update.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/data-base_json.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/data-base_union.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/energy_scan.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/hubbard_correction.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/job.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/kpoints.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/lattice_plot3d.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/make_files.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/output.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/potcar.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/vdW_DF.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/xy-scan.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/xy-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/xyz-scan.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/xyz-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/z-scan.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/z-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/setup.cfg +0 -0
|
@@ -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.
|
|
19
|
+
version = '1.0.0.543'
|
|
20
20
|
|
|
21
21
|
print(" ")
|
|
22
22
|
print("=============================================================")
|
|
@@ -59,6 +59,13 @@ except Exception as e:
|
|
|
59
59
|
print(" ")
|
|
60
60
|
|
|
61
61
|
|
|
62
|
+
#=============================================================
|
|
63
|
+
# Fixing the coordinates of POSCAR files in direct form ======
|
|
64
|
+
#=============================================================
|
|
65
|
+
# exec(open(dir_codes + '/poscar_fix_direct_coord.py').read())
|
|
66
|
+
#=============================================================
|
|
67
|
+
|
|
68
|
+
|
|
62
69
|
# ------------------------------------------------------------------------------
|
|
63
70
|
# Checking if the "run.input" file exists --------------------------------------
|
|
64
71
|
# ------------------------------------------------------------------------------
|
|
@@ -177,7 +177,7 @@ for name in files0:
|
|
|
177
177
|
menor_0 = min(angulos_z) if angulos_z else 0.0
|
|
178
178
|
menor_1 = min(angulos_z_na_origem) if angulos_z_na_origem else 0.0
|
|
179
179
|
#--------------------------------------------------------------------
|
|
180
|
-
# If there is a difference,
|
|
180
|
+
# If there is a difference, the rotation angle position is fixed ----
|
|
181
181
|
#--------------------------------------------------------------------
|
|
182
182
|
if (menor_0 != menor_1 and menor_0 != 0.0):
|
|
183
183
|
axis_correction += 1
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# SAMBA_ilum Copyright (C) 2025 - Closed source
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
import numpy as np
|
|
5
|
+
import shutil
|
|
6
|
+
import glob
|
|
7
|
+
import sys
|
|
8
|
+
import os
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
#----------------------------------------------------------------------------
|
|
12
|
+
# Function to delete hidden files -------------------------------------------
|
|
13
|
+
#----------------------------------------------------------------------------
|
|
14
|
+
def delete_hidden_files(target_directory):
|
|
15
|
+
search_files = os.path.join(target_directory, '.*')
|
|
16
|
+
for item in glob.glob(search_files):
|
|
17
|
+
try:
|
|
18
|
+
if os.path.isfile(item): os.remove(item)
|
|
19
|
+
except OSError: pass
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
#----------------------------------------------------
|
|
23
|
+
# Listing files inside the "dir_poscar" directory ---
|
|
24
|
+
#----------------------------------------------------
|
|
25
|
+
poscar_dir_path = os.path.join(dir_files, dir_poscar)
|
|
26
|
+
#-----------------------------------
|
|
27
|
+
delete_hidden_files(poscar_dir_path)
|
|
28
|
+
files0 = [name for name in os.listdir(poscar_dir_path) if os.path.isfile(os.path.join(poscar_dir_path, name))]
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
#======================================================
|
|
32
|
+
# Checking/Correcting POSCAR files ====================
|
|
33
|
+
#======================================================
|
|
34
|
+
poscar_backup_dir_path = os.path.join(dir_files, 'POSCAR_Backup_temp')
|
|
35
|
+
os.rename(poscar_dir_path, poscar_backup_dir_path)
|
|
36
|
+
os.makedirs(poscar_dir_path, exist_ok=True)
|
|
37
|
+
#------------------------------------------
|
|
38
|
+
files1 = [name for name in os.listdir(poscar_backup_dir_path) if os.path.isfile(os.path.join(poscar_backup_dir_path, name))]
|
|
39
|
+
for file_in in files1:
|
|
40
|
+
#-------------------
|
|
41
|
+
type_poscar = 'none'
|
|
42
|
+
poscar_in = open(poscar_backup_dir_path + '/' + file_in, "r")
|
|
43
|
+
for i in range(8): VTemp = poscar_in.readline().split()
|
|
44
|
+
if (VTemp[0][0] == 'D' or VTemp[0][0] == 'd'): type_poscar = 'direct'
|
|
45
|
+
if (VTemp[0][0] == 'C' or VTemp[0][0] == 'c'): type_poscar = 'cartesian'
|
|
46
|
+
if (VTemp[0][0] == 'S' or VTemp[0][0] == 's'): type_poscar = 'selective'
|
|
47
|
+
poscar_in.close()
|
|
48
|
+
#----------------
|
|
49
|
+
|
|
50
|
+
if (type_poscar != 'cartesian'): shutil.copy2(poscar_backup_dir_path + '/' + file_in, poscar_dir_path + '/' + file_in)
|
|
51
|
+
|
|
52
|
+
if (type_poscar == 'cartesian'):
|
|
53
|
+
#-------------------------------------------------------------
|
|
54
|
+
poscar_in = open(poscar_backup_dir_path + '/' + file_in, "r")
|
|
55
|
+
poscar_out = open(poscar_dir_path + '/' + file_in, "w")
|
|
56
|
+
#------------------------------------------------------
|
|
57
|
+
VTemp = poscar_in.readline()
|
|
58
|
+
poscar_out.write(f'{VTemp}')
|
|
59
|
+
#------------------------------------------------------------
|
|
60
|
+
VTemp = poscar_in.readline().split(); param = float(VTemp[0])
|
|
61
|
+
poscar_out.write(f'1.0 \n')
|
|
62
|
+
#-----------------------------------
|
|
63
|
+
VTemp = poscar_in.readline().split()
|
|
64
|
+
A1x = float(VTemp[0])*param
|
|
65
|
+
A1y = float(VTemp[1])*param
|
|
66
|
+
A1z = float(VTemp[2])*param
|
|
67
|
+
poscar_out.write(f'{A1x:.16} {A1y:.16} {A1z:.16} \n')
|
|
68
|
+
#----------------------------------------------------
|
|
69
|
+
VTemp = poscar_in.readline().split()
|
|
70
|
+
A2x = float(VTemp[0])*param
|
|
71
|
+
A2y = float(VTemp[1])*param
|
|
72
|
+
A2z = float(VTemp[2])*param
|
|
73
|
+
poscar_out.write(f'{A2x:.16} {A2y:.16} {A2z:.16} \n')
|
|
74
|
+
#----------------------------------------------------
|
|
75
|
+
VTemp = poscar_in.readline().split()
|
|
76
|
+
A3x = float(VTemp[0])*param
|
|
77
|
+
A3y = float(VTemp[1])*param
|
|
78
|
+
A3z = float(VTemp[2])*param
|
|
79
|
+
poscar_out.write(f'{A3x:.16} {A3y:.16} {A3z:.16} \n')
|
|
80
|
+
#----------------------------------------------------
|
|
81
|
+
VTemp = poscar_in.readline()
|
|
82
|
+
poscar_out.write(f'{VTemp}')
|
|
83
|
+
#---------------------------
|
|
84
|
+
nions = 0
|
|
85
|
+
VTemp = poscar_in.readline()
|
|
86
|
+
poscar_out.write(f'{VTemp}')
|
|
87
|
+
VTemp = VTemp.split()
|
|
88
|
+
for i in range(len(VTemp)): nions += int(VTemp[i])
|
|
89
|
+
#-------------------------------------------------
|
|
90
|
+
VTemp = poscar_in.readline()
|
|
91
|
+
poscar_out.write(f'Direct \n')
|
|
92
|
+
#-----------------------------
|
|
93
|
+
a = np.array([A1x, A1y, A1z])
|
|
94
|
+
b = np.array([A2x, A2y, A2z])
|
|
95
|
+
c = np.array([A3x, A3y, A3z])
|
|
96
|
+
T = np.linalg.inv(np.array([a, b, c]).T) # Defines the transformation matrix
|
|
97
|
+
#---------------------------------------
|
|
98
|
+
for i in range(nions):
|
|
99
|
+
#-----------------------------------
|
|
100
|
+
VTemp = poscar_in.readline().split()
|
|
101
|
+
x = float(VTemp[0])*param
|
|
102
|
+
y = float(VTemp[1])*param
|
|
103
|
+
z = float(VTemp[2])*param
|
|
104
|
+
#------------------------
|
|
105
|
+
r = np.array([x, y, z]) # Defines the Cartesian position of the atom
|
|
106
|
+
f = np.dot(T, r) # Calculates fractional position
|
|
107
|
+
f = f % 1.0
|
|
108
|
+
#-------------------------------------------------------
|
|
109
|
+
poscar_out.write(f'{f[0]:.16} {f[1]:.16} {f[2]:.16} \n')
|
|
110
|
+
#-----------------------------------------------------------
|
|
111
|
+
poscar_in.close()
|
|
112
|
+
poscar_out.close()
|
|
113
|
+
#-----------------
|
|
114
|
+
|
|
115
|
+
#===============================
|
|
116
|
+
os.rmdir(poscar_backup_dir_path)
|
|
117
|
+
#===============================
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{samba_ilum-1.0.0.542 → samba_ilum-1.0.0.543}/samba_ilum/src/INPUTS/SAMBA_HeteroStructure.input
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|