Statistiques
| Révision :

root / doc / Mini_help.tex @ 2

Historique | Voir | Annoter | Télécharger (15,31 ko)

1
\documentclass[a4paper,11pt]{article}
2
\usepackage{a4wide}
3
%\usepackage{times}
4
\usepackage{graphicx}
5
\usepackage[body={16cm,24.5cm}]{geometry}
6
\usepackage[latin1]{inputenc}
7
\usepackage[T1]{fontenc}
8
\usepackage{ae,aecompl} 
9
%\input{m-pictex.tex}
10
%\usepackage{m-ch-en}
11
\usepackage{amsmath,amssymb}
12
%\usepackage{slashbox}
13
%\usepackage{psfrag}
14
%\usepackage{multirow}
15
%\usepackage{amscd}
16
%\usepackage{empheq}
17
%\usepackage{yhmath}
18
%\usepackage{array}
19
\usepackage{fancyhdr}
20
%\usepackage{braket}
21
\usepackage{marvosym}
22
%\usepackage{xr}
23

    
24

    
25
\DeclareGraphicsExtensions{.eps,.ps}
26
\graphicspath{{.}{../}}
27

    
28
\renewcommand{\arraystretch}{1.2}
29
\setcounter{tocdepth}{2}
30
\makeatletter
31
\@addtoreset{section}{part}
32
\makeatother
33

    
34
\lhead[]{}
35
\rhead[]{}
36
\cfoot{}
37
\title{OpenPath mini-help}
38
\author{P. Fleurat-Lessard, P. Dayal \\
39
Laboratoire de Chimie de l'ENS Lyon, 46 all?e d'Italie, F-69364 Lyon
40
Cedex 7}
41
\date{Feb. 2011}
42

    
43
\def\Path{\texttt{OpenPath}}
44
\begin{document}
45
\maketitle
46

    
47
\section{introduction}
48
\Path{} is a program that can optimize a reaction path between two
49
  structures. The algorithm to optimize the path is close to the string
50
  method. The originality of this program lies in the coordinate set it
51
 can use to generate and optimize the path.
52

    
53
This program is an independant program that calls standard electronic
54
  structure codes to get the energies and forces it needs to optimize
55
  the reaction path. For now, it is coupled to Gaussian, MOPAC2009,
56
  Vasp and Turbomole.
57

    
58
\section{Installation}
59
We suppose here that you will install \Path{} into a directory called
60
\texttt{OpenPath}. First, create the directory: 
61
\begin{verbatim}
62
 mkdir OpenPath
63
 cd OpenPath
64
 mv ../OpenPath.tgz .
65
\end{verbatim}
66
Uncompress the archive:
67
\begin{verbatim}
68
 gunzip OpenPath.tgz
69
 tar -xvf OpenPath.tar
70
\end{verbatim}
71
You should now have this \texttt{Mini\_help.pdf} file and 4 directories (doc, src, utils, examples).
72

    
73
\section{Compilation}
74
Go to the directory  in which you have uncompressed the files.
75
Change to the \texttt{src} directory. 
76
Edit the \texttt{Makefile} to change the \texttt{Machine} description
77
according to the compiler you want to use. Main choices are:
78
gfortran, g95, ifort, pgf, xlf and pathscale for now. You might also
79
have to check that the locations of 
80
the libraries are ok.
81
Type \texttt{make}. You should now have a file called
82
\texttt{Path.exe} in this directory, as well as two utilities called
83
\texttt{xyz2scan} and \texttt{xyz2path} located in the \texttt{utils}
84
directories. You should copy all these executables to your
85
\texttt{~/bin} directory (or any place from which they can be executed).
86

    
87
\section{Use}
88
\subsection{Path calculation}
89
 To call \Path{}, you can type:
90
\verb=Path.exe Input_file Output_file=
91
The input file \texttt{Input\_file} is based on a namelist and looks like:
92
\begin{verbatim}
93
 &path
94
 nat=3, ! Number of atoms
95
 ngeomi=3, ! Number of initial geometries 
96
 ngeomf=12, !Number of geometries along the path
97
 OptReac=.T., ! Do you want to optimize the reactants ?
98
 OptProd=.T., ! Optimize the products
99
 coord='zmat', ! We use Z-matrix coordinates
100
 maxcyc=31, ! Max number of iterations 
