SAMBA-ilum 1.0.0.395__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.395 → SAMBA_ilum-1.0.0.396}/PKG-INFO +1 -1
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/SAMBA_ilum.egg-info/PKG-INFO +1 -1
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/__main__.py +1 -1
- SAMBA_ilum-1.0.0.396/samba_ilum/src/job.py +408 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/setup.py +1 -1
- SAMBA_ilum-1.0.0.395/samba_ilum/src/job.py +0 -401
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/LICENSE.txt +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/README.md +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/SAMBA_ilum.egg-info/SOURCES.txt +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/SAMBA_ilum.egg-info/dependency_links.txt +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/SAMBA_ilum.egg-info/entry_points.txt +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/SAMBA_ilum.egg-info/requires.txt +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/SAMBA_ilum.egg-info/top_level.txt +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/__init__.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/HeteroStructure_Generator.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_a-scan +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_bader +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_bader.SO +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_bands +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_bands.SO +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_dos +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_dos.SO +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_relax +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_scf +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_scf.SO +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_xy-scan +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_xyz-scan +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_z-scan +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/SAMBA_HeteroStructure.input +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/SAMBA_WorkFlow.input +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.bands +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.chgcar +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.dos +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.location +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.locpot +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.orbitals +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.spin +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/vdw_kernel.bindat +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/OLD/a-scan.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/OLD/a-scan_analysis.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/OLD/job.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/OLD/z-scan.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/OLD/z-scan_analysis.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/_info_pseudo.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/a-scan.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/a-scan_analysis.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/bader +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/bader_poscar.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/bader_update.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/charge_transfer.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/chgsum.pl +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/contcar_update.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/data-base_json.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/data-base_union.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/energy_scan.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/kpoints.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/lattice_plot3d.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/make_files.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/output.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/potcar.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/vdW_DF.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/xy-scan.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/xy-scan_analysis.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/xyz-scan.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/xyz-scan_analysis.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/z-scan.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/z-scan_analysis.py +0 -0
- {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/setup.cfg +0 -0
|
@@ -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()
|
|
@@ -1,401 +0,0 @@
|
|
|
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'folders1=() \n')
|
|
74
|
-
job.write(f'for folder in "$dir0"/*; do \n')
|
|
75
|
-
job.write(f' if [ -d "$folder" ] && [ "$(basename "$folder")" != "completed" ] && [ "$(basename "$folder")" != "python_virtual" ]; then \n')
|
|
76
|
-
job.write(f' folders1+=("$(basename "$folder")") \n')
|
|
77
|
-
job.write(f' fi \n')
|
|
78
|
-
job.write(f'done \n')
|
|
79
|
-
job.write(f'#------------------------ \n')
|
|
80
|
-
job.write(f'for i in "{folders1}"; do \n')
|
|
81
|
-
job.write(f' cd $dir0/$i \n')
|
|
82
|
-
job.write(f' mkdir output \n')
|
|
83
|
-
job.write(f' #----------- \n')
|
|
84
|
-
job.write(f' tasks=() \n')
|
|
85
|
-
job.write(f' for j in "{tasks1}"; do \n')
|
|
86
|
-
job.write(f' if [ -d "$dir0/$i/$j" ]; then \n')
|
|
87
|
-
job.write(f' tasks+=("$j") \n')
|
|
88
|
-
job.write(f' fi \n')
|
|
89
|
-
job.write(f' done \n')
|
|
90
|
-
job.write(f' #--------------------- \n')
|
|
91
|
-
job.write(f' for j in "{tasks2}"; do \n')
|
|
92
|
-
job.write(f' if [ -d "$dir0/$i/$j" ]; then \n')
|
|
93
|
-
job.write(f' string1={temp1} \n')
|
|
94
|
-
job.write(f' string2={temp2} \n')
|
|
95
|
-
job.write(f' cd $dir0/$i/$j \n')
|
|
96
|
-
job.write(f' echo "$dir0/$i/$j" >> "$dir0/check_list.txt" \n')
|
|
97
|
-
job.write(f' #===================================================== \n')
|
|
98
|
-
job.write(f' if [[ "$j" == "xyz-scan" || "$j" == "xy-scan" ]]; then \n')
|
|
99
|
-
job.write(f' cd $dir0/$i/$j \n')
|
|
100
|
-
job.write(f' python3 contcar_update.py \n')
|
|
101
|
-
job.write(f' cp POSCAR POSCAR.0 \n')
|
|
102
|
-
job.write(f' cp CONTCAR CONTCAR.0 \n')
|
|
103
|
-
job.write(" python3 ${j}.py \n")
|
|
104
|
-
job.write(f' #--------------- \n')
|
|
105
|
-
job.write(f' folders2=() \n')
|
|
106
|
-
job.write(f' for folder in $dir0/$i/$j/*; do \n')
|
|
107
|
-
job.write(f' if [ -d "$folder" ]; then \n')
|
|
108
|
-
job.write(f' folders2+=("$(basename "$folder")") \n')
|
|
109
|
-
job.write(f' fi \n')
|
|
110
|
-
job.write(f' done \n')
|
|
111
|
-
job.write(f' #------------------------ \n')
|
|
112
|
-
job.write(f' for k in "{folders2}"; do \n')
|
|
113
|
-
job.write(f' cd $dir0/$i/$j/$k \n')
|
|
114
|
-
job.write(f' $vasp_std \n')
|
|
115
|
-
job.write(f' rm -r CHG CHGCAR DOSCAR PROCAR WAVECAR EIGENVAL IBZKPT vasprun.xml \n')
|
|
116
|
-
job.write(f' python3 contcar_update.py \n')
|
|
117
|
-
job.write(f' python3 energy_scan.py \n')
|
|
118
|
-
job.write(f' bzip2 OUTCAR \n')
|
|
119
|
-
job.write(f' done \n')
|
|
120
|
-
job.write(f' #------------- \n')
|
|
121
|
-
job.write(f' cd $dir0/$i/$j \n')
|
|
122
|
-
job.write(" python3 ${j}_analysis.py \n")
|
|
123
|
-
job.write(" rm -r 0* 1* 2* 3* 4* 5* 6* 7* 8* 9* \n")
|
|
124
|
-
job.write(f' #----------------------- \n')
|
|
125
|
-
job.write(f' for k in "{tasks2}"; do \n')
|
|
126
|
-
job.write(f' #----------------------------------------------------- \n')
|
|
127
|
-
job.write(f' if [[ "$j" == "xyz-scan" || "$j" == "xy-scan" ]]; then \n')
|
|
128
|
-
job.write(f' if [[ ! -e "$dir0/$i/$k/POSCAR.0" || ! -e "$dir0/$i/$k/CONTCAR.0" ]]; then \n')
|
|
129
|
-
job.write(f' cp $dir0/$i/$j/POSCAR $dir0/$i/$k/POSCAR \n')
|
|
130
|
-
job.write(f' cp $dir0/$i/$j/CONTCAR $dir0/$i/$k/CONTCAR \n')
|
|
131
|
-
job.write(f' fi \n')
|
|
132
|
-
job.write(f' fi \n')
|
|
133
|
-
job.write(f' done \n')
|
|
134
|
-
job.write(f' cp $dir0/$i/$j/CONTCAR $dir0/$i/output/CONTCAR \n')
|
|
135
|
-
job.write(f' cp $dir0/$i/$j/POSCAR $dir0/$i/output/POSCAR \n')
|
|
136
|
-
job.write(f' #==================================================== \n')
|
|
137
|
-
job.write(f' elif [[ "$j" == "z-scan" || "$j" == "a-scan" ]]; then \n')
|
|
138
|
-
job.write(f' cd $dir0/$i/$j \n')
|
|
139
|
-
job.write(f' python3 contcar_update.py \n')
|
|
140
|
-
job.write(f' cp POSCAR POSCAR.0 \n')
|
|
141
|
-
job.write(f' cp CONTCAR CONTCAR.0 \n')
|
|
142
|
-
job.write(" for p in {1..8}; do \n")
|
|
143
|
-
job.write(f' echo "$p" > "$dir0/$i/$j/check_steps.txt" \n')
|
|
144
|
-
job.write(" python3 ${j}.py \n")
|
|
145
|
-
job.write(f' #--------------- \n')
|
|
146
|
-
job.write(f' folders2=() \n')
|
|
147
|
-
job.write(f' for folder in $dir0/$i/$j/*; do \n')
|
|
148
|
-
job.write(f' if [ -d "$folder" ]; then \n')
|
|
149
|
-
job.write(f' folders2+=("$(basename "$folder")") \n')
|
|
150
|
-
job.write(f' fi \n')
|
|
151
|
-
job.write(f' done \n')
|
|
152
|
-
job.write(f' #------------------------ \n')
|
|
153
|
-
job.write(f' for k in "{folders2}"; do \n')
|
|
154
|
-
job.write(" prefixo=${k:0:3} \n")
|
|
155
|
-
job.write(f' if [ "$prefixo" != "OK_" ]; then \n')
|
|
156
|
-
job.write(f' cd $dir0/$i/$j/$k \n')
|
|
157
|
-
job.write(f' $vasp_std \n')
|
|
158
|
-
job.write(f' rm -r CHG CHGCAR DOSCAR PROCAR WAVECAR EIGENVAL IBZKPT vasprun.xml \n')
|
|
159
|
-
job.write(f' python3 contcar_update.py \n')
|
|
160
|
-
job.write(f' python3 energy_scan.py \n')
|
|
161
|
-
job.write(f' bzip2 OUTCAR \n')
|
|
162
|
-
job.write(f' cd $dir0/$i/$j \n')
|
|
163
|
-
job.write(f' mv $k OK_$k \n')
|
|
164
|
-
job.write(f' fi \n')
|
|
165
|
-
job.write(f' done \n')
|
|
166
|
-
job.write(f' done \n')
|
|
167
|
-
job.write(f' #------------- \n')
|
|
168
|
-
job.write(f' cd $dir0/$i/$j \n')
|
|
169
|
-
job.write(f' folders2=() \n')
|
|
170
|
-
job.write(f' for folder in $dir0/$i/$j/*; do \n')
|
|
171
|
-
job.write(f' if [ -d "$folder" ]; then \n')
|
|
172
|
-
job.write(f' folders2+=("$(basename "$folder")") \n')
|
|
173
|
-
job.write(f' fi \n')
|
|
174
|
-
job.write(f' done \n')
|
|
175
|
-
job.write(f' for k in "{folders2}"; do \n')
|
|
176
|
-
job.write(" new_name=${k:3} \n")
|
|
177
|
-
job.write(f' mv "$k" "$new_name" \n')
|
|
178
|
-
job.write(f' done \n')
|
|
179
|
-
job.write(" python3 ${j}_analysis.py \n")
|
|
180
|
-
job.write(" rm -r 0* 1* 2* 3* 4* 5* 6* 7* 8* 9* \n")
|
|
181
|
-
job.write(f' #----------------------- \n')
|
|
182
|
-
job.write(f' for k in "{tasks2}"; do \n')
|
|
183
|
-
job.write(f' #-------------------------------------------------- \n')
|
|
184
|
-
job.write(f' if [[ "$j" == "z-scan" || "$j" == "a-scan" ]]; then \n')
|
|
185
|
-
job.write(f' if [[ ! -e "$dir0/$i/$k/POSCAR.0" || ! -e "$dir0/$i/$k/CONTCAR.0" ]]; then \n')
|
|
186
|
-
job.write(f' cp $dir0/$i/$j/POSCAR $dir0/$i/$k/POSCAR \n')
|
|
187
|
-
job.write(f' cp $dir0/$i/$j/CONTCAR $dir0/$i/$k/CONTCAR \n')
|
|
188
|
-
job.write(f' fi \n')
|
|
189
|
-
job.write(f' fi \n')
|
|
190
|
-
job.write(f' done \n')
|
|
191
|
-
job.write(f' cp $dir0/$i/$j/CONTCAR $dir0/$i/output/CONTCAR \n')
|
|
192
|
-
job.write(f' cp $dir0/$i/$j/POSCAR $dir0/$i/output/POSCAR \n')
|
|
193
|
-
job.write(f' #============================= \n')
|
|
194
|
-
job.write(f' elif [ "$j" == "relax" ]; then \n')
|
|
195
|
-
job.write(f' cp POSCAR POSCAR.0 \n')
|
|
196
|
-
job.write(f' cp CONTCAR CONTCAR.0 \n')
|
|
197
|
-
job.write(f' mv INCAR INCAR_relax \n')
|
|
198
|
-
job.write(f' #------------------- \n')
|
|
199
|
-
job.write(f' mv INCAR_relax_frozen INCAR \n')
|
|
200
|
-
job.write(f' $vasp_std \n')
|
|
201
|
-
job.write(f' mv OSZICAR OSZICAR_frozen \n')
|
|
202
|
-
job.write(f' rm -r CHG CHGCAR DOSCAR PROCAR WAVECAR EIGENVAL IBZKPT vasprun.xml \n')
|
|
203
|
-
job.write(f' mv INCAR INCAR_relax_frozen \n')
|
|
204
|
-
job.write(f' mv OUTCAR OUTCAR_frozen \n')
|
|
205
|
-
job.write(f' #---------------------- \n')
|
|
206
|
-
job.write(f' mv INCAR_relax INCAR \n')
|
|
207
|
-
job.write(f' $vasp_std \n')
|
|
208
|
-
job.write(f' rm -r CHG CHGCAR DOSCAR PROCAR WAVECAR EIGENVAL IBZKPT vasprun.xml \n')
|
|
209
|
-
job.write(f' python3 contcar_update.py \n')
|
|
210
|
-
job.write(f' #------------------------ \n')
|
|
211
|
-
job.write(f' for k in "{tasks2}"; do \n')
|
|
212
|
-
job.write(f' #-------------------------------------------------- \n')
|
|
213
|
-
job.write(f' if [ "$j" == "relax" ]; then \n')
|
|
214
|
-
job.write(f' if [[ ! -e "$dir0/$i/$k/POSCAR.0" || ! -e "$dir0/$i/$k/CONTCAR.0" ]]; then \n')
|
|
215
|
-
job.write(f' cp $dir0/$i/$j/POSCAR $dir0/$i/$k/POSCAR \n')
|
|
216
|
-
job.write(f' cp $dir0/$i/$j/CONTCAR $dir0/$i/$k/CONTCAR \n')
|
|
217
|
-
job.write(f' fi \n')
|
|
218
|
-
job.write(f' fi \n')
|
|
219
|
-
job.write(f' done \n')
|
|
220
|
-
job.write(f' bzip2 OUTCAR \n')
|
|
221
|
-
job.write(f' cp $dir0/$i/$j/CONTCAR $dir0/$i/output/CONTCAR \n')
|
|
222
|
-
job.write(f' cp $dir0/$i/$j/CONTCAR $dir0/$i/output/POSCAR \n')
|
|
223
|
-
job.write(f' #================================= \n')
|
|
224
|
-
job.write(f' elif [ "$string1" == "scf" ]; then \n')
|
|
225
|
-
job.write(f' if [ "$string2" != "SO" ]; then \n')
|
|
226
|
-
job.write(f' $vasp_std \n')
|
|
227
|
-
job.write(f' for k in "{tasks2}"; do \n')
|
|
228
|
-
job.write(f' if [[ "$k" == "bands" || "$k" == "dos" ]]; then \n')
|
|
229
|
-
job.write(f' cp $dir0/$i/$j/CHGCAR $dir0/$i/$k/CHGCAR \n')
|
|
230
|
-
job.write(f' fi \n')
|
|
231
|
-
job.write(f' done \n')
|
|
232
|
-
job.write(f' elif [ "$string2" == "SO" ]; then \n')
|
|
233
|
-
job.write(f' $vasp_ncl \n')
|
|
234
|
-
job.write(f' for k in "{tasks2}"; do \n')
|
|
235
|
-
job.write(f' if [[ "$k" == "bands.SO" || "$k" == "dos.SO" ]]; then \n')
|
|
236
|
-
job.write(f' cp $dir0/$i/$j/CHGCAR $dir0/$i/$k/CHGCAR \n')
|
|
237
|
-
job.write(f' fi \n')
|
|
238
|
-
job.write(f' done \n')
|
|
239
|
-
job.write(f' fi \n')
|
|
240
|
-
job.write(f' #------------------- \n')
|
|
241
|
-
job.write(f' python3 -m vasprocar \n')
|
|
242
|
-
job.write(f' #------------------- \n')
|
|
243
|
-
job.write(f' # rm -r CHG DOSCAR WAVECAR EIGENVAL IBZKPT OSZICAR PCDAT XDATCAR vasprun.xml \n')
|
|
244
|
-
job.write(f' # bzip2 CHGCAR OUTCAR PROCAR LOCPOT \n')
|
|
245
|
-
job.write(f' rm -r CHG DOSCAR WAVECAR \n')
|
|
246
|
-
job.write(f' bzip2 CHGCAR OUTCAR PROCAR LOCPOT EIGENVAL IBZKPT OSZICAR PCDAT XDATCAR vasprun.xml \n')
|
|
247
|
-
job.write(f' python3 contcar_update.py \n')
|
|
248
|
-
job.write(f' #----------------------------------------------- \n')
|
|
249
|
-
job.write(f' cp $dir0/$i/$j/CONTCAR $dir0/$i/output/CONTCAR \n')
|
|
250
|
-
job.write(f' cp $dir0/$i/$j/POSCAR $dir0/$i/output/POSCAR \n')
|
|
251
|
-
job.write(f' #------------------------------ \n')
|
|
252
|
-
job.write(f' if [ "$string2" != "SO" ]; then \n')
|
|
253
|
-
job.write(f' cp $dir0/$i/$j/output/informacoes.txt $dir0/$i/output/info_scf.txt \n')
|
|
254
|
-
job.write(f' elif [ "$string2" == "SO" ]; then \n')
|
|
255
|
-
job.write(f' cp $dir0/$i/$j/output/informacoes.txt $dir0/$i/output/info_scf_SO.txt \n')
|
|
256
|
-
job.write(f' fi \n')
|
|
257
|
-
job.write(f' #=================================== \n')
|
|
258
|
-
job.write(f' elif [ "$string1" == "bands" ]; then \n')
|
|
259
|
-
job.write(f' #-------------------------------- \n')
|
|
260
|
-
job.write(f' files=() \n')
|
|
261
|
-
job.write(f' for file in $dir0/$i/$j/*; do \n')
|
|
262
|
-
job.write(f' if [ -f "$file" ]; then \n')
|
|
263
|
-
job.write(f' files+=("$(basename "$file")") \n')
|
|
264
|
-
job.write(f' fi \n')
|
|
265
|
-
job.write(f' done \n')
|
|
266
|
-
job.write(f' #--------------------- \n')
|
|
267
|
-
job.write(f' for k in "{files}"; do \n')
|
|
268
|
-
job.write(f' string3={temp3} \n')
|
|
269
|
-
job.write(f' string4={temp4} \n')
|
|
270
|
-
job.write(f' #----------------------------------- \n')
|
|
271
|
-
job.write(f' if [ "$string3" == "KPOINTS" ]; then \n')
|
|
272
|
-
job.write(f' #----------------------------------- \n')
|
|
273
|
-
job.write(f' if [ "$string4" != "KPOINTS" ]; then \n')
|
|
274
|
-
job.write(f' mv KPOINTS.$string4 KPOINTS \n')
|
|
275
|
-
job.write(f' fi \n')
|
|
276
|
-
job.write(f' #------------------------------ \n')
|
|
277
|
-
job.write(f' if [ "$string2" != "SO" ]; then \n')
|
|
278
|
-
job.write(f' $vasp_std \n')
|
|
279
|
-
job.write(f' elif [ "$string2" == "SO" ]; then \n')
|
|
280
|
-
job.write(f' $vasp_ncl \n')
|
|
281
|
-
job.write(f' fi \n')
|
|
282
|
-
job.write(f' #----------------------------------- \n')
|
|
283
|
-
job.write(f' # rm -r CHG DOSCAR WAVECAR EIGENVAL IBZKPT OSZICAR PCDAT XDATCAR vasprun.xml \n')
|
|
284
|
-
job.write(f' rm -r CHG DOSCAR WAVECAR \n')
|
|
285
|
-
job.write(f' python3 contcar_update.py \n')
|
|
286
|
-
job.write(f' #----------------------------------- \n')
|
|
287
|
-
job.write(f' if [ "$string4" != "KPOINTS" ]; then \n')
|
|
288
|
-
job.write(f' cp OUTCAR OUTCAR.$string4 \n')
|
|
289
|
-
job.write(f' mv PROCAR PROCAR.$string4 \n')
|
|
290
|
-
job.write(f' mv KPOINTS KPOINTS.$string4 \n')
|
|
291
|
-
job.write(f' fi \n')
|
|
292
|
-
job.write(f' fi \n')
|
|
293
|
-
job.write(f' done \n')
|
|
294
|
-
job.write(f' #------------------- \n')
|
|
295
|
-
job.write(f' python3 -m vasprocar \n')
|
|
296
|
-
job.write(f' #------------------- \n')
|
|
297
|
-
job.write(f' # bzip2 CHGCAR OUTCAR* PROCAR* LOCPOT \n')
|
|
298
|
-
job.write(f' bzip2 CHGCAR OUTCAR* PROCAR* LOCPOT EIGENVAL IBZKPT OSZICAR PCDAT XDATCAR vasprun.xml \n')
|
|
299
|
-
job.write(f' #---------------------------------- \n')
|
|
300
|
-
job.write(f' cp $dir0/$i/$j/CONTCAR $dir0/$i/output/CONTCAR \n')
|
|
301
|
-
job.write(f' cp $dir0/$i/$j/POSCAR $dir0/$i/output/POSCAR \n')
|
|
302
|
-
job.write(f' #------------------------------ \n')
|
|
303
|
-
job.write(f' if [ "$string2" != "SO" ]; then \n')
|
|
304
|
-
job.write(f' cp $dir0/$i/$j/output/informacoes.txt $dir0/$i/output/info_bands.txt \n')
|
|
305
|
-
job.write(f' elif [ "$string2" == "SO" ]; then \n')
|
|
306
|
-
job.write(f' cp $dir0/$i/$j/output/informacoes.txt $dir0/$i/output/info_bands_SO.txt \n')
|
|
307
|
-
job.write(f' fi \n')
|
|
308
|
-
job.write(f' #================================= \n')
|
|
309
|
-
job.write(f' elif [ "$string1" == "dos" ]; then \n')
|
|
310
|
-
job.write(f' if [ "$string2" != "SO" ]; then \n')
|
|
311
|
-
job.write(f' $vasp_std \n')
|
|
312
|
-
job.write(f' elif [ "$string2" == "SO" ]; then \n')
|
|
313
|
-
job.write(f' $vasp_ncl \n')
|
|
314
|
-
job.write(f' fi \n')
|
|
315
|
-
job.write(f' python3 -m vasprocar \n')
|
|
316
|
-
job.write(f' # rm -r CHG WAVECAR EIGENVAL IBZKPT OSZICAR PCDAT XDATCAR vasprun.xml \n')
|
|
317
|
-
job.write(f' # bzip2 CHGCAR OUTCAR DOSCAR PROCAR \n')
|
|
318
|
-
job.write(f' rm -r CHG WAVECAR \n')
|
|
319
|
-
job.write(f' bzip2 CHGCAR OUTCAR DOSCAR PROCAR EIGENVAL IBZKPT OSZICAR PCDAT XDATCAR vasprun.xml \n')
|
|
320
|
-
job.write(f' python3 contcar_update.py \n')
|
|
321
|
-
job.write(f' cp $dir0/$i/$j/CONTCAR $dir0/$i/output/CONTCAR \n')
|
|
322
|
-
job.write(f' cp $dir0/$i/$j/POSCAR $dir0/$i/output/POSCAR \n')
|
|
323
|
-
job.write(f' #=================================== \n')
|
|
324
|
-
job.write(f' elif [ "$string1" == "bader" ]; then \n')
|
|
325
|
-
job.write(f' python3 bader_update.py \n')
|
|
326
|
-
job.write(f' #---------------------- \n')
|
|
327
|
-
job.write(f' folders2=() \n')
|
|
328
|
-
job.write(f' for folder in $dir0/$i/$j/*; do \n')
|
|
329
|
-
job.write(f' if [ -d "$folder" ]; then \n')
|
|
330
|
-
job.write(f' folders2+=("$(basename "$folder")") \n')
|
|
331
|
-
job.write(f' fi \n')
|
|
332
|
-
job.write(f' done \n')
|
|
333
|
-
job.write(f' #------------------------ \n')
|
|
334
|
-
job.write(f' for k in "{folders2}"; do \n')
|
|
335
|
-
job.write(f' if [ "$k" != "Charge_transfer" ]; then \n')
|
|
336
|
-
job.write(f' cd $dir0/$i/$j/$k \n')
|
|
337
|
-
job.write(f' if [ "$string2" != "SO" ]; then \n')
|
|
338
|
-
job.write(f' $vasp_std \n')
|
|
339
|
-
job.write(f' elif [ "$string2" == "SO" ]; then \n')
|
|
340
|
-
job.write(f' $vasp_ncl \n')
|
|
341
|
-
job.write(f' fi \n')
|
|
342
|
-
job.write(f' python3 -m vasprocar \n')
|
|
343
|
-
job.write(f' #------------------- \n')
|
|
344
|
-
job.write(f' cp -r $dir0/$i/$j/$k/output/Potencial $dir0/$i/$j/Charge_transfer/Potencial_$k \n')
|
|
345
|
-
job.write(f' rm -r output \n')
|
|
346
|
-
job.write(f' #------------------ \n')
|
|
347
|
-
job.write(f' chmod 777 chgsum.pl \n')
|
|
348
|
-
job.write(f' ./chgsum.pl AECCAR0 AECCAR2 \n')
|
|
349
|
-
job.write(f' chmod 777 bader \n')
|
|
350
|
-
job.write(f' # ./bader -vac off CHGCAR -ref CHGCAR_sum \n')
|
|
351
|
-
job.write(f' ./bader CHGCAR \n')
|
|
352
|
-
job.write(f' #------------- \n')
|
|
353
|
-
job.write(f' cp $dir0/$i/$j/$k/CHGCAR $dir0/$i/$j/Charge_transfer/CHGCAR_$k \n')
|
|
354
|
-
job.write(f' # rm -r CHG DOSCAR WAVECAR EIGENVAL IBZKPT OSZICAR PCDAT XDATCAR vasprun.xml \n')
|
|
355
|
-
job.write(f' # bzip2 AECCAR* CHGCAR* OUTCAR PROCAR LOCPOT \n')
|
|
356
|
-
job.write(f' rm -r CHG DOSCAR WAVECAR \n')
|
|
357
|
-
job.write(f' bzip2 AECCAR* CHGCAR* OUTCAR PROCAR LOCPOT EIGENVAL IBZKPT OSZICAR PCDAT XDATCAR vasprun.xml \n')
|
|
358
|
-
job.write(f' fi \n')
|
|
359
|
-
job.write(f' done \n')
|
|
360
|
-
job.write(f' #------------- \n')
|
|
361
|
-
job.write(f' cd $dir0/$i/$j \n')
|
|
362
|
-
job.write(f' python3 charge_transfer.py \n')
|
|
363
|
-
job.write(f' #----------------------------- \n')
|
|
364
|
-
job.write(f' cd $dir0/$i/$j/Charge_transfer \n')
|
|
365
|
-
job.write(f' python3 -m vasprocar \n')
|
|
366
|
-
job.write(f' cp -r $dir0/$i/$j/Charge_transfer/output/Charge $dir0/$i/$j/Charge_transfer/Charge_transfer_plot2D \n')
|
|
367
|
-
job.write(f' mv CHGCAR_Charge_Transfer.vasp CHGCAR_Charge_Transfer \n')
|
|
368
|
-
job.write(f' # rm -r output CHGCAR_H* CHGCAR_m* \n')
|
|
369
|
-
job.write(f' # bzip2 CHGCAR_Charge_Transfer \n')
|
|
370
|
-
job.write(f' rm -r output \n')
|
|
371
|
-
job.write(f' bzip2 CHGCAR_Charge_Transfer CHGCAR_H* CHGCAR_m* \n')
|
|
372
|
-
job.write(f' #----------------------------------------------- \n')
|
|
373
|
-
job.write(f' cd $dir0/$i/$j \n')
|
|
374
|
-
job.write(f' rm -r POSCAR \n')
|
|
375
|
-
job.write(f' #============== \n')
|
|
376
|
-
job.write(f' fi \n')
|
|
377
|
-
# job.write(f' else \n')
|
|
378
|
-
# job.write(f' echo "$dir0/$i/$j: directory missing" >> "$dir0/check_list.txt" \n')
|
|
379
|
-
job.write(f' fi \n')
|
|
380
|
-
job.write(f' done \n')
|
|
381
|
-
job.write(f' cd $dir0/$i \n')
|
|
382
|
-
job.write(f' python3 output.py \n')
|
|
383
|
-
job.write(f' python3 lattice_plot3d.py \n')
|
|
384
|
-
job.write(f' #------------------------ \n')
|
|
385
|
-
job.write(f' cp -r $dir0/$i/output/POSCAR $dir0/$i/output/POSCAR.info \n')
|
|
386
|
-
job.write(f' python3 data-base_json.py \n')
|
|
387
|
-
job.write(f' #------------------------ \n')
|
|
388
|
-
job.write(f' if [ -d "$dir0/completed" ]; then \n')
|
|
389
|
-
job.write(f' mv $dir0/$i $dir0/completed/$i \n')
|
|
390
|
-
job.write(f' fi \n')
|
|
391
|
-
job.write(f' #------------------------ \n')
|
|
392
|
-
job.write(f'done \n')
|
|
393
|
-
job.write(f' \n')
|
|
394
|
-
job.write(f'deactivate \n')
|
|
395
|
-
job.write(f'#------------------------ \n')
|
|
396
|
-
job.write(f'if [ -d "$dir0/python_virtual" ]; then \n')
|
|
397
|
-
job.write(f' rm -r $dir0/python_virtual \n')
|
|
398
|
-
job.write(f'fi \n')
|
|
399
|
-
job.write(f'#------------------------ \n')
|
|
400
|
-
#==========
|
|
401
|
-
job.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
|
{SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/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
|
|
File without changes
|
|
File without changes
|