RDF: Difference between revisions
Lbellarosa (talk | contribs) No edit summary |
Lbellarosa (talk | contribs) No edit summary |
||
| Line 81: | Line 81: | ||
# Cell costant and lattice vectors... | # Cell costant and lattice vectors... | ||
== param.dat: detailed examination with | |||
== param.dat: detailed examination == | |||
I will examine this file, row by row (excluding the blank lines, important only for aesthetic reasons). | |||
''1st row'': commented. This is not read by ''x.RDF'', but it is important for the user because specifies which parameters we want to use for the RDF calculation. | |||
''2nd row'' | |||
nCat: number of categories I want to compute. This is basically the number of different RDF I want to calculate. For example, if I have a dynamics with water, I can be interested in the calculation of RDF between the oxygens, and between oxygens and hydrogens: in this case, nCat = 2 | |||
nTyp: number of different species of atoms. For example, if I have specified ''Pt H O C H O'' in row 9 (see below), nTyp = 6 | |||
dR: step of the grid (in angstrom) on which I compute the RDF. If, by definition, RDF is the normalized number of atoms between ''R'' and ''R+dR'', this dR is the theoretical ''dR''. | |||
dZ: only used for 2D-RDF. Specified as an initial guess for the distribution of layers. It tells roughly the height of each layer on which compute the 2D-RDF. | |||
ncyc: number of geometries in the file ''Movie.xyz''. If you have just one snapshot, put 1. | |||
DN: it tells ''x.RDF'' after how many snapshot you want to compute a new RDF. The initial RDF is always computed. For example, if you have a dynamics of 150 fs, you could ask the program to print the RDF every 30 fs (DN = 30). In this case, you would have 6 output files: (1) for the initial RDF, (2) at 30 fs, (3) at 60 fs, (4) at 90 fs, (5) at 120 fs, and (6) at 150 fs. | |||
rcut: cut-off radius (in angstrom) for the RDF. Basically, I will not compute the RDF of one atom with any other more than rcut angstrom far away. | |||
dimensionality: if specifies if I want a BI-dimensional (dimensionality=2) or TRI-dimensional (dimensionality=3) RDF. | |||
Revision as of 15:33, 10 October 2013
go back to Main Page, Computational Resources, Scripts, VASP, Núria López and Group, Scripts for VASP
Description
This program computes the Radial Distribution Function (RDF) for a given system, being it a single geometry, an optimization, or a dynamics. For more infos about what the RDF is, please check: [1].
Setting up the program
First, we download the following file:
Tar/zipped directory ==> File:RDF.tgz
and we untar and unzip it with the following command:
user@computer: tar -xvzf RDF.tgz
A directory called ( quite unoriginally ¬¬ ) "RDF" will appear in your current directory. You enter the directory and do the following commands:
user@computer: a=`ls *.f` user@computer: f95 $a -o x.RDF [NOTE: if you don't have f95, try using ifort or g95, otherwise download and install a proper compiler for the program.]
The program is now ready.
Input file: preparation
Two inputs are parsed by the program to compute the radial distribution function: Movie.xyz and param.dat.
Movie.xyz
This is the xyz format file with your geometry/geometries. It is in standard xyz format; if you have an OUTCAR/CONTCAR/POSCAR, translate it in xyz, with the script ngeom.sh for example (link: ngeom.sh).
param.dat
In param.dat I specify how many and what kind of RDF I want, between which atoms, if it is BI- or TRI-dimensional RDF, and other details.
Example:
Please find above an example of the param.dat, with a short description of the keywords. Don't worry, is much easier than it seems at first sight.
In the directory you unzipped there is already a param.dat file, so you have just to modify it.
NOTE: in param.dat, you can insert data unformatted by columns: the program x.RDF does not care. Nevertheless, the number of the rows and blank lines have to be respected.
So, for example, you could have:
[input 1]
# nCat nTyp dR dZ ....
1 2 0.08 1.5 ...
[blank]
# Cell costant and lattice vectors...
or
[input 2]
# nCat nTyp dR dZ .... 1 2 0.08 1.5 ... <== Format of the second line different from the [input 1] [blank] # Cell costant and lattice vectors...
They are both ok.
YOU CANNOT HAVE:
[input 3]
# nCat nTyp dR dZ ....
1 2 0.08 1.5 ...
[blank]
[blank] <== One more [blank] than needed!!
# Cell costant and lattice vectors...
or
[input 4]
<== Missing the first commented first line!!
1 2 0.08 1.5 ...
[blank]
# Cell costant and lattice vectors...
param.dat: detailed examination
I will examine this file, row by row (excluding the blank lines, important only for aesthetic reasons).
1st row: commented. This is not read by x.RDF, but it is important for the user because specifies which parameters we want to use for the RDF calculation.
2nd row
nCat: number of categories I want to compute. This is basically the number of different RDF I want to calculate. For example, if I have a dynamics with water, I can be interested in the calculation of RDF between the oxygens, and between oxygens and hydrogens: in this case, nCat = 2
nTyp: number of different species of atoms. For example, if I have specified Pt H O C H O in row 9 (see below), nTyp = 6
dR: step of the grid (in angstrom) on which I compute the RDF. If, by definition, RDF is the normalized number of atoms between R and R+dR, this dR is the theoretical dR.
dZ: only used for 2D-RDF. Specified as an initial guess for the distribution of layers. It tells roughly the height of each layer on which compute the 2D-RDF.
ncyc: number of geometries in the file Movie.xyz. If you have just one snapshot, put 1.
DN: it tells x.RDF after how many snapshot you want to compute a new RDF. The initial RDF is always computed. For example, if you have a dynamics of 150 fs, you could ask the program to print the RDF every 30 fs (DN = 30). In this case, you would have 6 output files: (1) for the initial RDF, (2) at 30 fs, (3) at 60 fs, (4) at 90 fs, (5) at 120 fs, and (6) at 150 fs.
rcut: cut-off radius (in angstrom) for the RDF. Basically, I will not compute the RDF of one atom with any other more than rcut angstrom far away.
dimensionality: if specifies if I want a BI-dimensional (dimensionality=2) or TRI-dimensional (dimensionality=3) RDF.