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 |