101
 IReparam=2,! re-distribution of points along the path every 2 iterations
102
 ISpline=50, ! Start using spline interpolation at iteration 50
103
 Hinv=.T. , ! Use inverse of the Hessian internally (default: T)
104
 MW=T, ! Works in Mass Weighted coordiante (default T)
105
 PathName='Path_HCN_zmat_test', ! Name of the file used for path outputs
106
 prog='gaussian',! we use G03 to get energy and gradients
107
 SMax=0.1 ! Displacement cannot exceed 0.1 atomic units (or mass weighted at. unit)
108
 /
109
  3
110
 Energy :      0.04937364
111
 H     0.0000     0.0000     0.0340
112
 C     0.0000     0.0000     1.1030
113
 N     0.0000     0.0000     2.2631
114
  3
115
 Energy :      0.04937364
116
 H     0.0000     1.1000     1.1030
117
 C     0.0000     0.0000     1.1030
118
 N     0.0000     0.0000     2.2631
119
3
120
 CNH
121
H 0.000000    0.000000    3.3
122
C 0.000000    0.000000    1.1
123
N 0.000000    0.000000    2.26
124
%chk=Test
125
#P  AM1 FORCE
126

    
127
 HCN est bien 
128

    
129
0,1
130
H 0.000000    0.000000    0.000000
131
C 0.000000    0.000000    1.000
132
N 0.000000    0.000000    3.00
133

    
134
\end{verbatim}
135

    
136
   Compulsory variables are: 
137
\begin{description}
138
\item          NGeomi: Number of geometries defining the Initial path 
139
\item          NGeomf: Number of geometries defining the Final path 
140
\item         Nat   : Number of atoms 
141
\end{description}
142
           
143
          Other options 
144
\begin{description}
145
\item  Input: string that indicates the type of the input geometries.
146
          Accepted values are: Cart (or Xmol or Xyz) or Vasp 
147
\item    Prog: string that indicates the program that will be used for energy and gradient calculations. 
148
               Accepted values are: Gaussian, Vasp or Ext. \\
149
                In case of a Gaussian calculations, input must be set to Cart. 
150
                One example of a gaussian input should be added at the end of the 
151
                input file.See example file \texttt{Test\_HCN\_zmat\_g03.path}. \\
152
                In the case of a VASP calculation, if input is set to Cart, then 
153
              the preamble of a VASP calculation should be added at the end of 
154
              the input file. See example file \texttt{Test\_VASP\_cart.path}. 
155
              In the case of a VASP calculation, one should also give value of the  
156
              \texttt{RunMode} variable .
157

    
158
\item RunMode: This indicates wether \Path{} should use VASP
159
              routine to calculate the energy and gradient of the whole path
160
              or not. User has two options. One is to calculate the energy and
161
              gradient of each point sequentially. This is usefull when
162
              running on one (or two) processors. In this case,
163
              \texttt{RunMode} should be put to \texttt{SERIAL}.When running
164
              in parallel with 8 or more processors, one can use VASP to
165
              calculate simultaneously the energies and gradients for all
166
              points, as in a normal NEB calculation. In this case,
167
              \texttt{RunMode} must be set to \texttt{PARA}.
168
\item ProgExe: Name (with full path) of the executable to be used to get
169
  energies and gradients. For example, if VASP is used in parallel, one might
170
  have something like: \\ 
171
\verb!ProgExe='/usr/local/mpich/bin/mpirun -machinefile machine -np 8 ~/bin/VASP_46'!.
172
Another option that I use, is to put \verb!ProgExe='./run_vasp'! and I put every option needed to run VASP
173
into the \texttt{run\_vasp} file. 
174
\item   PathName: Prefix used to save the path. Default is Path 
175
\item   Poscar: string that will be used as the prefix for the different  
176
           POSCAR files in a VASP calculations. Usefull only if PathOnly=.TRUE., 
177
           not used for internal calculations. 
178
\item   IGeomRef: Index of the geometry used to construct the internal coordinates. 
179
         Valid only for Coord=Zmat, Hybrid or Mixed 
180
\item   Fact: REAL used to define if two atoms are linked. 
181
         If $d(A,B) \leq fact*(rcov(A)+rcov(B))$, then A and B are considered Linked. 
182
\item   debugFile: Name of the file that indicates which subroutine should print debug info. 
183
\item   Coord: System of coordinates to use. Possible choices are: 
184
          - CART (or Xyz): works in cartesian 
