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.
Files changed (68) hide show
  1. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/PKG-INFO +1 -1
  2. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/SAMBA_ilum.egg-info/PKG-INFO +1 -1
  3. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/__main__.py +1 -1
  4. SAMBA_ilum-1.0.0.396/samba_ilum/src/job.py +408 -0
  5. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/setup.py +1 -1
  6. SAMBA_ilum-1.0.0.395/samba_ilum/src/job.py +0 -401
  7. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/LICENSE.txt +0 -0
  8. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/README.md +0 -0
  9. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/SAMBA_ilum.egg-info/SOURCES.txt +0 -0
  10. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/SAMBA_ilum.egg-info/dependency_links.txt +0 -0
  11. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/SAMBA_ilum.egg-info/entry_points.txt +0 -0
  12. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/SAMBA_ilum.egg-info/requires.txt +0 -0
  13. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/SAMBA_ilum.egg-info/top_level.txt +0 -0
  14. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/__init__.py +0 -0
  15. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/HeteroStructure_Generator.py +0 -0
  16. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_a-scan +0 -0
  17. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_bader +0 -0
  18. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_bader.SO +0 -0
  19. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_bands +0 -0
  20. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_bands.SO +0 -0
  21. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_dos +0 -0
  22. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_dos.SO +0 -0
  23. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_relax +0 -0
  24. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_scf +0 -0
  25. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_scf.SO +0 -0
  26. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_xy-scan +0 -0
  27. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_xyz-scan +0 -0
  28. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/INCAR_z-scan +0 -0
  29. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/SAMBA_HeteroStructure.input +0 -0
  30. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/SAMBA_WorkFlow.input +0 -0
  31. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.bands +0 -0
  32. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.chgcar +0 -0
  33. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.dos +0 -0
  34. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.location +0 -0
  35. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.locpot +0 -0
  36. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.orbitals +0 -0
  37. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.spin +0 -0
  38. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/INPUTS/vdw_kernel.bindat +0 -0
  39. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/OLD/a-scan.py +0 -0
  40. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/OLD/a-scan_analysis.py +0 -0
  41. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/OLD/job.py +0 -0
  42. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/OLD/z-scan.py +0 -0
  43. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/OLD/z-scan_analysis.py +0 -0
  44. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/_info_pseudo.py +0 -0
  45. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/a-scan.py +0 -0
  46. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/a-scan_analysis.py +0 -0
  47. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/bader +0 -0
  48. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/bader_poscar.py +0 -0
  49. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/bader_update.py +0 -0
  50. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/charge_transfer.py +0 -0
  51. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/chgsum.pl +0 -0
  52. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/contcar_update.py +0 -0
  53. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/data-base_json.py +0 -0
  54. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/data-base_union.py +0 -0
  55. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/energy_scan.py +0 -0
  56. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/kpoints.py +0 -0
  57. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/lattice_plot3d.py +0 -0
  58. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/make_files.py +0 -0
  59. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/output.py +0 -0
  60. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/potcar.py +0 -0
  61. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/vdW_DF.py +0 -0
  62. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/xy-scan.py +0 -0
  63. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/xy-scan_analysis.py +0 -0
  64. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/xyz-scan.py +0 -0
  65. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/xyz-scan_analysis.py +0 -0
  66. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/z-scan.py +0 -0
  67. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/samba_ilum/src/z-scan_analysis.py +0 -0
  68. {SAMBA_ilum-1.0.0.395 → SAMBA_ilum-1.0.0.396}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: SAMBA_ilum
3
- Version: 1.0.0.395
3
+ Version: 1.0.0.396
4
4
  Summary: ...
5
5
  Author: Augusto de Lelis Araujo
6
6
  Author-email: augusto-lelis@outlook.com
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: SAMBA-ilum
3
- Version: 1.0.0.395
3
+ Version: 1.0.0.396
4
4
  Summary: ...
5
5
  Author: Augusto de Lelis Araujo
6
6
  Author-email: augusto-lelis@outlook.com
@@ -16,7 +16,7 @@ dir_samba = os.path.dirname(os.path.realpath(__file__))
16
16
  print(f'{dir_samba}')
17
17
  #--------------------
18
18
 
19
- version = '1.0.0.395'
19
+ version = '1.0.0.396'
20
20
 
21
21
  print(" ")
22
22
  print("=============================================================")
@@ -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()
@@ -6,7 +6,7 @@ import json
6
6
 
7
7
  setup(
8
8
  name = "SAMBA_ilum",
9
- version = "1.0.0.395",
9
+ version = "1.0.0.396",
10
10
  entry_points={'console_scripts': ['samba_ilum = samba_ilum:main']},
11
11
  description = "...",
12
12
  author = "Augusto de Lelis Araujo",
@@ -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