SAMBA-ilum 1.0.0.394__tar.gz → 1.0.0.396__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.394 → SAMBA_ilum-1.0.0.396}/PKG-INFO +1 -1
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/SAMBA_ilum.egg-info/PKG-INFO +1 -1
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/__main__.py +1 -1
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/SAMBA_HeteroStructure.input +2 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/SAMBA_WorkFlow.input +1 -1
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.bands +2 -2
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.location +2 -2
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.orbitals +2 -2
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.spin +2 -2
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/energy_scan.py +8 -0
- SAMBA_ilum-1.0.0.396/samba_ilum/src/job.py +408 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/xy-scan.py +37 -20
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/xy-scan_analysis.py +3 -3
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/setup.py +1 -1
- SAMBA_ilum-1.0.0.394/samba_ilum/src/job.py +0 -401
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/LICENSE.txt +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/README.md +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/SAMBA_ilum.egg-info/SOURCES.txt +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/SAMBA_ilum.egg-info/dependency_links.txt +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/SAMBA_ilum.egg-info/entry_points.txt +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/SAMBA_ilum.egg-info/requires.txt +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/SAMBA_ilum.egg-info/top_level.txt +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/__init__.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/HeteroStructure_Generator.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_a-scan +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_bader +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_bader.SO +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_bands +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_bands.SO +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_dos +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_dos.SO +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_relax +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_scf +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_scf.SO +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_xy-scan +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_xyz-scan +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_z-scan +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.chgcar +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.dos +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.locpot +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/vdw_kernel.bindat +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/OLD/a-scan.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/OLD/a-scan_analysis.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/OLD/job.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/OLD/z-scan.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/OLD/z-scan_analysis.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/_info_pseudo.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/a-scan.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/a-scan_analysis.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/bader +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/bader_poscar.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/bader_update.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/charge_transfer.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/chgsum.pl +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/contcar_update.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/data-base_json.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/data-base_union.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/kpoints.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/lattice_plot3d.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/make_files.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/output.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/potcar.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/vdW_DF.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/xyz-scan.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/xyz-scan_analysis.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/z-scan.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/z-scan_analysis.py +0 -0
- {SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/setup.cfg +0 -0
{SAMBA_ilum-1.0.0.394 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/SAMBA_HeteroStructure.input
RENAMED
|
@@ -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 = ['
|
|
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 =
|
|
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 = '-
|
|
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 =
|
|
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 = '-
|
|
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 =
|
|
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 = '-
|
|
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 =
|
|
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 = '-
|
|
95
|
+
range_E = '-5.0 5.0'
|
|
96
96
|
|
|
97
97
|
|
|
98
98
|
|
|
@@ -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()
|
|
@@ -0,0 +1,408 @@
|
|
|
1
|
+
# SAMBA_ilum Copyright (C) 2024 - Closed source
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
#------------------------------------------------
|
|
5
|
+
vasp_std_1 = 'mpirun -n ${SLURM_NTASKS} vasp_std'
|
|
6
|
+
vasp_ncl_1 = 'mpirun -n ${SLURM_NTASKS} vasp_ncl'
|
|
7
|
+
vasp_std_2 = 'srun -n ${SLURM_NTASKS} vasp_std'
|
|
8
|
+
vasp_ncl_2 = 'srun -n ${SLURM_NTASKS} vasp_ncl'
|
|
9
|
+
#----------------------------------------------
|
|
10
|
+
folders1 = '${folders1[@]}'
|
|
11
|
+
folders2 = '${folders2[@]}'
|
|
12
|
+
tasks1 = '${ttasks[@]}'
|
|
13
|
+
tasks2 = '${tasks[@]}'
|
|
14
|
+
files = '${files[@]}'
|
|
15
|
+
temp1 = "`echo $j|cut -d '.' -f1`"
|
|
16
|
+
temp2 = "`echo $j|cut -d '.' -f2`"
|
|
17
|
+
temp3 = "`echo $k|cut -d '.' -f1`"
|
|
18
|
+
temp4 = "`echo $k|cut -d '.' -f2`"
|
|
19
|
+
#---------------------------------
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
job = open(dir_out + '/job.sh', "w")
|
|
23
|
+
#===================================
|
|
24
|
+
job.write(f'#!/bin/bash \n')
|
|
25
|
+
job.write(f'#SBATCH --partition=medium \n')
|
|
26
|
+
job.write(f'#SBATCH --job-name=WFlow \n')
|
|
27
|
+
job.write(f'#SBATCH --nodes=1 \n')
|
|
28
|
+
job.write(f'#SBATCH --ntasks-per-node=32 \n')
|
|
29
|
+
job.write(f'#SBATCH --ntasks=32 \n')
|
|
30
|
+
job.write(f'#SBATCH --exclusive \n')
|
|
31
|
+
job.write(f'#SBATCH -o %x.o%j \n')
|
|
32
|
+
job.write(f'#SBATCH -e %x.e%j \n')
|
|
33
|
+
job.write(f' \n')
|
|
34
|
+
job.write(f'#-------- \n')
|
|
35
|
+
job.write(f'dir0=`pwd` \n')
|
|
36
|
+
job.write(f'# dir0="{dir_out}" \n')
|
|
37
|
+
job.write(f'#--------------------- \n')
|
|
38
|
+
job.write(f'source $dir0/./job0.sh \n')
|
|
39
|
+
job.write(f'#--------------------- \n')
|
|
40
|
+
#==========
|
|
41
|
+
job.close()
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
job = open(dir_out + '/job0.sh', "w")
|
|
45
|
+
#====================================
|
|
46
|
+
job.write(f'#!/bin/bash \n')
|
|
47
|
+
job.write(f' \n')
|
|
48
|
+
job.write(f'#------------------------------- \n')
|
|
49
|
+
job.write(f'dir_virtual="{dir_virtual_python}" \n')
|
|
50
|
+
job.write(f'# cp -r $dir_virtual $dir0/python_virtual \n')
|
|
51
|
+
job.write(f'# dir_virtual="$dir0/python_virtual" \n')
|
|
52
|
+
job.write(f'source $dir_virtual/bin/activate \n')
|
|
53
|
+
job.write(f'#------------------------------- \n')
|
|
54
|
+
job.write(f' \n')
|
|
55
|
+
job.write(f'cd $SLURM_SUBMIT_DIR \n')
|
|
56
|
+
job.write(f'ulimit -s unlimited \n')
|
|
57
|
+
job.write(f' \n')
|
|
58
|
+
job.write(f'module load vasp/6.2.0-intel-2021.2.0 \n')
|
|
59
|
+
job.write(f'vasp_std="{vasp_std_1}" \n')
|
|
60
|
+
job.write(f'vasp_ncl="{vasp_ncl_1}" \n')
|
|
61
|
+
job.write(f'#------------------------ \n')
|
|
62
|
+
job.write(f'# module load vasp-6.2.0-gcc-9.3.0-epqgvat \n')
|
|
63
|
+
job.write(f'# vasp_std="{vasp_std_2}" \n')
|
|
64
|
+
job.write(f'# vasp_ncl="{vasp_ncl_2}" \n')
|
|
65
|
+
job.write(f' \n')
|
|
66
|
+
job.write(f'ttasks=( "xyz-scan" "xy-scan" "z-scan" "a-scan" "relax" "scf" "bands" "dos" "bader" "scf.SO" "bands.SO" "dos.SO" "bader.SO" ) \n')
|
|
67
|
+
job.write(f' \n')
|
|
68
|
+
job.write(f'#------------------------ \n')
|
|
69
|
+
job.write(f'if [ ! -d "$dir0/completed" ]; then \n')
|
|
70
|
+
job.write(f' mkdir "$dir0/completed" \n')
|
|
71
|
+
job.write(f'fi \n')
|
|
72
|
+
job.write(f'#------------------------ \n')
|
|
73
|
+
job.write(f'while true; do \n')
|
|
74
|
+
job.write(f' other_dirs=$(find "$DIR" -mindepth 1 -maxdepth 1 -type d ! -name "completed") \n')
|
|
75
|
+
job.write(f' #---------------------------- \n')
|
|
76
|
+
job.write(f' if [ -z "$other_dirs" ]; then \n')
|
|
77
|
+
job.write(f' deactivate \n')
|
|
78
|
+
job.write(f' if [ -d "$dir0/python_virtual" ]; then \n')
|
|
79
|
+
job.write(f' rm -r $dir0/python_virtual \n')
|
|
80
|
+
job.write(f' fi \n')
|
|
81
|
+
job.write(f' break \n')
|
|
82
|
+
job.write(f' else \n')
|
|
83
|
+
job.write(f' #---------- \n')
|
|
84
|
+
job.write(f' folders1=() \n')
|
|
85
|
+
job.write(f' for folder in "$dir0"/*; do \n')
|
|
86
|
+
job.write(f' if [ -d "$folder" ] && [ "$(basename "$folder")" != "completed" ] && [ "$(basename "$folder")" != "python_virtual" ]; then \n')
|
|
87
|
+
job.write(f' folders1+=("$(basename "$folder")") \n')
|
|
88
|
+
job.write(f' fi \n')
|
|
89
|
+
job.write(f' done \n')
|
|
90
|
+
job.write(f' #------------------------ \n')
|
|
91
|
+
job.write(f' for i in "{folders1}"; do \n')
|
|
92
|
+
job.write(f' cd $dir0/$i \n')
|
|
93
|
+
job.write(f' mkdir output \n')
|
|
94
|
+
job.write(f' #----------- \n')
|
|
95
|
+
job.write(f' tasks=() \n')
|
|
96
|
+
job.write(f' for j in "{tasks1}"; do \n')
|
|
97
|
+
job.write(f' if [ -d "$dir0/$i/$j" ]; then \n')
|
|
98
|
+
job.write(f' tasks+=("$j") \n')
|
|
99
|
+
job.write(f' fi \n')
|
|
100
|
+
job.write(f' done \n')
|
|
101
|
+
job.write(f' #--------------------- \n')
|
|
102
|
+
job.write(f' for j in "{tasks2}"; do \n')
|
|
103
|
+
job.write(f' if [ -d "$dir0/$i/$j" ]; then \n')
|
|
104
|
+
job.write(f' string1={temp1} \n')
|
|
105
|
+
job.write(f' string2={temp2} \n')
|
|
106
|
+
job.write(f' cd $dir0/$i/$j \n')
|
|
107
|
+
job.write(f' echo "$dir0/$i/$j" >> "$dir0/check_list.txt" \n')
|
|
108
|
+
job.write(f' #===================================================== \n')
|
|
109
|
+
job.write(f' if [[ "$j" == "xyz-scan" || "$j" == "xy-scan" ]]; then \n')
|
|
110
|
+
job.write(f' cd $dir0/$i/$j \n')
|
|
111
|
+
job.write(f' python3 contcar_update.py \n')
|
|
112
|
+
job.write(f' cp POSCAR POSCAR.0 \n')
|
|
113
|
+
job.write(f' cp CONTCAR CONTCAR.0 \n')
|
|
114
|
+
job.write(" python3 ${j}.py \n")
|
|
115
|
+
job.write(f' #--------------- \n')
|
|
116
|
+
job.write(f' folders2=() \n')
|
|
117
|
+
job.write(f' for folder in $dir0/$i/$j/*; do \n')
|
|
118
|
+
job.write(f' if [ -d "$folder" ]; then \n')
|
|
119
|
+
job.write(f' folders2+=("$(basename "$folder")") \n')
|
|
120
|
+
job.write(f' fi \n')
|
|
121
|
+
job.write(f' done \n')
|
|
122
|
+
job.write(f' #------------------------ \n')
|
|
123
|
+
job.write(f' for k in "{folders2}"; do \n')
|
|
124
|
+
job.write(f' cd $dir0/$i/$j/$k \n')
|
|
125
|
+
job.write(f' $vasp_std \n')
|
|
126
|
+
job.write(f' rm -r CHG CHGCAR DOSCAR PROCAR WAVECAR EIGENVAL IBZKPT vasprun.xml \n')
|
|
127
|
+
job.write(f' python3 contcar_update.py \n')
|
|
128
|
+
job.write(f' python3 energy_scan.py \n')
|
|
129
|
+
job.write(f' bzip2 OUTCAR \n')
|
|
130
|
+
job.write(f' done \n')
|
|
131
|
+
job.write(f' #------------- \n')
|
|
132
|
+
job.write(f' cd $dir0/$i/$j \n')
|
|
133
|
+
job.write(" python3 ${j}_analysis.py \n")
|
|
134
|
+
job.write(" rm -r 0* 1* 2* 3* 4* 5* 6* 7* 8* 9* \n")
|
|
135
|
+
job.write(f' #----------------------- \n')
|
|
136
|
+
job.write(f' for k in "{tasks2}"; do \n')
|
|
137
|
+
job.write(f' #----------------------------------------------------- \n')
|
|
138
|
+
job.write(f' if [[ "$j" == "xyz-scan" || "$j" == "xy-scan" ]]; then \n')
|
|
139
|
+
job.write(f' if [[ ! -e "$dir0/$i/$k/POSCAR.0" || ! -e "$dir0/$i/$k/CONTCAR.0" ]]; then \n')
|
|
140
|
+
job.write(f' cp $dir0/$i/$j/POSCAR $dir0/$i/$k/POSCAR \n')
|
|
141
|
+
job.write(f' cp $dir0/$i/$j/CONTCAR $dir0/$i/$k/CONTCAR \n')
|
|
142
|
+
job.write(f' fi \n')
|
|
143
|
+
job.write(f' fi \n')
|
|
144
|
+
job.write(f' done \n')
|
|
145
|
+
job.write(f' cp $dir0/$i/$j/CONTCAR $dir0/$i/output/CONTCAR \n')
|
|
146
|
+
job.write(f' cp $dir0/$i/$j/POSCAR $dir0/$i/output/POSCAR \n')
|
|
147
|
+
job.write(f' #==================================================== \n')
|
|
148
|
+
job.write(f' elif [[ "$j" == "z-scan" || "$j" == "a-scan" ]]; then \n')
|
|
149
|
+
job.write(f' cd $dir0/$i/$j \n')
|
|
150
|
+
job.write(f' python3 contcar_update.py \n')
|
|
151
|
+
job.write(f' cp POSCAR POSCAR.0 \n')
|
|
152
|
+
job.write(f' cp CONTCAR CONTCAR.0 \n')
|
|
153
|
+
job.write(" for p in {1..8}; do \n")
|
|
154
|
+
job.write(f' echo "$p" > "$dir0/$i/$j/check_steps.txt" \n')
|
|
155
|
+
job.write(" python3 ${j}.py \n")
|
|
156
|
+
job.write(f' #--------------- \n')
|
|
157
|
+
job.write(f' folders2=() \n')
|
|
158
|
+
job.write(f' for folder in $dir0/$i/$j/*; do \n')
|
|
159
|
+
job.write(f' if [ -d "$folder" ]; then \n')
|
|
160
|
+
job.write(f' folders2+=("$(basename "$folder")") \n')
|
|
161
|
+
job.write(f' fi \n')
|
|
162
|
+
job.write(f' done \n')
|
|
163
|
+
job.write(f' #------------------------ \n')
|
|
164
|
+
job.write(f' for k in "{folders2}"; do \n')
|
|
165
|
+
job.write(" prefixo=${k:0:3} \n")
|
|
166
|
+
job.write(f' if [ "$prefixo" != "OK_" ]; then \n')
|
|
167
|
+
job.write(f' cd $dir0/$i/$j/$k \n')
|
|
168
|
+
job.write(f' $vasp_std \n')
|
|
169
|
+
job.write(f' rm -r CHG CHGCAR DOSCAR PROCAR WAVECAR EIGENVAL IBZKPT vasprun.xml \n')
|
|
170
|
+
job.write(f' python3 contcar_update.py \n')
|
|
171
|
+
job.write(f' python3 energy_scan.py \n')
|
|
172
|
+
job.write(f' bzip2 OUTCAR \n')
|
|
173
|
+
job.write(f' cd $dir0/$i/$j \n')
|
|
174
|
+
job.write(f' mv $k OK_$k \n')
|
|
175
|
+
job.write(f' fi \n')
|
|
176
|
+
job.write(f' done \n')
|
|
177
|
+
job.write(f' done \n')
|
|
178
|
+
job.write(f' #------------- \n')
|
|
179
|
+
job.write(f' cd $dir0/$i/$j \n')
|
|
180
|
+
job.write(f' folders2=() \n')
|
|
181
|
+
job.write(f' for folder in $dir0/$i/$j/*; do \n')
|
|
182
|
+
job.write(f' if [ -d "$folder" ]; then \n')
|
|
183
|
+
job.write(f' folders2+=("$(basename "$folder")") \n')
|
|
184
|
+
job.write(f' fi \n')
|
|
185
|
+
job.write(f' done \n')
|
|
186
|
+
job.write(f' for k in "{folders2}"; do \n')
|
|
187
|
+
job.write(" new_name=${k:3} \n")
|
|
188
|
+
job.write(f' mv "$k" "$new_name" \n')
|
|
189
|
+
job.write(f' done \n')
|
|
190
|
+
job.write(" python3 ${j}_analysis.py \n")
|
|
191
|
+
job.write(" rm -r 0* 1* 2* 3* 4* 5* 6* 7* 8* 9* \n")
|
|
192
|
+
job.write(f' #----------------------- \n')
|
|
193
|
+
job.write(f' for k in "{tasks2}"; do \n')
|
|
194
|
+
job.write(f' #-------------------------------------------------- \n')
|
|
195
|
+
job.write(f' if [[ "$j" == "z-scan" || "$j" == "a-scan" ]]; then \n')
|
|
196
|
+
job.write(f' if [[ ! -e "$dir0/$i/$k/POSCAR.0" || ! -e "$dir0/$i/$k/CONTCAR.0" ]]; then \n')
|
|
197
|
+
job.write(f' cp $dir0/$i/$j/POSCAR $dir0/$i/$k/POSCAR \n')
|
|
198
|
+
job.write(f' cp $dir0/$i/$j/CONTCAR $dir0/$i/$k/CONTCAR \n')
|
|
199
|
+
job.write(f' fi \n')
|
|
200
|
+
job.write(f' fi \n')
|
|
201
|
+
job.write(f' done \n')
|
|
202
|
+
job.write(f' cp $dir0/$i/$j/CONTCAR $dir0/$i/output/CONTCAR \n')
|
|
203
|
+
job.write(f' cp $dir0/$i/$j/POSCAR $dir0/$i/output/POSCAR \n')
|
|
204
|
+
job.write(f' #============================= \n')
|
|
205
|
+
job.write(f' elif [ "$j" == "relax" ]; then \n')
|
|
206
|
+
job.write(f' cp POSCAR POSCAR.0 \n')
|
|
207
|
+
job.write(f' cp CONTCAR CONTCAR.0 \n')
|
|
208
|
+
job.write(f' mv INCAR INCAR_relax \n')
|
|
209
|
+
job.write(f' #------------------- \n')
|
|
210
|
+
job.write(f' mv INCAR_relax_frozen INCAR \n')
|
|
211
|
+
job.write(f' $vasp_std \n')
|
|
212
|
+
job.write(f' mv OSZICAR OSZICAR_frozen \n')
|
|
213
|
+
job.write(f' rm -r CHG CHGCAR DOSCAR PROCAR WAVECAR EIGENVAL IBZKPT vasprun.xml \n')
|
|
214
|
+
job.write(f' mv INCAR INCAR_relax_frozen \n')
|
|
215
|
+
job.write(f' mv OUTCAR OUTCAR_frozen \n')
|
|
216
|
+
job.write(f' #---------------------- \n')
|
|
217
|
+
job.write(f' mv INCAR_relax INCAR \n')
|
|
218
|
+
job.write(f' $vasp_std \n')
|
|
219
|
+
job.write(f' rm -r CHG CHGCAR DOSCAR PROCAR WAVECAR EIGENVAL IBZKPT vasprun.xml \n')
|
|
220
|
+
job.write(f' python3 contcar_update.py \n')
|
|
221
|
+
job.write(f' #------------------------ \n')
|
|
222
|
+
job.write(f' for k in "{tasks2}"; do \n')
|
|
223
|
+
job.write(f' #-------------------------------------------------- \n')
|
|
224
|
+
job.write(f' if [ "$j" == "relax" ]; then \n')
|
|
225
|
+
job.write(f' if [[ ! -e "$dir0/$i/$k/POSCAR.0" || ! -e "$dir0/$i/$k/CONTCAR.0" ]]; then \n')
|
|
226
|
+
job.write(f' cp $dir0/$i/$j/POSCAR $dir0/$i/$k/POSCAR \n')
|
|
227
|
+
job.write(f' cp $dir0/$i/$j/CONTCAR $dir0/$i/$k/CONTCAR \n')
|
|
228
|
+
job.write(f' fi \n')
|
|
229
|
+
job.write(f' fi \n')
|
|
230
|
+
job.write(f' done \n')
|
|
231
|
+
job.write(f' bzip2 OUTCAR \n')
|
|
232
|
+
job.write(f' cp $dir0/$i/$j/CONTCAR $dir0/$i/output/CONTCAR \n')
|
|
233
|
+
job.write(f' cp $dir0/$i/$j/CONTCAR $dir0/$i/output/POSCAR \n')
|
|
234
|
+
job.write(f' #================================= \n')
|
|
235
|
+
job.write(f' elif [ "$string1" == "scf" ]; then \n')
|
|
236
|
+
job.write(f' if [ "$string2" != "SO" ]; then \n')
|
|
237
|
+
job.write(f' $vasp_std \n')
|
|
238
|
+
job.write(f' for k in "{tasks2}"; do \n')
|
|
239
|
+
job.write(f' if [[ "$k" == "bands" || "$k" == "dos" ]]; then \n')
|
|
240
|
+
job.write(f' cp $dir0/$i/$j/CHGCAR $dir0/$i/$k/CHGCAR \n')
|
|
241
|
+
job.write(f' fi \n')
|
|
242
|
+
job.write(f' done \n')
|
|
243
|
+
job.write(f' elif [ "$string2" == "SO" ]; then \n')
|
|
244
|
+
job.write(f' $vasp_ncl \n')
|
|
245
|
+
job.write(f' for k in "{tasks2}"; do \n')
|
|
246
|
+
job.write(f' if [[ "$k" == "bands.SO" || "$k" == "dos.SO" ]]; then \n')
|
|
247
|
+
job.write(f' cp $dir0/$i/$j/CHGCAR $dir0/$i/$k/CHGCAR \n')
|
|
248
|
+
job.write(f' fi \n')
|
|
249
|
+
job.write(f' done \n')
|
|
250
|
+
job.write(f' fi \n')
|
|
251
|
+
job.write(f' #------------------- \n')
|
|
252
|
+
job.write(f' python3 -m vasprocar \n')
|
|
253
|
+
job.write(f' #------------------- \n')
|
|
254
|
+
job.write(f' # rm -r CHG DOSCAR WAVECAR EIGENVAL IBZKPT OSZICAR PCDAT XDATCAR vasprun.xml \n')
|
|
255
|
+
job.write(f' # bzip2 CHGCAR OUTCAR PROCAR LOCPOT \n')
|
|
256
|
+
job.write(f' rm -r CHG DOSCAR WAVECAR \n')
|
|
257
|
+
job.write(f' bzip2 CHGCAR OUTCAR PROCAR LOCPOT EIGENVAL IBZKPT OSZICAR PCDAT XDATCAR vasprun.xml \n')
|
|
258
|
+
job.write(f' python3 contcar_update.py \n')
|
|
259
|
+
job.write(f' #----------------------------------------------- \n')
|
|
260
|
+
job.write(f' cp $dir0/$i/$j/CONTCAR $dir0/$i/output/CONTCAR \n')
|
|
261
|
+
job.write(f' cp $dir0/$i/$j/POSCAR $dir0/$i/output/POSCAR \n')
|
|
262
|
+
job.write(f' #------------------------------ \n')
|
|
263
|
+
job.write(f' if [ "$string2" != "SO" ]; then \n')
|
|
264
|
+
job.write(f' cp $dir0/$i/$j/output/informacoes.txt $dir0/$i/output/info_scf.txt \n')
|
|
265
|
+
job.write(f' elif [ "$string2" == "SO" ]; then \n')
|
|
266
|
+
job.write(f' cp $dir0/$i/$j/output/informacoes.txt $dir0/$i/output/info_scf_SO.txt \n')
|
|
267
|
+
job.write(f' fi \n')
|
|
268
|
+
job.write(f' #=================================== \n')
|
|
269
|
+
job.write(f' elif [ "$string1" == "bands" ]; then \n')
|
|
270
|
+
job.write(f' #-------------------------------- \n')
|
|
271
|
+
job.write(f' files=() \n')
|
|
272
|
+
job.write(f' for file in $dir0/$i/$j/*; do \n')
|
|
273
|
+
job.write(f' if [ -f "$file" ]; then \n')
|
|
274
|
+
job.write(f' files+=("$(basename "$file")") \n')
|
|
275
|
+
job.write(f' fi \n')
|
|
276
|
+
job.write(f' done \n')
|
|
277
|
+
job.write(f' #--------------------- \n')
|
|
278
|
+
job.write(f' for k in "{files}"; do \n')
|
|
279
|
+
job.write(f' string3={temp3} \n')
|
|
280
|
+
job.write(f' string4={temp4} \n')
|
|
281
|
+
job.write(f' #----------------------------------- \n')
|
|
282
|
+
job.write(f' if [ "$string3" == "KPOINTS" ]; then \n')
|
|
283
|
+
job.write(f' #----------------------------------- \n')
|
|
284
|
+
job.write(f' if [ "$string4" != "KPOINTS" ]; then \n')
|
|
285
|
+
job.write(f' mv KPOINTS.$string4 KPOINTS \n')
|
|
286
|
+
job.write(f' fi \n')
|
|
287
|
+
job.write(f' #------------------------------ \n')
|
|
288
|
+
job.write(f' if [ "$string2" != "SO" ]; then \n')
|
|
289
|
+
job.write(f' $vasp_std \n')
|
|
290
|
+
job.write(f' elif [ "$string2" == "SO" ]; then \n')
|
|
291
|
+
job.write(f' $vasp_ncl \n')
|
|
292
|
+
job.write(f' fi \n')
|
|
293
|
+
job.write(f' #----------------------------------- \n')
|
|
294
|
+
job.write(f' # rm -r CHG DOSCAR WAVECAR EIGENVAL IBZKPT OSZICAR PCDAT XDATCAR vasprun.xml \n')
|
|
295
|
+
job.write(f' rm -r CHG DOSCAR WAVECAR \n')
|
|
296
|
+
job.write(f' python3 contcar_update.py \n')
|
|
297
|
+
job.write(f' #----------------------------------- \n')
|
|
298
|
+
job.write(f' if [ "$string4" != "KPOINTS" ]; then \n')
|
|
299
|
+
job.write(f' cp OUTCAR OUTCAR.$string4 \n')
|
|
300
|
+
job.write(f' mv PROCAR PROCAR.$string4 \n')
|
|
301
|
+
job.write(f' mv KPOINTS KPOINTS.$string4 \n')
|
|
302
|
+
job.write(f' fi \n')
|
|
303
|
+
job.write(f' fi \n')
|
|
304
|
+
job.write(f' done \n')
|
|
305
|
+
job.write(f' #------------------- \n')
|
|
306
|
+
job.write(f' python3 -m vasprocar \n')
|
|
307
|
+
job.write(f' #------------------- \n')
|
|
308
|
+
job.write(f' # bzip2 CHGCAR OUTCAR* PROCAR* LOCPOT \n')
|
|
309
|
+
job.write(f' bzip2 CHGCAR OUTCAR* PROCAR* LOCPOT EIGENVAL IBZKPT OSZICAR PCDAT XDATCAR vasprun.xml \n')
|
|
310
|
+
job.write(f' #---------------------------------- \n')
|
|
311
|
+
job.write(f' cp $dir0/$i/$j/CONTCAR $dir0/$i/output/CONTCAR \n')
|
|
312
|
+
job.write(f' cp $dir0/$i/$j/POSCAR $dir0/$i/output/POSCAR \n')
|
|
313
|
+
job.write(f' #------------------------------ \n')
|
|
314
|
+
job.write(f' if [ "$string2" != "SO" ]; then \n')
|
|
315
|
+
job.write(f' cp $dir0/$i/$j/output/informacoes.txt $dir0/$i/output/info_bands.txt \n')
|
|
316
|
+
job.write(f' elif [ "$string2" == "SO" ]; then \n')
|
|
317
|
+
job.write(f' cp $dir0/$i/$j/output/informacoes.txt $dir0/$i/output/info_bands_SO.txt \n')
|
|
318
|
+
job.write(f' fi \n')
|
|
319
|
+
job.write(f' #================================= \n')
|
|
320
|
+
job.write(f' elif [ "$string1" == "dos" ]; then \n')
|
|
321
|
+
job.write(f' if [ "$string2" != "SO" ]; then \n')
|
|
322
|
+
job.write(f' $vasp_std \n')
|
|
323
|
+
job.write(f' elif [ "$string2" == "SO" ]; then \n')
|
|
324
|
+
job.write(f' $vasp_ncl \n')
|
|
325
|
+
job.write(f' fi \n')
|
|
326
|
+
job.write(f' python3 -m vasprocar \n')
|
|
327
|
+
job.write(f' # rm -r CHG WAVECAR EIGENVAL IBZKPT OSZICAR PCDAT XDATCAR vasprun.xml \n')
|
|
328
|
+
job.write(f' # bzip2 CHGCAR OUTCAR DOSCAR PROCAR \n')
|
|
329
|
+
job.write(f' rm -r CHG WAVECAR \n')
|
|
330
|
+
job.write(f' bzip2 CHGCAR OUTCAR DOSCAR PROCAR EIGENVAL IBZKPT OSZICAR PCDAT XDATCAR vasprun.xml \n')
|
|
331
|
+
job.write(f' python3 contcar_update.py \n')
|
|
332
|
+
job.write(f' cp $dir0/$i/$j/CONTCAR $dir0/$i/output/CONTCAR \n')
|
|
333
|
+
job.write(f' cp $dir0/$i/$j/POSCAR $dir0/$i/output/POSCAR \n')
|
|
334
|
+
job.write(f' #=================================== \n')
|
|
335
|
+
job.write(f' elif [ "$string1" == "bader" ]; then \n')
|
|
336
|
+
job.write(f' python3 bader_update.py \n')
|
|
337
|
+
job.write(f' #---------------------- \n')
|
|
338
|
+
job.write(f' folders2=() \n')
|
|
339
|
+
job.write(f' for folder in $dir0/$i/$j/*; do \n')
|
|
340
|
+
job.write(f' if [ -d "$folder" ]; then \n')
|
|
341
|
+
job.write(f' folders2+=("$(basename "$folder")") \n')
|
|
342
|
+
job.write(f' fi \n')
|
|
343
|
+
job.write(f' done \n')
|
|
344
|
+
job.write(f' #------------------------ \n')
|
|
345
|
+
job.write(f' for k in "{folders2}"; do \n')
|
|
346
|
+
job.write(f' if [ "$k" != "Charge_transfer" ]; then \n')
|
|
347
|
+
job.write(f' cd $dir0/$i/$j/$k \n')
|
|
348
|
+
job.write(f' if [ "$string2" != "SO" ]; then \n')
|
|
349
|
+
job.write(f' $vasp_std \n')
|
|
350
|
+
job.write(f' elif [ "$string2" == "SO" ]; then \n')
|
|
351
|
+
job.write(f' $vasp_ncl \n')
|
|
352
|
+
job.write(f' fi \n')
|
|
353
|
+
job.write(f' python3 -m vasprocar \n')
|
|
354
|
+
job.write(f' #------------------- \n')
|
|
355
|
+
job.write(f' cp -r $dir0/$i/$j/$k/output/Potencial $dir0/$i/$j/Charge_transfer/Potencial_$k \n')
|
|
356
|
+
job.write(f' rm -r output \n')
|
|
357
|
+
job.write(f' #------------------ \n')
|
|
358
|
+
job.write(f' chmod 777 chgsum.pl \n')
|
|
359
|
+
job.write(f' ./chgsum.pl AECCAR0 AECCAR2 \n')
|
|
360
|
+
job.write(f' chmod 777 bader \n')
|
|
361
|
+
job.write(f' # ./bader -vac off CHGCAR -ref CHGCAR_sum \n')
|
|
362
|
+
job.write(f' ./bader CHGCAR \n')
|
|
363
|
+
job.write(f' #------------- \n')
|
|
364
|
+
job.write(f' cp $dir0/$i/$j/$k/CHGCAR $dir0/$i/$j/Charge_transfer/CHGCAR_$k \n')
|
|
365
|
+
job.write(f' # rm -r CHG DOSCAR WAVECAR EIGENVAL IBZKPT OSZICAR PCDAT XDATCAR vasprun.xml \n')
|
|
366
|
+
job.write(f' # bzip2 AECCAR* CHGCAR* OUTCAR PROCAR LOCPOT \n')
|
|
367
|
+
job.write(f' rm -r CHG DOSCAR WAVECAR \n')
|
|
368
|
+
job.write(f' bzip2 AECCAR* CHGCAR* OUTCAR PROCAR LOCPOT EIGENVAL IBZKPT OSZICAR PCDAT XDATCAR vasprun.xml \n')
|
|
369
|
+
job.write(f' fi \n')
|
|
370
|
+
job.write(f' done \n')
|
|
371
|
+
job.write(f' #------------- \n')
|
|
372
|
+
job.write(f' cd $dir0/$i/$j \n')
|
|
373
|
+
job.write(f' python3 charge_transfer.py \n')
|
|
374
|
+
job.write(f' #----------------------------- \n')
|
|
375
|
+
job.write(f' cd $dir0/$i/$j/Charge_transfer \n')
|
|
376
|
+
job.write(f' python3 -m vasprocar \n')
|
|
377
|
+
job.write(f' cp -r $dir0/$i/$j/Charge_transfer/output/Charge $dir0/$i/$j/Charge_transfer/Charge_transfer_plot2D \n')
|
|
378
|
+
job.write(f' mv CHGCAR_Charge_Transfer.vasp CHGCAR_Charge_Transfer \n')
|
|
379
|
+
job.write(f' # rm -r output CHGCAR_H* CHGCAR_m* \n')
|
|
380
|
+
job.write(f' # bzip2 CHGCAR_Charge_Transfer \n')
|
|
381
|
+
job.write(f' rm -r output \n')
|
|
382
|
+
job.write(f' bzip2 CHGCAR_Charge_Transfer CHGCAR_H* CHGCAR_m* \n')
|
|
383
|
+
job.write(f' #----------------------------------------------- \n')
|
|
384
|
+
job.write(f' cd $dir0/$i/$j \n')
|
|
385
|
+
job.write(f' rm -r POSCAR \n')
|
|
386
|
+
job.write(f' #============== \n')
|
|
387
|
+
job.write(f' fi \n')
|
|
388
|
+
# job.write(f' else \n')
|
|
389
|
+
# job.write(f' echo "$dir0/$i/$j: directory missing" >> "$dir0/check_list.txt" \n')
|
|
390
|
+
job.write(f' fi \n')
|
|
391
|
+
job.write(f' done \n')
|
|
392
|
+
job.write(f' cd $dir0/$i \n')
|
|
393
|
+
job.write(f' python3 output.py \n')
|
|
394
|
+
job.write(f' python3 lattice_plot3d.py \n')
|
|
395
|
+
job.write(f' #------------------------ \n')
|
|
396
|
+
job.write(f' cp -r $dir0/$i/output/POSCAR $dir0/$i/output/POSCAR.info \n')
|
|
397
|
+
job.write(f' python3 data-base_json.py \n')
|
|
398
|
+
job.write(f' #------------------------ \n')
|
|
399
|
+
job.write(f' if [ -d "$dir0/completed" ]; then \n')
|
|
400
|
+
job.write(f' mv $dir0/$i $dir0/completed/$i \n')
|
|
401
|
+
job.write(f' fi \n')
|
|
402
|
+
job.write(f' #------------------------ \n')
|
|
403
|
+
job.write(f' done \n')
|
|
404
|
+
job.write(f' fi \n')
|
|
405
|
+
job.write(f' sleep 5 \n')
|
|
406
|
+
job.write(f'done \n')
|
|
407
|
+
#====================
|
|
408
|
+
job.close()
|