185
          - Zmat: works in internal coordinates (Zmat) 
186
          - Mixed: frozen atoms, as well as atoms defined by the  
187
          'cart' array(see below) are describe in CARTESIAN, whereas the 
188
          others are described in Zmat  
189
          - Baker: use of Baker coordinates, also called delocalized internal coordinates 
190
          - Hybrid: geometries are described in zmat, but the gradient are used in cartesian 
191
\item   Step\_method: method to compute the step for optimizing a geometry; choices are:  
192
          - RFO: Rational function optimization 
193
          - GDIIS: Geometry optimization using direct inversion in the iterative supspace 
194
\item    HesUpd: method to update the hessian. By default, it is Murtagh-Sargent 
195
         Except for geometry optimization where it is BFGS. 
196
\item   MaxCyc: maximum number of iterations for the path optimization 
197
\item   Smax: Maximum length of a step during path optimization 
198
\item   SThresh: Step Threshold to consider that the path is stationary 
199
\item   GThresh: Gradient Threshold to consider that the path is stationary, only orthogonal part is taken 
200
\item   FTan: We moving the path, this gives the proportion of the displacement tangent to the path 
201
         that is kept. FTan=1. corresponds to the full displacement,  
202
         whereas FTan=0. gives a displacement orthogonal to the path. 
203
\item   IReparam: The path is not reparameterised at each iteration. This gives the frequency of reparameterization. 
204
\item   ISpline: By default, a linear interpolation is used to generate the path. 
205
            This option indicates the first step where spline interpolation is used. 
206
\end{description}
207
           
208
          Arrays: 
209
\begin{description}
210
\item   Rcov: Array containing the covalent radii of the first 80 elements. 
211
         You can modify it using, \verb!rcov(6)=0.8!. 
212
\item   Mass: Array containing the atomic mass of the first 80 elements. 
213
\item   AtTypes: Name of the different atoms used in a VASP calculations. 
214
          If not given, Path will read the POTCAR file. 
215
\end{description}
216
           
217
          Flags: 
218
\begin{description}
219
\item        MW:  Flag. True if one wants to work in Mass Weighted coordinates. Default=.TRUE. 
220
\item       Renum: Flag. True if one wants to reoder the atoms in the initial order. default is .TRUE. most of the time. 
221
\item       OptProd: True if one wants to optimize the geometry of the products. 
222
\item       OptReac: True if one wants to optimize the geometry of the reactants. 
223
\item       PathOnly:TRUE if one wants to generate the initial path, and stops.  
224
\item       Hinv: if True, then Hessian inversed is used. 
225
\item       IniHup: if True, then Hessian inverse is extrapolated using the initial path calculations. 
226
\item       HupNeighbour: if True, then Hessian inverse is extrapolated using the neighbouring points of the path. 
227
\item       FFrozen: True if one wants to freeze the positions of some atoms.  
228
                If True, a \verb!&frozenlist! namelist containing the list of frozen atoms must be given. 
229
                 If VASP is used, and frozen is not given 
230
        here, the program will use the F flags of the input geometry 
231
\item       FCart:  True if one wants to describe some atoms using cartesian coordinates.  
232
               *** Only used in 'mixed' calculations. *** 
233
             If True, a \verb!&cartlist! namelist containing the list of cart atoms must be given. 
234
             By default, only frozen atoms are described in cartesian coordinates. 
235
        
236
\item       Autocart: True if you want to let the program choosing the cartesian atoms. 
237
\item       VMD: TRUE if you want to use VMD to look at the Path. Used only for VASP for now 
238
\end{description}
239

    
240
More to come...      have a look at the files provided in the
241
\texttt{examples} directory. In particular, you will find there three
242
directories containing easy-to-use examples. That is, each directory contains
243
all the files you need to launch the application. For now, you have working
244
examples for:
245
\begin{enumerate}
246
\item \texttt{Gaussian}: Examples  using sequential call
247
  to Gaussian to calculate the energies and forces along the path. 
248
\item \texttt{VASP}: Examples  using 
249
  to VASP to calculate the energies and forces along the path.
