Scylla&charybdis.tgz: Difference between revisions

From Wiki
Jump to navigation Jump to search
Lbellarosa (talk | contribs)
 
(14 intermediate revisions by 2 users not shown)
Line 6: Line 6:
'''Launching''': ''charybdis.sh name nproc final_time'' (check the ''setup steps'' and ''running steps'' for more details)
'''Launching''': ''charybdis.sh name nproc final_time'' (check the ''setup steps'' and ''running steps'' for more details)


'''Output file''': directories with prefix ''prfx'' (check the ''setup steps'' for more details)
'''Output file''': directories with prefix ''prfx'', file ''res.dat'' (check the ''setup steps'' for more details)
 




Line 17: Line 16:
First of all, download the package of scripts:
First of all, download the package of scripts:


       [[Image:scripts.tgz]]
       [[Image:scripts_v1.tgz]]


Place it in the directory of Mare Nostrum ~/bin. If this directory does not exist, create it.
Place it in the directory of Mare Nostrum ~/bin. If this directory does not exist, create it.
Line 29: Line 28:
~/bin/exp.
~/bin/exp.


Plese, check that all the scripts ''adjust.sh, charybdis.sh, copy.sh'' and ''scylla.sh'' are executables (they should
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.
appear green on your screen). If not, run the command ''chmod u+x'' on each of them.


The installation is ready!
The installation is ready!


== SETUP STEPS ==
== SETUP STEPS ==
Line 51: Line 48:
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"''.
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 ==
== RUNNING STEPS ==
Line 69: Line 66:
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).
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.
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.
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.
 




Line 81: Line 77:


'''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  
'''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 a 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  
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.
a dynamics up to 18200 fs (18.2 ps) and then it will stop.


Line 91: Line 87:


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.
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.