SAMBA-ilum 1.1.0.113__tar.gz → 1.1.0.115__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.1.0.113 → samba_ilum-1.1.0.115}/PKG-INFO +1 -1
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/SAMBA_ilum.egg-info/PKG-INFO +1 -1
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/__main__.py +1 -1
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/HeteroStructure_Generator.py +39 -28
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/cell_check.py +1 -1
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/setup.py +1 -1
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/LICENSE.txt +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/README.md +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/SAMBA_ilum.egg-info/SOURCES.txt +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/SAMBA_ilum.egg-info/dependency_links.txt +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/SAMBA_ilum.egg-info/entry_points.txt +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/SAMBA_ilum.egg-info/requires.txt +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/SAMBA_ilum.egg-info/top_level.txt +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/__init__.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/BZ_2D.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/Hubbard_U_values.txt +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/INCAR_a-scan +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/INCAR_bader +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/INCAR_bader.SO +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/INCAR_bands +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/INCAR_bands.SO +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/INCAR_dos +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/INCAR_dos.SO +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/INCAR_relax +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/INCAR_scf +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/INCAR_scf.SO +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/INCAR_xy-scan +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/INCAR_xyz-scan +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/INCAR_z-scan +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/SAMBA_HeteroStructure.input +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/SAMBA_WorkFlow.input +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.bands +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.chgcar +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.dos +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.location +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.locpot +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.orbitals +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.spin +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/INPUTS/vdw_kernel.bindat +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/_info_pseudo.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/a-scan.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/a-scan_analysis.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/bader +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/bader_poscar.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/bader_update.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/charge_transfer.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/chgsum.pl +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/contcar_update.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/data-base_json.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/data-base_union.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/energy_scan.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/hubbard_correction.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/job.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/kpoints.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/lattice_plot3d.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/make_files.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/output.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/poscar_fix_direct_coord.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/potcar.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/vdW_DF.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/xy-scan.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/xy-scan_analysis.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/xyz-scan.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/xyz-scan_analysis.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/z-scan.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/samba_ilum/src/z-scan_analysis.py +0 -0
- {samba_ilum-1.1.0.113 → samba_ilum-1.1.0.115}/setup.cfg +0 -0
|
@@ -651,8 +651,8 @@ for s in range(len(files)):
|
|
|
651
651
|
if (rot_angle_calc == 'A2'):
|
|
652
652
|
V1 = 0.5*B1
|
|
653
653
|
V2 = 0.5*B2
|
|
654
|
-
|
|
655
|
-
angle_V12 = np.arctan2(np.cross(V2, V1), np.dot(V2, V1)) # angle in radians
|
|
654
|
+
#-------------------------------------------------------------------------------
|
|
655
|
+
angle_V12 = np.arctan2(np.cross(V2, V1)[2], np.dot(V2, V1)) # angle in radians
|
|
656
656
|
angle0 = np.degrees(angle_V12)
|
|
657
657
|
if (abs(angle0) == 0.0): angle0 = 0.0
|
|
658
658
|
#-------------------------------------
|
|
@@ -777,8 +777,8 @@ if (n_Lattice == 3):
|
|
|
777
777
|
#--------------------------------------------
|
|
778
778
|
# Criterion: area mismatch ------------------
|
|
779
779
|
#--------------------------------------------
|
|
780
|
-
A1 = np.array([A1x[i], A1y[i]]); B1 = np.array([B1x[i], B1y[i]]); area_cell1 = np.linalg.norm(np.cross(A1, B1))
|
|
781
|
-
A3 = np.array([A3x[j], A3y[j]]); B3 = np.array([B3x[j], B3y[j]]); area_cell3 = np.linalg.norm(np.cross(A3, B3))
|
|
780
|
+
A1 = np.array([A1x[i], A1y[i], 0.0]); B1 = np.array([B1x[i], B1y[i], 0.0]); area_cell1 = np.linalg.norm(np.cross(A1, B1))
|
|
781
|
+
A3 = np.array([A3x[j], A3y[j], 0.0]); B3 = np.array([B3x[j], B3y[j]]); area_cell3 = np.linalg.norm(np.cross(A3, B3))
|
|
782
782
|
var_area_cell1 = ((area_cell3 -area_cell1)/area_cell1)*100; var_area_cell1 = round(var_area_cell1, 4)
|
|
783
783
|
var_area_cell3 = ((area_cell1 -area_cell3)/area_cell3)*100; var_area_cell3 = round(var_area_cell3, 4)
|
|
784
784
|
#-------------------------------------------------------------------------------
|
|
@@ -793,7 +793,7 @@ if (n_Lattice == 3):
|
|
|
793
793
|
if (rot_angle_calc == 'A2'):
|
|
794
794
|
V1 = 0.5*B1
|
|
795
795
|
V3 = 0.5*B3
|
|
796
|
-
angle_V13 = np.arctan2(np.cross(V3, V1), np.dot(V3, V1)) # angle in radians
|
|
796
|
+
angle_V13 = np.arctan2(np.cross(V3, V1)[2], np.dot(V3, V1)) # angle in radians
|
|
797
797
|
angle2 = np.degrees(angle_V13)
|
|
798
798
|
if (abs(angle2) == 0.0): angle2 = 0.0
|
|
799
799
|
#-----------------------------------------------------------------
|
|
@@ -1105,23 +1105,23 @@ if (n_test == 1):
|
|
|
1105
1105
|
poscar1 = open(diret + 'Lattice1' + '/' + dir_temp_m + '/' + '/POSCAR_' + str(i+1) + '.vasp', "r")
|
|
1106
1106
|
poscar2 = open(diret + 'Lattice2' + '/' + dir_temp_m + '/' + '/POSCAR_' + str(i+1) + '.vasp', "r")
|
|
1107
1107
|
if (n_Lattice == 3): poscar3 = open(diret + 'Lattice3' + '/' + dir_temp_m + '/' + '/POSCAR_' + str(i+1) + '.vasp', "r")
|
|
1108
|
-
|
|
1108
|
+
#-----------------------------------------------------------------------------------------------------------------------
|
|
1109
1109
|
VTemp = poscar1.readline()
|
|
1110
1110
|
VTemp = poscar1.readline(); param = float(VTemp)
|
|
1111
|
-
A = poscar1.readline().split(); A1 = np.array([
|
|
1112
|
-
B = poscar1.readline().split(); B1 = np.array([
|
|
1113
|
-
|
|
1111
|
+
A = poscar1.readline().split(); A1 = np.array([float(A[0])*param, float(A[1])*param, 0.0])
|
|
1112
|
+
B = poscar1.readline().split(); B1 = np.array([float(B[0])*param, float(B[1])*param, 0.0])
|
|
1113
|
+
#-----------------------------------------------------------------------------------------
|
|
1114
1114
|
VTemp = poscar2.readline()
|
|
1115
1115
|
VTemp = poscar2.readline(); param = float(VTemp)
|
|
1116
|
-
A = poscar2.readline().split(); A2 = np.array([
|
|
1117
|
-
B = poscar2.readline().split(); B2 = np.array([
|
|
1118
|
-
|
|
1116
|
+
A = poscar2.readline().split(); A2 = np.array([float(A[0])*param, float(A[1])*param, 0.0])
|
|
1117
|
+
B = poscar2.readline().split(); B2 = np.array([float(B[0])*param, float(B[1])*param, 0.0])
|
|
1118
|
+
#-----------------------------------------------------------------------------------------
|
|
1119
1119
|
if (n_Lattice == 3):
|
|
1120
1120
|
VTemp = poscar3.readline()
|
|
1121
1121
|
VTemp = poscar3.readline(); param = float(VTemp)
|
|
1122
|
-
A = poscar3.readline().split(); A3 = np.array([
|
|
1123
|
-
B = poscar3.readline().split(); B3 = np.array([
|
|
1124
|
-
|
|
1122
|
+
A = poscar3.readline().split(); A3 = np.array([float(A[0])*param, float(A[1])*param, 0.0])
|
|
1123
|
+
B = poscar3.readline().split(); B3 = np.array([float(B[0])*param, float(B[1])*param, 0.0])
|
|
1124
|
+
#--------------------------------------------------------------------------------------------
|
|
1125
1125
|
if (rot_angle_calc == 'center_cell'):
|
|
1126
1126
|
V1 = 0.5*A1 + 0.5*B1; V2 = 0.5*A2 + 0.5*B2
|
|
1127
1127
|
if (n_Lattice == 3): V3 = 0.5*A3 + 0.5*B3
|
|
@@ -1133,8 +1133,8 @@ if (n_test == 1):
|
|
|
1133
1133
|
if (rot_angle_calc == 'A2'):
|
|
1134
1134
|
V1 = 0.5*B1; V2 = 0.5*B2
|
|
1135
1135
|
if (n_Lattice == 3): V3 = 0.5*B3
|
|
1136
|
-
|
|
1137
|
-
angle_V12 = np.arctan2(np.cross(V2, V1), np.dot(V2, V1)) # angle in radians
|
|
1136
|
+
#-------------------------------------------------------------------------------
|
|
1137
|
+
angle_V12 = np.arctan2(np.cross(V2, V1)[2], np.dot(V2, V1)) # angle in radians
|
|
1138
1138
|
angle0 = np.degrees(angle_V12)
|
|
1139
1139
|
if (abs(angle0) == 0.0): angle0 = 0.0
|
|
1140
1140
|
#-----------------------------------------------------------------
|
|
@@ -1155,7 +1155,7 @@ if (n_test == 1):
|
|
|
1155
1155
|
angle1 = round(angle1, 4)
|
|
1156
1156
|
#=================================================================
|
|
1157
1157
|
if (n_Lattice == 3):
|
|
1158
|
-
angle_V13 = np.arctan2(np.cross(V3, V1), np.dot(V3, V1)) # angle in radians
|
|
1158
|
+
angle_V13 = np.arctan2(np.cross(V3, V1)[2], np.dot(V3, V1)) # angle in radians
|
|
1159
1159
|
angle2 = np.degrees(angle_V13)
|
|
1160
1160
|
if (abs(angle2) == 0.0): angle2 = 0.0
|
|
1161
1161
|
#-----------------------------------------------------------------
|
|
@@ -1241,12 +1241,12 @@ if (n_test == 1):
|
|
|
1241
1241
|
#----------------------------------------------------------------------------------------------------------------
|
|
1242
1242
|
# Aligning the cells of the different lattices ------------------------------------------------------------------
|
|
1243
1243
|
#----------------------------------------------------------------------------------------------------------------
|
|
1244
|
-
theta = angle_V12; rotation_matrix = np.array([[np.cos(theta), -np.sin(theta)], [np.sin(theta), np.cos(theta)]])
|
|
1244
|
+
theta = angle_V12; rotation_matrix = np.array([ [np.cos(theta), -np.sin(theta), 0], [np.sin(theta), np.cos(theta), 0], [0, 0, 1] ])
|
|
1245
1245
|
A2_rotated = np.dot(rotation_matrix, A2)
|
|
1246
1246
|
B2_rotated = np.dot(rotation_matrix, B2)
|
|
1247
1247
|
#---------------------------------------
|
|
1248
1248
|
if (n_Lattice == 3):
|
|
1249
|
-
theta = angle_V13; rotation_matrix = np.array([[np.cos(theta), -np.sin(theta)], [np.sin(theta), np.cos(theta)]])
|
|
1249
|
+
theta = angle_V13; rotation_matrix = np.array([ [np.cos(theta), -np.sin(theta), 0], [np.sin(theta), np.cos(theta), 0], [0, 0, 1] ])
|
|
1250
1250
|
A3_rotated = np.dot(rotation_matrix, A3)
|
|
1251
1251
|
B3_rotated = np.dot(rotation_matrix, B3)
|
|
1252
1252
|
#-------------------------------------------------------
|
|
@@ -1275,7 +1275,7 @@ if (n_test == 1):
|
|
|
1275
1275
|
mod_A_int = np.linalg.norm(A_int)
|
|
1276
1276
|
mod_B_int = np.linalg.norm(B_int)
|
|
1277
1277
|
Area_int = np.linalg.norm(np.cross(A_int, B_int))
|
|
1278
|
-
angle_int = np.arctan2(np.cross(A_int,B_int), np.dot(A_int,B_int))
|
|
1278
|
+
angle_int = np.arctan2(np.cross(A_int,B_int)[2], np.dot(A_int,B_int))
|
|
1279
1279
|
|
|
1280
1280
|
#-----------------------------------------------------------------------------------------------------------
|
|
1281
1281
|
# Use of temporary vectors (A,B) to estimate the deformation applied to the original cells -----------------
|
|
@@ -1881,13 +1881,6 @@ while n_exclusion_cont != 2:
|
|
|
1881
1881
|
n_structures = len(files)
|
|
1882
1882
|
#------------------------
|
|
1883
1883
|
|
|
1884
|
-
print(f'=================================')
|
|
1885
|
-
print(f'{n_exclusion} cells were filtered/excluded')
|
|
1886
|
-
print(f'---------------------------------')
|
|
1887
|
-
if (n_structures == 1): print(f'Only one cell was found')
|
|
1888
|
-
if (n_structures > 1): print(f'{n_structures} cells were found')
|
|
1889
|
-
print(f'=================================')
|
|
1890
|
-
|
|
1891
1884
|
if (n_exclusion != 0): n_exclusion_cont = 0
|
|
1892
1885
|
if (n_exclusion == 0): n_exclusion_cont += 1
|
|
1893
1886
|
if (n_structures == 1): n_exclusion_cont = 2
|
|
@@ -1995,8 +1988,25 @@ for i in range(len(files)):
|
|
|
1995
1988
|
#------------------------------------------------------
|
|
1996
1989
|
with open(new_name, 'w') as file: file.writelines(line)
|
|
1997
1990
|
#------------------------------------------------------
|
|
1991
|
+
nions = int(n_ion.replace("atoms",""))
|
|
1992
|
+
if (nions < ions_crit_i or nions > ions_crit_f):
|
|
1993
|
+
n_exclusion_cont += 1
|
|
1994
|
+
os.remove(new_name)
|
|
1995
|
+
|
|
1996
|
+
#-------------------------
|
|
1997
|
+
files = os.listdir(diret2)
|
|
1998
|
+
n_structures = len(files)
|
|
1999
|
+
#------------------------
|
|
2000
|
+
|
|
2001
|
+
#==========================================
|
|
2002
|
+
print(f'---------------------------------')
|
|
2003
|
+
print(f'{n_exclusion} cells were filtered/excluded')
|
|
2004
|
+
if (n_structures == 1): print(f'Only one cell was found')
|
|
2005
|
+
if (n_structures > 1): print(f'{n_structures} cells were found')
|
|
2006
|
+
#==========================================
|
|
1998
2007
|
|
|
1999
2008
|
|
|
2009
|
+
"""
|
|
2000
2010
|
#=====================================================================
|
|
2001
2011
|
# Adjusting direct coordinates of lattices ===========================
|
|
2002
2012
|
#=====================================================================
|
|
@@ -2124,6 +2134,7 @@ print(f"\rProgress completed !{' ' * 60}")
|
|
|
2124
2134
|
shutil.rmtree(dir1)
|
|
2125
2135
|
os.rename(dir2,dir1)
|
|
2126
2136
|
#-------------------
|
|
2137
|
+
"""
|
|
2127
2138
|
|
|
2128
2139
|
|
|
2129
2140
|
print(f' ')
|
|
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.1.0.113 → samba_ilum-1.1.0.115}/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
|
|
File without changes
|