Statistiques
| Révision :

root / examples / Vasp / Parallel / run_Path_PBS @ 1

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

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