Statistiques
| Révision :

root / examples / Vasp / Parallel / run_Path_PBS @ 12

Historique | Voir | Annoter | Télécharger (3,18 ko)

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