root / examples / Vasp / Parallel / run_Path_PBS @ 1
Historique | Voir | Annoter | Télécharger (3,18 ko)
1 |
#PBS -S /bin/sh |
---|---|
2 |
#PBS -N VaspPara |
3 |
#PBS -l nodes=8:Other |
4 |
#PBS -q Para8 |
5 |
#PBS -o Test_Vasp_Para.batch-log |
6 |
#PBS -j oe |
7 |
#PBS -M Paul.Fleurat-Lessard@ens-lyon.fr |
8 |
#PBS -m aeb |
9 |
|
10 |
#!/bin/bash |
11 |
|
12 |
home_dir=$PBS_O_WORKDIR |
13 |
work_dir=$PBS_O_WORKDIR |
14 |
numb=3x3_run1 |
15 |
|
16 |
###################################### |
17 |
# |
18 |
# you might have to change the following variables |
19 |
# |
20 |
###################################### |
21 |
# |
22 |
# Name of the Path Input file |
23 |
# |
24 |
Job=Test_Vasp_Para |
25 |
# |
26 |
# |
27 |
# Where is Path.exe ?? |
28 |
# |
29 |
PathExe=~/Programs/Carte/src/Path.exe |
30 |
# |
31 |
# Where is VASP ? |
32 |
# |
33 |
export VASP=/home/dloffred/VASP_SOURCES/Intel_P4/VASP46_CINEB |
34 |
# |
35 |
# Whre is mpirun ? |
36 |
# |
37 |
export MPIRUN=/usr/local/mpich-intel-090404/bin/mpirun |
38 |
# |
39 |
# Some libraries... |
40 |
# |
41 |
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/fc/9.1.037/lib/:/opt/intel/cc/9.1.045/lib:/usr/lib:/opt/intel/mkl/8.1/lib/32 |
42 |
export PATH=/opt/intel/fc/9.1.037/bin/:/opt/intel/cc/9.1.045/bin/:$PATH:$HOME/bin:/usr/local/mpich-intel9/bin |
43 |
export LD_RUN_PATH=$LD_RUN_PATH:/opt/intel/fc/9.1.037/lib/:/opt/intel/cc/9.1.045/lib |
44 |
export MANPATH=$MANPATH:/opt/intel/fc/9.1.037/man/:/opt/intel/cc/9.1.045/man |
45 |
export LANG=C |
46 |
# |
47 |
#Usually nothing has to be changed after this line |
48 |
# |
49 |
################################################# |
50 |
|
51 |
|
52 |
|
53 |
|
54 |
################################# |
55 |
# |
56 |
# We create the machinefile |
57 |
# |
58 |
# even if it is not really needed for SERIAL calculations |
59 |
# |
60 |
################################# |
61 |
nodes=`cat $PBS_NODEFILE` |
62 |
nnodes=`wc $PBS_NODEFILE | awk '{print $1}'` |
63 |
|
64 |
confile=$home_dir/ip.$PBS_JOBID.conf |
65 |
touch $confile |
66 |
j="init" |
67 |
for i in $nodes |
68 |
do |
69 |
if [ $j != $i ] |
70 |
then echo "$i:1" >> $confile |
71 |
else |
72 |
echo "vous calculez sur des noeuds smp" |
73 |
fi |
74 |
j=$i |
75 |
done |
76 |
|
77 |
############################### |
78 |
# |
79 |
# We go to the Work Directory |
80 |
# |
81 |
############################### |
82 |
|
83 |
cd $work_dir |
84 |
|
85 |
#! we create the 00, 01... and 0x directorires |
86 |
# First we get the number of images in the INCAR file: |
87 |
NbIm=`grep -i IMAGES INCAR | awk -F"=" '{n=$2*1+1; print n}' ` |
88 |
n=0 |
89 |
while [ $n -le $NbIm ] |
90 |
do |
91 |
ndir=`echo $n | awk '{k="00" $1; l=length(k); l=l-1; print substr(k,l,2)}'` |
92 |
mkdir -p $ndir |
93 |
let n=n+1 |
94 |
done |
95 |
|
96 |
# A small test to see if everything matches |
97 |
NbImP=` sed 's/,/^M/g' ${Job}.path | grep -i ngeomf | awk -F"=" '{n=$2*1-1; print n}' ` |
98 |
if [ $NbImP -ne $NbIm ]; then |
99 |
echo "WARNING WARNING WARNING WARNING WARNING WARNING" |
100 |
echo "IMAGES in INCAR and NGeomF in " ${Job}.path |
101 |
echo "Do Not Match... problems might be expected..." |
102 |
echo "Check it !!!" |
103 |
echo "WARNING WARNING WARNING WARNING WARNING WARNING" |
104 |
fi |
105 |
|
106 |
############################# |
107 |
# |
108 |
# We create the 'VaspExe' file that Path will use to run the |
109 |
# actual VASP calculations of E and forces |
110 |
# |
111 |
############################# |
112 |
echo "$MPIRUN -nolocal -machinefile $confile -np $nnodes $VASP > out_$numb" > ./RunVasp |
113 |
chmod u+x ./RunVasp |
114 |
|
115 |
############################### |
116 |
# |
117 |
# We launch PATH |
118 |
# |
119 |
############################### |
120 |
ln -fs ${PathExe} . |
121 |
|
122 |
############################# |
123 |
# |
124 |
# We create the 'VaspExe' file that Path will use to run the |
125 |
# actual VASP calculations of E and forces |
126 |
# |
127 |
############################# |
128 |
|
129 |
echo "$MPIRUN -nolocal -machinefile $confile -np $nnodes $VASP > out_$numb" > ./RunVasp |
130 |
chmod u+x ./RunVasp |
131 |
|
132 |
############################### |
133 |
# |
134 |
# We launch PATH |
135 |
# |
136 |
############################### |
137 |
ln -fs ${PathExe} . |
138 |
|
139 |
./Path.exe ${Job}.path &> ${Job}.out |
140 |
|