Scylla&charybdis.tgz: Difference between revisions
Lbellarosa (talk | contribs) New page: go back to Main Page, Computational Resources, Scripts, Scripts for VASP The coupled scripts ''scylla.sh'' and ''charybdis.sh'' are used to run iteratively molecular dyna... |
Lbellarosa (talk | contribs) |
||
| (23 intermediate revisions by 2 users not shown) | |||
| Line 4: | Line 4: | ||
The coupled scripts ''scylla.sh'' and ''charybdis.sh'' are used to run iteratively molecular dynamics simulations. | The coupled scripts ''scylla.sh'' and ''charybdis.sh'' are used to run iteratively molecular dynamics simulations. | ||
'''Launching''': '' | '''Launching''': ''charybdis.sh name nproc final_time'' (check the ''setup steps'' and ''running steps'' for more details) | ||
'''Output file''': | '''Output file''': directories with prefix ''prfx'', file ''res.dat'' (check the ''setup steps'' for more details) | ||
== INSTALLATION STEPS == | |||
First of all, download the package of scripts: | |||
[[Image:scripts_v1.tgz]] | |||
Place it in the directory of Mare Nostrum ~/bin. If this directory does not exist, create it. | |||
1) If YOU DO NOT HAVE a directory called ~/bin/scripts, put ''scripts.tgz'' inside ~/bin and uncompress it | |||
with the command: ''tar -xvzf scripts.tgz'' and remove ''scripts.tgz''. | |||
2) If YOU HAVE already a directory called ~/bin/scripts, create a new directory exp, put ''scripts.tgz'' | |||
inside ~/bin/exp and uncompress it with the command: ''tar -xvzf scripts.tgz'' and remove ''scripts.tgz''. | |||
Now move the files ''adjust.sh, charybdis.sh, copy.sh'' and ''scylla.sh'' in the directory ~/bin/scripts; remove | |||
~/bin/exp. | |||
Please, check that all the scripts ''adjust.sh, charybdis.sh, copy.sh'' and ''scylla.sh'' are executables (they should | |||
appear green on your screen). If not, run the command ''chmod u+x'' on each of them. | |||
The installation is ready! | |||
== SETUP STEPS == | |||
Before running a calculation with ''scylla'' and ''charybdis'', a special care is needed in the preparation of the input DIRECTORIES. | |||
1) Be sure to be on mn1/mn2 or whatever in marenostrum. | |||
2) In your home directory (~), create all the tree of directories where you want to store your results. For example, create the directories ~/Work/h2o_on_Pt/Gamma_point/Ecut_500/Tr1. | |||
3) In the scratch directory /gpfs/scratch/GROUP/USER, you will create the same tree of directories. In this case, we will have /gpfs/scratch/GROUP/USER/Work/h2o_on_Pt/Gamma_point/Ecut_500/Tr1. | |||
Here, we will put in a directory called dyn_00 our initial (un)optimized geometry... Remember! We need an INCAR, KPOINTS, POSCAR AND POTCAR at least!!! You can simply copy the directory with | |||
all the optimization here: ''scylla'' and ''charybdis'' are smart enough to realize that there is a CONTCAR file and to move it to a POSCAR. | |||
If I want my directories be named, for example, pilly00, just go inside ''charybdis'' and change the correspondent prfx variable (line 25): in this case, I would write ''prfx="pilly"''. | |||
'''IMPORTANT!!!!!''': in the file ''adjust.sh'', the total job time is set to 47H and 55 minutes (line 22); change it if you need a different time. | |||
== RUNNING STEPS == | |||
You are ready to run ''scylla'' and ''charybdis''. The command is: | |||
''charybdis.sh name proc final_time'' | |||
An example of the paraters will clear things up. Let suppose I want to simulate 17 ps of water on Pt(100). '''name''' (the name of the command sub file for the queues) can be h2o_on_Pt100, | |||
'''proc''' (the number of processors; up to date, it is better to put it = to an integer multiple of 16) can be set to 80, and finally '''final_time''' = 17. | |||
So, the command will be: | |||
''charybdis.sh h2o_on_Pt100 80 17'' | |||
All the directories created (dyn_00, dyn_01, dyn_02....) where the dynamics is finished will be moved to your home tree (in the previous example, ~/Work/h2o_on_Pt/Gamma_point/Ecut_500/Tr1). | |||
In the scratch tree directory (/gpfs/scratch/GROUP/USER/Work/h2o_on_Pt/Gamma_point/Ecut_500/Tr1) there is the directory where the dynamics is currently running. | |||
When the full dynamics is finished after $final_time ps, in the scratch tree directory will appear the file ''res.dat'': it's a summary with the results about the trajectories, if they finished well or not. | |||
=== REMARKS === | |||
'''name''': any name WITHOUT dots is accepted. Remember that name CANNOT start with a number or any special character (/,\,*,+...). | |||
and | '''proc''': as I said, it appears that an integer multiple of 16 will make your jobs faster. NEVERTHELESS, I ran all my test jobs on 4 processors, and I didn't have to wait at all and everything | ||
ran smoothly.... | |||
'''final_time''': in picoseconds (ps). If you want to run a dynamics (md) < 1 ps (???), write this time in femtoseconds (fs), and in scylla comment the line 18 and write below it ''tf_fs=$tf_ps''. Please, make sure that the | |||
NSW parameter in the INCAR is an integer dividend of final_time (expressed in fs). For example, if final_time is 18, any parameter NSW = 500, 1000, 1200 or any integer dividend of 18000 will be good, but 700 will run | |||
a dynamics up to 18200 fs (18.2 ps) and then it will stop. | |||
Enjoy! And of course, for any question I'm, unfortunately, here ;) | |||
== FAQ == | |||
1) ''I already ran part of a dynamics without scylla and charybdis, but now that your very cool program is available, I want to start to use it. Is it possible?'' | |||
Of course! THE IMPORTANT THING is to add, in the home tree directory (in the previous example, ~/Work/h2o_on_Pt/Gamma_point/Ecut_500/Tr1) a file named ''Time.dat'' with the number of femtosecond that you have run so far. | |||
Then, you COPY your final directory in /gpfs/scratch/GROUP/USER/Work/h2o_on_Pt/Gamma_point/Ecut_500/Tr1, adding one step to the name. | |||
For example, let suppose you ran 6 ps and your final results were in the directory ''dyn_12''. You create a file named ''Time.dat'' and write inside it 6000; then you COPY your directory ''dyn_12'' in /gpfs/scratch/GROUP/USER/Work/h2o_on_Pt/Gamma_point/Ecut_500/Tr1, and you change its name to ''dyn_13''. ''Scylla'' and ''charybdis'' will enter dyn_13, move the CONTCAR to POSCAR and start to compute what's needed. | |||
Latest revision as of 11:41, 11 January 2013
go back to Main Page, Computational Resources, Scripts, Scripts for VASP
The coupled scripts scylla.sh and charybdis.sh are used to run iteratively molecular dynamics simulations.
Launching: charybdis.sh name nproc final_time (check the setup steps and running steps for more details)
Output file: directories with prefix prfx, file res.dat (check the setup steps for more details)
INSTALLATION STEPS[edit]
First of all, download the package of scripts:
File:Scripts v1.tgz
Place it in the directory of Mare Nostrum ~/bin. If this directory does not exist, create it.
1) If YOU DO NOT HAVE a directory called ~/bin/scripts, put scripts.tgz inside ~/bin and uncompress it with the command: tar -xvzf scripts.tgz and remove scripts.tgz.
2) If YOU HAVE already a directory called ~/bin/scripts, create a new directory exp, put scripts.tgz inside ~/bin/exp and uncompress it with the command: tar -xvzf scripts.tgz and remove scripts.tgz. Now move the files adjust.sh, charybdis.sh, copy.sh and scylla.sh in the directory ~/bin/scripts; remove ~/bin/exp.
Please, check that all the scripts adjust.sh, charybdis.sh, copy.sh and scylla.sh are executables (they should appear green on your screen). If not, run the command chmod u+x on each of them.
The installation is ready!
SETUP STEPS[edit]
Before running a calculation with scylla and charybdis, a special care is needed in the preparation of the input DIRECTORIES.
1) Be sure to be on mn1/mn2 or whatever in marenostrum.
2) In your home directory (~), create all the tree of directories where you want to store your results. For example, create the directories ~/Work/h2o_on_Pt/Gamma_point/Ecut_500/Tr1.
3) In the scratch directory /gpfs/scratch/GROUP/USER, you will create the same tree of directories. In this case, we will have /gpfs/scratch/GROUP/USER/Work/h2o_on_Pt/Gamma_point/Ecut_500/Tr1. Here, we will put in a directory called dyn_00 our initial (un)optimized geometry... Remember! We need an INCAR, KPOINTS, POSCAR AND POTCAR at least!!! You can simply copy the directory with all the optimization here: scylla and charybdis are smart enough to realize that there is a CONTCAR file and to move it to a POSCAR. If I want my directories be named, for example, pilly00, just go inside charybdis and change the correspondent prfx variable (line 25): in this case, I would write prfx="pilly".
IMPORTANT!!!!!: in the file adjust.sh, the total job time is set to 47H and 55 minutes (line 22); change it if you need a different time.
RUNNING STEPS[edit]
You are ready to run scylla and charybdis. The command is:
charybdis.sh name proc final_time
An example of the paraters will clear things up. Let suppose I want to simulate 17 ps of water on Pt(100). name (the name of the command sub file for the queues) can be h2o_on_Pt100, proc (the number of processors; up to date, it is better to put it = to an integer multiple of 16) can be set to 80, and finally final_time = 17. So, the command will be:
charybdis.sh h2o_on_Pt100 80 17
All the directories created (dyn_00, dyn_01, dyn_02....) where the dynamics is finished will be moved to your home tree (in the previous example, ~/Work/h2o_on_Pt/Gamma_point/Ecut_500/Tr1). In the scratch tree directory (/gpfs/scratch/GROUP/USER/Work/h2o_on_Pt/Gamma_point/Ecut_500/Tr1) there is the directory where the dynamics is currently running. When the full dynamics is finished after $final_time ps, in the scratch tree directory will appear the file res.dat: it's a summary with the results about the trajectories, if they finished well or not.
REMARKS[edit]
name: any name WITHOUT dots is accepted. Remember that name CANNOT start with a number or any special character (/,\,*,+...).
proc: as I said, it appears that an integer multiple of 16 will make your jobs faster. NEVERTHELESS, I ran all my test jobs on 4 processors, and I didn't have to wait at all and everything ran smoothly....
final_time: in picoseconds (ps). If you want to run a dynamics (md) < 1 ps (???), write this time in femtoseconds (fs), and in scylla comment the line 18 and write below it tf_fs=$tf_ps. Please, make sure that the NSW parameter in the INCAR is an integer dividend of final_time (expressed in fs). For example, if final_time is 18, any parameter NSW = 500, 1000, 1200 or any integer dividend of 18000 will be good, but 700 will run a dynamics up to 18200 fs (18.2 ps) and then it will stop.
Enjoy! And of course, for any question I'm, unfortunately, here ;)
FAQ[edit]
1) I already ran part of a dynamics without scylla and charybdis, but now that your very cool program is available, I want to start to use it. Is it possible?
Of course! THE IMPORTANT THING is to add, in the home tree directory (in the previous example, ~/Work/h2o_on_Pt/Gamma_point/Ecut_500/Tr1) a file named Time.dat with the number of femtosecond that you have run so far. Then, you COPY your final directory in /gpfs/scratch/GROUP/USER/Work/h2o_on_Pt/Gamma_point/Ecut_500/Tr1, adding one step to the name. For example, let suppose you ran 6 ps and your final results were in the directory dyn_12. You create a file named Time.dat and write inside it 6000; then you COPY your directory dyn_12 in /gpfs/scratch/GROUP/USER/Work/h2o_on_Pt/Gamma_point/Ecut_500/Tr1, and you change its name to dyn_13. Scylla and charybdis will enter dyn_13, move the CONTCAR to POSCAR and start to compute what's needed.