Scylla&charybdis.tgz: Difference between revisions
| Line 81: | Line 81: | ||
'''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 | 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. | ||
Revision as of 11:59, 10 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 (check the setup steps for more details)
INSTALLATION STEPS
First of all, download the package of scripts:
File:Scripts.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.
Plese, 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".
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 (/,\,*,+...).
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.