SAMBA-ilum 1.0.0.540__tar.gz → 1.0.0.542__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.540 → samba_ilum-1.0.0.542}/PKG-INFO +1 -1
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/SAMBA_ilum.egg-info/PKG-INFO +1 -1
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/__main__.py +1 -1
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/HeteroStructure_Generator.py +117 -105
- samba_ilum-1.0.0.542/samba_ilum/src/energy_scan.py +57 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/job.py +4 -4
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/setup.py +1 -1
- samba_ilum-1.0.0.540/samba_ilum/src/energy_scan.py +0 -35
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/LICENSE.txt +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/README.md +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/SAMBA_ilum.egg-info/SOURCES.txt +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/SAMBA_ilum.egg-info/dependency_links.txt +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/SAMBA_ilum.egg-info/entry_points.txt +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/SAMBA_ilum.egg-info/requires.txt +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/SAMBA_ilum.egg-info/top_level.txt +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/__init__.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/BZ_2D.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/Hubbard_U_values.txt +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/INCAR_a-scan +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/INCAR_bader +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/INCAR_bader.SO +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/INCAR_bands +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/INCAR_bands.SO +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/INCAR_dos +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/INCAR_dos.SO +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/INCAR_relax +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/INCAR_scf +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/INCAR_scf.SO +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/INCAR_xy-scan +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/INCAR_xyz-scan +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/INCAR_z-scan +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/SAMBA_HeteroStructure.input +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/SAMBA_WorkFlow.input +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.bands +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.chgcar +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.dos +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.location +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.locpot +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.orbitals +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.spin +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/INPUTS/vdw_kernel.bindat +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/_info_pseudo.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/a-scan.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/a-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/bader +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/bader_poscar.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/bader_update.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/cell_check.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/charge_transfer.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/chgsum.pl +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/contcar_update.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/data-base_json.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/data-base_union.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/hubbard_correction.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/kpoints.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/lattice_plot3d.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/make_files.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/output.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/potcar.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/vdW_DF.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/xy-scan.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/xy-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/xyz-scan.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/xyz-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/z-scan.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/samba_ilum/src/z-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.540 → samba_ilum-1.0.0.542}/setup.cfg +0 -0
|
@@ -37,10 +37,10 @@ if (crit_area <= 0.0): crit_area = 0.01
|
|
|
37
37
|
#-----------------------------------------------------------------------------------------------------------------------------------------------
|
|
38
38
|
letters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'X', 'Z', 'Y', 'W']
|
|
39
39
|
alphabet = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'X', 'Z', 'Y', 'W']
|
|
40
|
-
|
|
41
|
-
# Generating
|
|
42
|
-
|
|
43
|
-
for k in range(
|
|
40
|
+
#---------------------------------------------------
|
|
41
|
+
# Generating 26026 temporary labels for lattice ions
|
|
42
|
+
#---------------------------------------------------
|
|
43
|
+
for k in range(1000):
|
|
44
44
|
for i in range(len(letters)):
|
|
45
45
|
alphabet.append(letters[i] + str(k+1))
|
|
46
46
|
#--------------------------------------------------------------------------------------------------------------------
|
|
@@ -1707,6 +1707,7 @@ print(f'{n_structures} remaining cells')
|
|
|
1707
1707
|
|
|
1708
1708
|
#=====================================================================
|
|
1709
1709
|
# Filtering/Excluding Similar POSCAR Files ===========================
|
|
1710
|
+
# within the temporary subdirectories of the POSCAR files ============
|
|
1710
1711
|
#=====================================================================
|
|
1711
1712
|
|
|
1712
1713
|
n += 1
|
|
@@ -1825,7 +1826,7 @@ print(f'{n_structures} remaining cells')
|
|
|
1825
1826
|
|
|
1826
1827
|
|
|
1827
1828
|
#=====================================================================
|
|
1828
|
-
# Deleting temporary
|
|
1829
|
+
# Deleting temporary subdirectories of POSCAR files ==================
|
|
1829
1830
|
#=====================================================================
|
|
1830
1831
|
number = 0
|
|
1831
1832
|
#--------------------------
|
|
@@ -1845,114 +1846,125 @@ for i in range(len(files0)):
|
|
|
1845
1846
|
|
|
1846
1847
|
#=====================================================================
|
|
1847
1848
|
# Filtering/Excluding Similar POSCAR Files ===========================
|
|
1849
|
+
# within the final directory of the POSCAR files =====================
|
|
1848
1850
|
#=====================================================================
|
|
1849
1851
|
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
print(f'========================================')
|
|
1854
|
-
print(f'Step {n}: Deleting Similar Lattices ====')
|
|
1855
|
-
print(f'========================================')
|
|
1852
|
+
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
1853
|
+
# Introduzir o loop de exclusão, até que duas interações retornem exclusão nula
|
|
1854
|
+
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
1856
1855
|
|
|
1857
|
-
|
|
1858
|
-
n_exclusion = 0
|
|
1856
|
+
n_exclusion_cont = 0
|
|
1859
1857
|
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
if
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
if ( (Angle_AB1 < 0) and (Angle_AB2 > 0) and cont == 1 ):
|
|
1925
|
-
if os.path.exists(diret2 + files[i]):
|
|
1926
|
-
os.remove(diret2 + files[i])
|
|
1927
|
-
n_exclusion += 1; cont = 0
|
|
1928
|
-
if ( (Angle_AB1 > 0) and (Angle_AB2 < 0) and cont == 1 ):
|
|
1929
|
-
if os.path.exists(diret2 + files[j]):
|
|
1930
|
-
os.remove(diret2 + files[j])
|
|
1931
|
-
n_exclusion += 1; cont = 0
|
|
1932
|
-
if (abs(Angle_AB1) < abs(Angle_AB2) and cont == 1):
|
|
1933
|
-
if os.path.exists(diret2 + files[j]):
|
|
1858
|
+
while n_exclusion_cont != 2:
|
|
1859
|
+
|
|
1860
|
+
n += 1
|
|
1861
|
+
#----------
|
|
1862
|
+
print(f' ')
|
|
1863
|
+
print(f'========================================')
|
|
1864
|
+
print(f'Step {n}: Deleting Similar Lattices ====')
|
|
1865
|
+
print(f'========================================')
|
|
1866
|
+
|
|
1867
|
+
files = os.listdir(diret2)
|
|
1868
|
+
n_exclusion = 0
|
|
1869
|
+
|
|
1870
|
+
for i in range(len(files)):
|
|
1871
|
+
#---------------------------------
|
|
1872
|
+
print(f'Progress {i+1}/{len(files)}')
|
|
1873
|
+
#----------------
|
|
1874
|
+
files_delete = []
|
|
1875
|
+
#------------------------------------
|
|
1876
|
+
if os.path.exists(diret2 + files[i]):
|
|
1877
|
+
#---------------------------------------------------------
|
|
1878
|
+
structure1 = Poscar.from_file(diret2 + files[i]).structure
|
|
1879
|
+
#---------------------------------------------------------
|
|
1880
|
+
poscar = open(diret2 + files[i], "r")
|
|
1881
|
+
#--------------------------------
|
|
1882
|
+
VTemp = poscar.readline().split()
|
|
1883
|
+
if (n_Lattice == 2):
|
|
1884
|
+
Angle_AB1 = float(VTemp[27])
|
|
1885
|
+
if (n_Lattice == 3):
|
|
1886
|
+
temp_angle = VTemp[28].replace('_',' ').split()
|
|
1887
|
+
Angle_AB1 = float(temp_angle[0])
|
|
1888
|
+
#----------------------------------------------
|
|
1889
|
+
param = poscar.readline(); param = float(param)
|
|
1890
|
+
VTemp = poscar.readline().split(); Ax = float(VTemp[0])*param; Ay = float(VTemp[1])*param; A = np.array([Ax, Ay]); mA = np.linalg.norm(A)
|
|
1891
|
+
VTemp = poscar.readline().split(); Bx = float(VTemp[0])*param; By = float(VTemp[1])*param; B = np.array([Bx, By]); mB = np.linalg.norm(B)
|
|
1892
|
+
dAB1 = abs(mA - mB)
|
|
1893
|
+
poscar.close()
|
|
1894
|
+
#-------------
|
|
1895
|
+
for j in range(len(files)):
|
|
1896
|
+
if (i != j):
|
|
1897
|
+
#------------------------------------
|
|
1898
|
+
if os.path.exists(diret2 + files[j]):
|
|
1899
|
+
#---------------------------------------------------------
|
|
1900
|
+
structure2 = Poscar.from_file(diret2 + files[j]).structure
|
|
1901
|
+
#----------------------------------------------------------------------------------
|
|
1902
|
+
matcher = StructureMatcher() # Creating a StructureMatcher object
|
|
1903
|
+
if matcher.fit(structure1, structure2): # Checking if the structures are similar
|
|
1904
|
+
#-----------------------------------------------------------------------------------
|
|
1905
|
+
poscar = open(diret2 + files[j], "r")
|
|
1906
|
+
#--------------------------------
|
|
1907
|
+
VTemp = poscar.readline().split()
|
|
1908
|
+
if (n_Lattice == 2):
|
|
1909
|
+
Angle_AB2 = float(VTemp[27])
|
|
1910
|
+
if (n_Lattice == 3):
|
|
1911
|
+
temp_angle = VTemp[28].replace('_',' ').split()
|
|
1912
|
+
Angle_AB2 = float(temp_angle[0])
|
|
1913
|
+
#----------------------------------------------
|
|
1914
|
+
param = poscar.readline(); param = float(param)
|
|
1915
|
+
VTemp = poscar.readline().split(); Ax = float(VTemp[0])*param; Ay = float(VTemp[1])*param; A = np.array([Ax, Ay]); mA = np.linalg.norm(A)
|
|
1916
|
+
VTemp = poscar.readline().split(); Bx = float(VTemp[0])*param; By = float(VTemp[1])*param; B = np.array([Bx, By]); mB = np.linalg.norm(B)
|
|
1917
|
+
dAB2 = abs(mA - mB)
|
|
1918
|
+
poscar.close()
|
|
1919
|
+
#----------------
|
|
1920
|
+
if (dAB1 < dAB2):
|
|
1921
|
+
if os.path.exists(diret2 + + files[j]):
|
|
1934
1922
|
os.remove(diret2 + files[j])
|
|
1935
|
-
n_exclusion += 1
|
|
1936
|
-
|
|
1923
|
+
n_exclusion += 1
|
|
1924
|
+
#----------------
|
|
1925
|
+
if (dAB1 > dAB2):
|
|
1937
1926
|
if os.path.exists(diret2 + files[i]):
|
|
1938
1927
|
os.remove(diret2 + files[i])
|
|
1939
|
-
n_exclusion += 1; cont = 0
|
|
1940
|
-
if (Angle_AB1 == Angle_AB2 and cont == 1):
|
|
1941
|
-
if os.path.exists(diret2 + files[j]):
|
|
1942
|
-
os.remove(diret2 + files[j])
|
|
1943
1928
|
n_exclusion += 1
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
if (
|
|
1954
|
-
|
|
1955
|
-
|
|
1929
|
+
#-----------------
|
|
1930
|
+
if (dAB1 == dAB2):
|
|
1931
|
+
cont = 1
|
|
1932
|
+
#--------------------------------------------------------
|
|
1933
|
+
if ( (Angle_AB1 < 0) and (Angle_AB2 > 0) and cont == 1 ):
|
|
1934
|
+
if os.path.exists(diret2 + files[i]):
|
|
1935
|
+
os.remove(diret2 + files[i])
|
|
1936
|
+
n_exclusion += 1; cont = 0
|
|
1937
|
+
if ( (Angle_AB1 > 0) and (Angle_AB2 < 0) and cont == 1 ):
|
|
1938
|
+
if os.path.exists(diret2 + files[j]):
|
|
1939
|
+
os.remove(diret2 + files[j])
|
|
1940
|
+
n_exclusion += 1; cont = 0
|
|
1941
|
+
if (abs(Angle_AB1) < abs(Angle_AB2) and cont == 1):
|
|
1942
|
+
if os.path.exists(diret2 + files[j]):
|
|
1943
|
+
os.remove(diret2 + files[j])
|
|
1944
|
+
n_exclusion += 1; cont = 0
|
|
1945
|
+
if (abs(Angle_AB1) > abs(Angle_AB2) and cont == 1):
|
|
1946
|
+
if os.path.exists(diret2 + files[i]):
|
|
1947
|
+
os.remove(diret2 + files[i])
|
|
1948
|
+
n_exclusion += 1; cont = 0
|
|
1949
|
+
if (Angle_AB1 == Angle_AB2 and cont == 1):
|
|
1950
|
+
if os.path.exists(diret2 + files[j]):
|
|
1951
|
+
os.remove(diret2 + files[j])
|
|
1952
|
+
n_exclusion += 1
|
|
1953
|
+
#-------------------------
|
|
1954
|
+
files = os.listdir(diret2)
|
|
1955
|
+
n_structures = len(files)
|
|
1956
|
+
#------------------------
|
|
1957
|
+
|
|
1958
|
+
print(f'============================================')
|
|
1959
|
+
print(f'{n_exclusion} cells were filtered/excluded')
|
|
1960
|
+
print(f'--------------------------------------------')
|
|
1961
|
+
if (n_structures == 1): print(f'Only one cell was found')
|
|
1962
|
+
if (n_structures > 1): print(f'{n_structures} cells were found')
|
|
1963
|
+
print(f'============================================')
|
|
1964
|
+
|
|
1965
|
+
if (n_exclusion != 0): n_exclusion_cont = 0
|
|
1966
|
+
if (n_exclusion == 0): n_exclusion_cont += 1
|
|
1967
|
+
if (n_structures == 1): n_exclusion_cont = 2
|
|
1956
1968
|
|
|
1957
1969
|
|
|
1958
1970
|
#=====================================================================
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# SAMBA_ilum Copyright (C) 2025 - Closed source
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
import os
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
try:
|
|
8
|
+
path_dir, name_dir = os.path.split(os.getcwd())
|
|
9
|
+
except Exception as e:
|
|
10
|
+
pass
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
#----------------
|
|
14
|
+
converged = False
|
|
15
|
+
#----------------
|
|
16
|
+
try:
|
|
17
|
+
with open('OUTCAR', 'r') as f:
|
|
18
|
+
for line in f:
|
|
19
|
+
if 'reached' in line:
|
|
20
|
+
converged = True
|
|
21
|
+
break
|
|
22
|
+
except FileNotFoundError:
|
|
23
|
+
pass
|
|
24
|
+
except Exception as e:
|
|
25
|
+
pass
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
if converged:
|
|
29
|
+
try:
|
|
30
|
+
with open('OSZICAR', 'r') as f:
|
|
31
|
+
last_line = f.readlines()[-1].strip()
|
|
32
|
+
energy_value = last_line.replace('=', ' ').split()[4]
|
|
33
|
+
#--------------------------------------------------------
|
|
34
|
+
with open('../energy_scan.txt', "a") as energy_file:
|
|
35
|
+
energy_file.write(f'{name_dir} {energy_value}\n')
|
|
36
|
+
#---------------------------------------------
|
|
37
|
+
temp_name = name_dir.replace('_', ' ').split()
|
|
38
|
+
#---------------------------------------------
|
|
39
|
+
if len(temp_name) == 2:
|
|
40
|
+
t_temp_name_original = temp_name.copy()
|
|
41
|
+
#---------------------------------------------
|
|
42
|
+
if temp_name[0] == '0.0': temp_name[0] = '1.0'
|
|
43
|
+
if temp_name[1] == '0.0': temp_name[1] = '1.0'
|
|
44
|
+
#---------------------------------------------
|
|
45
|
+
if temp_name[0] == '1.0' or temp_name[1] == '1.0':
|
|
46
|
+
new_name_dir = f'{temp_name[0]}_{temp_name[1]}'
|
|
47
|
+
energy_file.write(f'{new_name_dir} {energy_value}\n')
|
|
48
|
+
#------------------------------------------------------------------------
|
|
49
|
+
if t_temp_name_original[0] == '0.0' and t_temp_name_original[1] == '0.0':
|
|
50
|
+
energy_file.write(f'1.0_0.0 {energy_value}\n')
|
|
51
|
+
energy_file.write(f'0.0_1.0 {energy_value}\n')
|
|
52
|
+
except FileNotFoundError:
|
|
53
|
+
pass
|
|
54
|
+
except IndexError:
|
|
55
|
+
pass
|
|
56
|
+
except Exception as e:
|
|
57
|
+
pass
|
|
@@ -130,8 +130,8 @@ job.write(f' $vasp_std || echo "Error in VASP in $dir0/$
|
|
|
130
130
|
job.write(f' sleep 10 \n')
|
|
131
131
|
job.write(f' python3 contcar_update.py \n')
|
|
132
132
|
job.write(f' python3 energy_scan.py \n')
|
|
133
|
-
job.write(f' rm -r CHG CHGCAR DOSCAR PROCAR WAVECAR INCAR KPOINTS
|
|
134
|
-
job.write(f' bzip2 OUTCAR \n')
|
|
133
|
+
job.write(f' rm -r CHG CHGCAR DOSCAR PROCAR WAVECAR INCAR KPOINTS PCDAT POTCAR REPORT XDATCAR vdw_kernel.bindat EIGENVAL IBZKPT vasprun.xml *.py \n')
|
|
134
|
+
job.write(f' bzip2 OUTCAR OSZICAR \n')
|
|
135
135
|
job.write(f' done \n')
|
|
136
136
|
job.write(f' #------------- \n')
|
|
137
137
|
job.write(f' cd $dir0/$i/$j \n')
|
|
@@ -174,8 +174,8 @@ job.write(f' $vasp_std || echo "Error in VASP in
|
|
|
174
174
|
job.write(f' sleep 10 \n')
|
|
175
175
|
job.write(f' python3 contcar_update.py \n')
|
|
176
176
|
job.write(f' python3 energy_scan.py \n')
|
|
177
|
-
job.write(f' rm -r CHG CHGCAR DOSCAR PROCAR WAVECAR INCAR KPOINTS
|
|
178
|
-
job.write(f' bzip2 OUTCAR \n')
|
|
177
|
+
job.write(f' rm -r CHG CHGCAR DOSCAR PROCAR WAVECAR INCAR KPOINTS PCDAT POTCAR REPORT XDATCAR vdw_kernel.bindat EIGENVAL IBZKPT vasprun.xml *.py \n')
|
|
178
|
+
job.write(f' bzip2 OUTCAR OSZICAR \n')
|
|
179
179
|
job.write(f' cd $dir0/$i/$j \n')
|
|
180
180
|
job.write(f' mv $k OK_$k \n')
|
|
181
181
|
job.write(f' fi \n')
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# SAMBA_ilum Copyright (C) 2025 - Closed source
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import os
|
|
5
|
-
|
|
6
|
-
#===================================================
|
|
7
|
-
# Getting the path and name of the current directory:
|
|
8
|
-
path_dir, name_dir = os.path.split(os.getcwd())
|
|
9
|
-
#===============================================
|
|
10
|
-
|
|
11
|
-
if os.path.isfile('../energy_scan.txt'): energy = open('../energy_scan.txt', "a")
|
|
12
|
-
else: energy = open('../energy_scan.txt', "w")
|
|
13
|
-
|
|
14
|
-
with open('OSZICAR') as file:
|
|
15
|
-
lines = file.readlines()
|
|
16
|
-
VTemp = lines[-1].strip()
|
|
17
|
-
|
|
18
|
-
energia = VTemp.replace('=',' ').split()
|
|
19
|
-
|
|
20
|
-
energy.write(f'{name_dir} {energia[4]} \n')
|
|
21
|
-
|
|
22
|
-
temp_name = name_dir.replace('_', ' ').split()
|
|
23
|
-
t_temp_name = temp_name
|
|
24
|
-
#------------------------
|
|
25
|
-
if (len(temp_name) == 2):
|
|
26
|
-
if (temp_name[0] == '0.0'): temp_name[0] = '1.0'
|
|
27
|
-
if (temp_name[1] == '0.0'): temp_name[1] = '1.0'
|
|
28
|
-
if (temp_name[0] == '1.0' or temp_name[1] == '1.0'):
|
|
29
|
-
new_name_dir = str(temp_name[0]) + '_' + str(temp_name[1])
|
|
30
|
-
energy.write(f'{new_name_dir} {energia[4]} \n')
|
|
31
|
-
if (t_temp_name[0] == '1.0' and t_temp_name[1] == '1.0'):
|
|
32
|
-
energy.write(f'1.0_0.0 {energia[4]} \n')
|
|
33
|
-
energy.write(f'0.0_1.0 {energia[4]} \n')
|
|
34
|
-
|
|
35
|
-
energy.close()
|
|
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.540 → samba_ilum-1.0.0.542}/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
|