Scylla&charybdis.tgz: Difference between revisions

From Wiki
Jump to navigation Jump to search
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''': ''ngeom.sh OUTCAR'' (no comments needed)
'''Launching''': ''charybdis.sh name nproc final_time'' (check the ''setup steps'' and ''running steps'' for more details)


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


'''Used files/subprograms''': ''x.Cell''




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




== INSTALLATION STEPS ==


You are ready to run ''scylla'' and ''charybdis''. The command is:


''charybdis.sh name proc final_time''


1) First of all, download the program:
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:


      [[Image:Cell.tgz]]
''charybdis.sh h2o_on_Pt100 80 17''


uncompress it and compile it: ''f77 Cell.f -o x.Cell''. Place it in a directory of your choice (for simplicity, named directory A).
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.




2) Download the script:
=== REMARKS ===


      [[Image:ngeom.tgz]]
'''name''': any name WITHOUT dots is accepted. Remember that name CANNOT start with a number or any special character (/,\,*,+...).


and uncompress it.  
'''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.


3) CHANGE IN LINE 14 OF ''ngeom.sh'' ''path=/home/lbellarosa/src/complex/Cell'' with the path of where you put your directory A.
Enjoy! And of course, for any question I'm, unfortunately, here ;)


== FAQ ==


4) Now you can run the script typing:
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?''


      ngeom.sh OUTCAR
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.