Statistiques
| Branche: | Tag: | Révision :

dockonsurf / modules / launch_cp2k_molecule_seule.sh @ f43a1b4c

Historique | Voir | Annoter | Télécharger (1,7 ko)

1 86112fec Marti Aliod Carles
#!/bin/bash
2 86112fec Marti Aliod Carles
3 86112fec Marti Aliod Carles
molecule=$1
4 86112fec Marti Aliod Carles
5 86112fec Marti Aliod Carles
n="$(find ${Molecule_results_path}/${molecule}_confs/xyz_files/${molecule}*.xyz | wc -l)"
6 86112fec Marti Aliod Carles
7 86112fec Marti Aliod Carles
if [ ! -d "${Molecule_results_path}/${molecule}" ]
8 86112fec Marti Aliod Carles
then mkdir ${Molecule_results_path}/${molecule}
9 86112fec Marti Aliod Carles
else 
10 86112fec Marti Aliod Carles
	print 'problem there is already a directory for this molecule'
11 86112fec Marti Aliod Carles
	exit
12 86112fec Marti Aliod Carles
fi
13 86112fec Marti Aliod Carles
14 86112fec Marti Aliod Carles
mkdir ${Molecule_results_path}/${molecule}/${molecule}_1
15 86112fec Marti Aliod Carles
cd ${Molecule_results_path}/${molecule}/${molecule}_1
16 86112fec Marti Aliod Carles
sed "/PROJECT_NAME/c\PROJECT_NAME ${molecule}" ${CP2K_input_molecule} > ${Molecule_results_path}/${molecule}/${molecule}_1/${molecule}.inp
17 86112fec Marti Aliod Carles
sed "s/XXXX/${molecule}/g" ${CP2K_sub} > ${Molecule_results_path}/${molecule}/${molecule}_1/cp2k_gamma.j
18 86112fec Marti Aliod Carles
cp ${Molecule_results_path}/${molecule}_confs/xyz_files/${molecule}_1.xyz ${Molecule_results_path}/${molecule}/${molecule}_1/coord.xyz
19 f43a1b4c Marti Aliod Carles
new_job_id=$(qsub cp2k_gamma.j | awk '{print $3}')
20 f43a1b4c Marti Aliod Carles
echo "Submitted job $new_job_id"
21 f43a1b4c Marti Aliod Carles
jobs_owned+=($new_job_id)
22 86112fec Marti Aliod Carles
23 86112fec Marti Aliod Carles
for ((i=2; i<=n; i++)) ; do
24 86112fec Marti Aliod Carles
	mkdir ${Molecule_results_path}/${molecule}/${molecule}_$i
25 86112fec Marti Aliod Carles
	cd ${Molecule_results_path}/${molecule}/${molecule}_$i
26 86112fec Marti Aliod Carles
	ln ${Molecule_results_path}/${molecule}/${molecule}_1/cp2k_gamma.j .
27 86112fec Marti Aliod Carles
	ln ${Molecule_results_path}/${molecule}/${molecule}_1/${molecule}.inp .
28 86112fec Marti Aliod Carles
	cp ${Molecule_results_path}/${molecule}_confs/xyz_files/${molecule}_${i}.xyz coord.xyz
29 f43a1b4c Marti Aliod Carles
  new_job_id=$(qsub cp2k_gamma.j | awk '{print $3}')
30 f43a1b4c Marti Aliod Carles
  echo "Submitted job $new_job_id"
31 f43a1b4c Marti Aliod Carles
  jobs_owned+=($new_job_id)
32 86112fec Marti Aliod Carles
done
33 86112fec Marti Aliod Carles
34 f43a1b4c Marti Aliod Carles
### Attente jusqu'à ce que tous les calculs aient fini
35 f43a1b4c Marti Aliod Carles
go_on=true
36 f43a1b4c Marti Aliod Carles
while [ $go_on == true ]; do
37 f43a1b4c Marti Aliod Carles
  all_jobs=`qstat | tail -n+3 | awk '{print $1}'`
38 f43a1b4c Marti Aliod Carles
  for j1 in ${jobs_owned[@]} ; do
39 f43a1b4c Marti Aliod Carles
    for j2 in ${all_jobs[@]}; do
40 f43a1b4c Marti Aliod Carles
      if [ $j1 == $j2 ]; then
41 f43a1b4c Marti Aliod Carles
        sleep 30
42 f43a1b4c Marti Aliod Carles
        continue 3
43 f43a1b4c Marti Aliod Carles
      fi
44 f43a1b4c Marti Aliod Carles
    done
45 f43a1b4c Marti Aliod Carles
  done
46 f43a1b4c Marti Aliod Carles
  echo "loop finished"
47 f43a1b4c Marti Aliod Carles
  go_on=false
48 f43a1b4c Marti Aliod Carles
done