250
As VASP can perform NEB calculations, Path can use it in two ways:
251
Serial or Parallel. 
252
\begin{itemize}
253
\item[Serial] 
254
In the Serial mode, Path uses Vasp to compute the energy and forces of each image separately (as it does for Gaussian for example).
255
Therefore, the INCAR file should not contain any references to the number of images (no IMAGES command!).
256

    
257
\item[Parallel]
258
In the Parallel mode, Path uses VASP to compute at once the energies and forces for all the images (as VASP does for a NEB calculation).
259
Therefore, the INCAR file MUST contain the IMAGES command.
260
More, the directories 00, 01, ... should exist.
261

    
262
\item[Home or Scratch ?]
263
On our local cluster, it is adviced to perform the calculations on the
264
/scratch directory that is local rather than on the /home that is
265
mounted  via NFS and is thus slow. 
266
However, when doing so, we sometimes had troubles with VASP, and
267
discovered that all files should be copied on the /scratch of all
268
machines. 
269
Therefore, the scripts are a bit tricky.
270
In case your computer center is similar to ours, we provide 2 SGE
271
scripts: 
272
\begin{itemize}
273
\item[run\_Path\_SGE\_home] performs the VASP calculations in the /home
274
directory 
275
\item[run\_Path\_SGE\_scratch] creates the directories, copies the
276
  files and performs the VASP calculations in the local /scratch
277
  directories.
278
\end{itemize}
279
\end{itemize}
280
\item \texttt{Mopac}: Examples  using sequential call
281
  to MOPAC2009 to calculate the energies and forces along the path.
282
\item \texttt{Test}: Examples  using the analytical HCN potential
283
  energy surface to calculate the energies and forces along the path.
284
As this is fast, we also provide other Analysis tools.
285
See README files in the Cart and Zmat subdirectories.
286
\end{enumerate}
287

    
288
\subsection{Path analysis}
289
In order to analyse the path evolution, we provide some utilities, in
290
the \texttt{utils} directory. \texttt{xyz2scan} and \texttt{xyz2path}
291
have to be compiled. For this, go to either the \texttt{src} or the
292
\texttt{utils} directory and type \texttt{make utils}.
293
Here is a brief description of these utilities.
294

    
295
\begin{itemize}
296
\item \texttt{AnaPath} and/or \texttt{AnaPathref} \\
297
These scripts analyse a calculated path. They use \texttt{xyz2path} to
298
convert the cartesian coordinates saved by \Path{} into a data file
299
(called PathName.datl) that be plotted using the gnuplot files that are
300
also created. They all plot the path energy  but in different ways:
301
\begin{itemize}
302
\item[PathName\_l.gplot] plots the energy of the first iteration (the
303
  initial path) together with the energy of the following iterations,
304
  but one at a time.
305
\item[PathName\_l2.gplot]  plots the energy of the path for all
306
  iterations, with respect to the
307
curvilinear distance along the path.
308
\item[PathName\_l3.gplot]  plots the energy of the path for all
309
  iterations, with respect to the index of the images.
310
\end{itemize}
311
\item \texttt{xyz2path} and \texttt{xyz2scan} convert a bunch of
312
  cartesian coordinates into 
313
  a data file. They are very similar: the only difference is the way
314
  they print their results. For \texttt{xyz2scan} the analyses are
315
  indiced using the geometry number whereas \texttt{xyz2path} computes
316
  the mass weighted distance between two geometries and uses this
317
  distance to index the results. \\
318
They both use a file called 'list' to perform the analysis,  which has
319
the following structure:  each line contains the type of the value you
320
want to follow, it can be:
321
\begin{itemize}
322
\item[b]  for a Bond distance
323
\item[a] for an angle
324
\item[d] for a dihedral
325
\item[c] to create a center of mass
326
\end{itemize}
327
This descriptor is followed by the number of the atoms involved.  The
328
exception, is the \texttt{c} command that is followed by the number of
329
atoms used to define this center of mass, and then the index of the atoms.
330
A typical file can be:
331
\begin{verbatim}
332
 b  1  2
333
 b 2  3
334
 a 1 2 3
335
 c  2 1 2   <- create a new atom located at the middle of the 1-2 bond.
336
\end{verbatim}
337

    
338
The cartesian geometries have to follow the XMol format. If the
339
comment line contains \texttt{E=} then \texttt{xyz2scan} and
340
\texttt{xyz2path} will read the following number and take it as the
341
image energy.
342
\end{itemize}
343

    
344
\end{document}