Wiki

Version 1 (Emmanuel Quemener, 26/01/2011 12:18)

1 1 Emmanuel Quemener
h1. Portage de Carte en Open Source
2 1 Emmanuel Quemener
3 1 Emmanuel Quemener
Les éléments suivants sont repris de la page officielle du CBP sur le projet [[http://www.cbp.ens-lyon.fr/tiki-index.php?page=CarteOpenSource&bl=y]]
4 1 Emmanuel Quemener
5 1 Emmanuel Quemener
*Mots clés :* détermination de mécanismes., optimisation de chemin de réaction, coordonnées "chimiques"
6 1 Emmanuel Quemener
7 1 Emmanuel Quemener
h2. Introduction
8 1 Emmanuel Quemener
9 1 Emmanuel Quemener
Lorsque l'on considère des processus simples , mettant en jeu des réactifs de taille modeste, l'expérience du chimiste (ou du physicien, biochimiste...) est souvent suffisante pour avoir une idée raisonnable du mécanisme réactionnel sous-jacent. Cependant, dès que l'on considère un système réaliste, la détermination des mécanismes devient un art, et l'outil numérique devient un outil nécéssaire. Cependant, la plupart des méthodes actuelles génèrent un premier chemin possible, et tentent de l’améliorer de façon itérative. Une des difficultés à surmonter est le nombre très important de degrés de liberté d’une telle réaction : parmi tous les substituants, lesquels sont réellement décisifs pour le cours de la réaction ? L’expérience montre que souvent une très grande partie des substituants joue un rôle spectateur pendant une majorité des étapes élémentaires. Cependant, les programmes classiques ne savent pas différencier un groupe spectateur d’un groupe actif, et doivent ainsi considérer des milliers de distorsions possibles.
10 1 Emmanuel Quemener
11 1 Emmanuel Quemener
Notre approche est originale car notre programme de recherche de mécanisme se base sur la notion de groupe et de fonction réactive (telles qu’un substituant méthyle, un carbonyle…) et non plus simplement sur les atomes. Ceci permet la plupart du temps d’obtenir des chemins initiaux plus proches du processus réel que les méthodes standards. De plus, nous utilisons des algorithmes robustes et efficaces pour optimiser le chemin ce qui conduit à des temps de calculs bien inférieurs à ceux des approches usuelles.
12 1 Emmanuel Quemener
13 1 Emmanuel Quemener
h2. Le Pourquoi
14 1 Emmanuel Quemener
15 1 Emmanuel Quemener
Carte est un logiciel de construction et d'optimisation de chemin de réactions développé en Fortran 90 développé par Paul Fleurat-Lassard depuis une quinzaine d'années.
16 1 Emmanuel Quemener
Carte utilise une analyse des systèmes réactifs basée sur la notion de groupes réactifs et de groupes spectateurs, ce qui lui permet d'être très efficace dans la construction d'un chemin initial et dans son optimisation pour trouver le mécanisme d'un processus.
17 1 Emmanuel Quemener
Pour optimiser les chemins, Carte est couplé à des 'moteurs énergétiques' tels que Gaussian, MOPAC2009 ou VASP. Il existe aussi déjà la possibilité de le coupler à un code quelconque en utilisant des fichiers formatés.
18 1 Emmanuel Quemener
19 1 Emmanuel Quemener
De manière à assurer la pérennité du logiciel, de permettre son extension par la contribution des utilisateurs, de valoriser son existence dans le domaine des logiciels scientifiques, il serait souhaitable que ce logiciel puisse être compilé le plus simplement possible sur les architectures de calcul scientifique classiques, souvent basées autour de distribution GNU/Linux.
20 1 Emmanuel Quemener
h2. Le Quoi
21 1 Emmanuel Quemener
22 1 Emmanuel Quemener
Le travail se décompose en plusieurs étapes :
23 1 Emmanuel Quemener
24 1 Emmanuel Quemener
* vérifier la compatibilité du logiciel avec un environnement de développement OpenSource (pour le compilateur, les librairies, etc)
25 1 Emmanuel Quemener
* remplacer le cas échéant les librairies propriétaires utilisées par des équivalents Open Source
26 1 Emmanuel Quemener
* assurer la pérennité du logiciel en le préparant aux futurs standard de Fortran (Fortran 95)
27 1 Emmanuel Quemener
* créer une forge de développement pour permettre aux personnes intéressées de participer à son enrichissement 
28 1 Emmanuel Quemener
29 1 Emmanuel Quemener
h2. Le Qui
30 1 Emmanuel Quemener
31 1 Emmanuel Quemener
* Pour qui : le logiciel est destiné à un public de chimistes théoriques
32 1 Emmanuel Quemener
* Par qui :
33 1 Emmanuel Quemener
** *le chef de projet fonctionnel* est Paul Fleurat-Lassard
34 1 Emmanuel Quemener
** *le chef de projet informatique* est Emmanuel Quemener 
35 1 Emmanuel Quemener
36 1 Emmanuel Quemener
h2. Le Quand
37 1 Emmanuel Quemener
38 1 Emmanuel Quemener
Aucune pression temporelle spécifique n'existe pour l'heure sur ce travail.
39 1 Emmanuel Quemener
40 1 Emmanuel Quemener
h2. Le Où
41 1 Emmanuel Quemener
42 1 Emmanuel Quemener
Le Centre Blaise Pascal mettra à disposition ses ressources matérielles et logicielles pour l'intégration logicielle dans un domaine OpenSource. Les environnements matériels se limiteront aux architectures i686 et x86_64.
43 1 Emmanuel Quemener
Le PSMN sera utilisé pour évaluer la portabilité sur des compilateurs commerciaux et sur d'autre.
44 1 Emmanuel Quemener
45 1 Emmanuel Quemener
h2. Le Combien
46 1 Emmanuel Quemener
47 1 Emmanuel Quemener
L'utilisation d'outils OpenSource étant le contexte du projet, autant que possible, aucun coût logiciel n'est, pour l'heure, envisagé.
48 1 Emmanuel Quemener
49 1 Emmanuel Quemener
h2. Le Comment
50 1 Emmanuel Quemener
51 1 Emmanuel Quemener
# Vérification de la compilation sur architecture Open Source
52 1 Emmanuel Quemener
# Création d'un projet sur une forge en accès restreint
53 1 Emmanuel Quemener
# Evaluation des routines propriétaires à remplacer
54 1 Emmanuel Quemener
# Développement d'un jeu de tests pour l'intégraton
55 1 Emmanuel Quemener
# Evaluation des librairies de remplacement
56 1 Emmanuel Quemener
# Remplacement des fonctions par leurs équivalents
57 1 Emmanuel Quemener
# Vérification du fonctionnement par l'application du jeu de test
58 1 Emmanuel Quemener
# Ouverture du projet sur la forge en accès public
59 1 Emmanuel Quemener
# Paquetage du logiciel sur la distribution Debian 
60 1 Emmanuel Quemener
61 1 Emmanuel Quemener
h1. Téléchargement du logiciel Carte
62 1 Emmanuel Quemener
63 1 Emmanuel Quemener
Le dossier @path@ contient, dans le _Repository_, tous les sources du programme.
64 1 Emmanuel Quemener
65 1 Emmanuel Quemener
Il est nécessaire de disposer d'un client @subversion@ pour télécharger les sources.
66 1 Emmanuel Quemener
67 1 Emmanuel Quemener
La récupération de l'ensemble des sources du projet se réalise avec la commande suivante : @svn checkout http://forge.cbp.ens-lyon.fr/svn/carte2opensource@
68 1 Emmanuel Quemener
* l'identifiant présenté ici est celui associé à la session utilisateur : ici @carteuser@
69 1 Emmanuel Quemener
* si l'identifiant convient : 
70 1 Emmanuel Quemener
** entrer le mot de passe 
71 1 Emmanuel Quemener
* si l'identifiant ne convient pas : 
72 1 Emmanuel Quemener
** taper <entrée>
73 1 Emmanuel Quemener
** entrer son identifiant à la suite de @Username: @
74 1 Emmanuel Quemener
** entrer son mot de passe à l'invite @Password for '<mon identifiant>':@
75 1 Emmanuel Quemener
76 1 Emmanuel Quemener
<pre>
77 1 Emmanuel Quemener
Authentication realm: <http://forge.cbp.ens-lyon.fr:80> Redmine SVN Repository
78 1 Emmanuel Quemener
Password for 'carteuser':
79 1 Emmanuel Quemener
A    carte2opensource/utils
80 1 Emmanuel Quemener
A    carte2opensource/utils/Dep_path
81 1 Emmanuel Quemener
A    carte2opensource/utils/Dep_tgt
82 1 Emmanuel Quemener
A    carte2opensource/utils/Path2dat.awk
83 1 Emmanuel Quemener
---
84 1 Emmanuel Quemener
A    carte2opensource/examples/Vasp_Para/INCAR
85 1 Emmanuel Quemener
A    carte2opensource/examples/Test_HCN_zmat.path
86 1 Emmanuel Quemener
A    carte2opensource/examples/Test_bio_zmat.path
87 1 Emmanuel Quemener
A    carte2opensource/examples/Test_zmat_cyclo.path
88 1 Emmanuel Quemener
Checked out revision 4.
89 1 Emmanuel Quemener
</pre>
90 1 Emmanuel Quemener
91 1 Emmanuel Quemener
La version courante du projet est la 4 à la réalisation de cette documentation.
92 1 Emmanuel Quemener
93 1 Emmanuel Quemener
h1. Compilation du logiciel Carte
94 1 Emmanuel Quemener
95 1 Emmanuel Quemener
Par défaut, 
96 1 Emmanuel Quemener
97 1 Emmanuel Quemener
h2. Sur architecture Open Source
98 1 Emmanuel Quemener
99 1 Emmanuel Quemener
<pre>
100 1 Emmanuel Quemener
# Deplacement dans le dossier de Path, le programme principal
101 1 Emmanuel Quemener
cd carte2opensource/path
102 1 Emmanuel Quemener
# Lancement de la compilation
103 1 Emmanuel Quemener
make
104 1 Emmanuel Quemener
</pre>
105 1 Emmanuel Quemener
106 1 Emmanuel Quemener
La compilation démarre sous GFortran par défaut et présente les sorties (partielles) suivantes
107 1 Emmanuel Quemener
<pre>
108 1 Emmanuel Quemener
gfortran -g  -Wall -fbounds-check -c VarTypes.f90
109 1 Emmanuel Quemener
gfortran -g  -Wall -fbounds-check -c Path_module.f90
110 1 Emmanuel Quemener
gfortran -g  -Wall -fbounds-check -c Io_module.f90
111 1 Emmanuel Quemener
gfortran -g  -Wall -fbounds-check -c VarTypes.f90 
112 1 Emmanuel Quemener
gfortran -g  -Wall -fbounds-check -c Path.f90 
113 1 Emmanuel Quemener
Path.f90:208.33:
114 1 Emmanuel Quemener
115 1 Emmanuel Quemener
  LOGICAL, ALLOCATABLE :: FTmp(:) ! Nat
116 1 Emmanuel Quemener
                                 1
117 1 Emmanuel Quemener
Warning: Unused variable 'ftmp' declared at (1)
118 1 Emmanuel Quemener
---
119 1 Emmanuel Quemener
gfortran -g  -Wall -fbounds-check -c Expand.f90 
120 1 Emmanuel Quemener
gfortran -g  -Wall -fbounds-check -o Path.exe Path.o PathCreate.o Read_geom.o Calc_zmat.o Calc_zmat_frag.o Calc_zmat_constr_frag.o Decomp_frag.o Calc_mixed_frag.o Calc_baker.o Calc_Xprim.o Calc_baker_allGeomF.o ConvertZmat_cart.o ConvertBakerInternal_cart.o ConvertZmat_cart_3.o Egrad.o Egrad_baker.o EgradPath.o egrad_g03.o egrad_mopac.o egrad_ext.o egrad_test.o egrad_vasp.o CalcHess.o Hupdate.o Hupdate_all.o CalcTangent.o Step_RFO_all.o Step_GEDIIS.o Step_GEDIIS_All.o Energy_GEDIIS.o Step_DIIS_all.o Hinvup_BFGS.o Extrapol_int.o Extrapol_baker.o Extrapol_mixed.o Extrapol_cart.o IntCoord_der.o Step_DIIS.o Step_GDIIS_Simple_Err.o minv.o Space.o Space_GEDIIS.o Space_GEDIIS_all.o Space_all.o freemv.o Mat_util.o Ginvse.o ConvertNumAt.o CheckPeriodicBound.o Check_step.o TestCart.o Opt_Geom.o PrintGeom.o PrintGeomVasp.o test_zmat.o Annul.o addligne.o Splin1D.o bib_oper.o VectorPer.o ZmatBuild.o CalcCnct.o ConvXyzZmat.o ConvXyzMixed.o Add2indzmat.o CalcRmsd.o AlignPartial.o Rotation_matrix.o valid.o upcase.o ztocd.o mixtocd.o r3drdx.o r3dtdx.o mling.o ggc2gz.o Int2cart.o Mixed2cart.o Write_path.o Write_vasp.o Std_ori.o Tensor.o cmshft.o sinangle.o Header.o gaussj.o sorxr.o sorti32.o mcopsp.o mcopps.o mmulpv.o Expand.o VarTypes.o Path_module.o Io_module.o 
121 1 Emmanuel Quemener
122 1 Emmanuel Quemener
Path.exe has been created.
123 1 Emmanuel Quemener
</pre>
124 1 Emmanuel Quemener
125 1 Emmanuel Quemener
Au 9 novembre, beaucoup d'avertissements informent que nombre de variables déclarées sont non utilisées. Ces avertissements ne gênent en rien la compilation et l'exécution du programme.
126 1 Emmanuel Quemener
127 1 Emmanuel Quemener
h1. Exécution du logiciel Carte
128 1 Emmanuel Quemener
129 1 Emmanuel Quemener
h2. Seul, pour récupérer la documentation
130 1 Emmanuel Quemener
131 1 Emmanuel Quemener
Appliquer la commande : 
132 1 Emmanuel Quemener
<pre>
133 1 Emmanuel Quemener
# Dans le dossier de la compilation
134 1 Emmanuel Quemener
./Path.exe -help
135 1 Emmanuel Quemener
</pre>
136 1 Emmanuel Quemener
137 1 Emmanuel Quemener
Le programme renvoie vers le _shell_ :
138 1 Emmanuel Quemener
<pre>
139 1 Emmanuel Quemener
 Path mini-help
140 1 Emmanuel Quemener
 --------------
141 1 Emmanuel Quemener
 
142 1 Emmanuel Quemener
 Use: Path Input_file Output_file
143 1 Emmanuel Quemener
 Input_file starts with a Namelist called path
144 1 Emmanuel Quemener
 
145 1 Emmanuel Quemener
 Compulsory variables are:
146 1 Emmanuel Quemener
 NGeomi: Number of geometries defining the Initial path
147 1 Emmanuel Quemener
 NGeomf: Number of geometries defining the Final path
148 1 Emmanuel Quemener
 Nat   : Number of atoms
149 1 Emmanuel Quemener
 
150 1 Emmanuel Quemener
 Other options
151 1 Emmanuel Quemener
 Input: string that indicates the type of the input geometries.
152 1 Emmanuel Quemener
 Accepted values are: Cart (or Xmol or Xyz) or Vasp
153 1 Emmanuel Quemener
 Prog: string that indicates the program that will be used for energy and gradient calculations.
154 1 Emmanuel Quemener
       Accepted values are: Gaussian, Vasp, Mopac or Ext
155 1 Emmanuel Quemener
       In case of a Gaussian or Mopac calculations, input must be set to Cart.
156 1 Emmanuel Quemener
       One example of a gaussian/mopac input should be added at the end of the
157 1 Emmanuel Quemener
       input file.See example file Test_G03.path or Test_Mopac.path
158 1 Emmanuel Quemener
       In the case of a VASP calculation, if input is set to Cart, then
159 1 Emmanuel Quemener
     the preamble of a VASP calculation should be added at the end of
160 1 Emmanuel Quemener
     the input file. See example file Test_VASP_cart.path
161 1 Emmanuel Quemener
     In the case of a VASP calculation, one should also give value of the 
162 1 Emmanuel Quemener
     Runmode variable
163 1 Emmanuel Quemener
 Runmode: This indicates wether one should use VASP routine to calculate the energy
164 1 Emmanuel Quemener
        and gradient of the whole path or not. If one wants to use VASP,
165 1 Emmanuel Quemener
        Runmode must be set to PARA.
166 1 Emmanuel Quemener
 PathName: Prefix used to save the path. Default is Path
167 1 Emmanuel Quemener
 Poscar: string that will be used as the prefix for the different 
168 1 Emmanuel Quemener
         POSCAR files in a VASP calculations. Usefull only if PathOnly=.TRUE.,
169 1 Emmanuel Quemener
         not used for internal calculations.
170 1 Emmanuel Quemener
 IGeomRef: Index of the geometry used to construct the internal coordinates.
171 1 Emmanuel Quemener
       Valid only for Coord=Zmat, Hybrid or Mixed
172 1 Emmanuel Quemener
 Fact: REAL used to define if two atoms are linked.
173 1 Emmanuel Quemener
       If d(A,B)<=fact*(rcov(A)+rcov(B)), then A and B are considered Linked.
174 1 Emmanuel Quemener
 debugFile: Name of the file that indicates which subroutine should print debug info.
175 1 Emmanuel Quemener
 Coord: System of coordinates to use. Possible choices are:
176 1 Emmanuel Quemener
        - CART (or Xyz): works in cartesian
177 1 Emmanuel Quemener
        - Zmat: works in internal coordinates (Zmat)
178 1 Emmanuel Quemener
        - Mixed: frozen atoms, as well as atoms defined by the 
179 1 Emmanuel Quemener
        'cart' array(see below) are describe in CARTESIAN, whereas the
180 1 Emmanuel Quemener
        others are described in Zmat
181 1 Emmanuel Quemener
        - Baker: use of Baker coordinates, also called delocalized internal coordinates
182 1 Emmanuel Quemener
        - Hybrid: geometries are described in zmat, but the gradient are used in cartesian
183 1 Emmanuel Quemener
 Step_method: method to compute the step for optimizing a geometry; choices are:
184 1 Emmanuel Quemener
        - RFO: Rational function optimization
185 1 Emmanuel Quemener
        - GDIIS: Geometry optimization using direct inversion in the iterative supspace
186 1 Emmanuel Quemener
  HesUpd: method to update the hessian. By default, it is Murtagh-Sargent
187 1 Emmanuel Quemener
       Except for geometry optimization where it is BFGS.
188 1 Emmanuel Quemener
 MaxCyc: maximum number of iterations for the path optimization
189 1 Emmanuel Quemener
 Smax: Maximum length of a step during path optimization
190 1 Emmanuel Quemener
 SThresh: Step Threshold to consider that the path is stationary
191 1 Emmanuel Quemener
 GThresh: Gradient Threshold to consider that the path is stationary, only orthogonal part is taken
192 1 Emmanuel Quemener
 FTan: We moving the path, this gives the proportion of the displacement tangent to the path
193 1 Emmanuel Quemener
       that is kept. FTan=1. corresponds to the full displacement, 
194 1 Emmanuel Quemener
       whereas FTan=0. gives a displacement orthogonal to the path.
195 1 Emmanuel Quemener
 IReparam: The path is not reparameterised at each iteration. This gives the frequency of reparameterization.
196 1 Emmanuel Quemener
 ISpline: By default, a linear interpolation is used to generate the path.
197 1 Emmanuel Quemener
          This option indicates the first step where spline interpolation is used.
198 1 Emmanuel Quemener
 
199 1 Emmanuel Quemener
 Arrays:
200 1 Emmanuel Quemener
 Rcov: Array containing the covalent radii of the first 80 elements.
201 1 Emmanuel Quemener
       You can modify it using, rcov(6)=0.8.
202 1 Emmanuel Quemener
 Mass: Array containing the atomic mass of the first 80 elements.
203 1 Emmanuel Quemener
 AtTypes: Name of the different atoms used in a VASP calculations.
204 1 Emmanuel Quemener
 If not given, Path will read the POTCAR file.
205 1 Emmanuel Quemener
 
206 1 Emmanuel Quemener
 Flags:
207 1 Emmanuel Quemener
 MW:  Flag. True if one wants to work in Mass Weighted coordinates. Default=.TRUE.
208 1 Emmanuel Quemener
 Renum: Flag. True if one wants to reoder the atoms in the initial order. default is .TRUE. most of the time.
209 1 Emmanuel Quemener
 OptProd: True if one wants to optimize the geometry of the products.
210 1 Emmanuel Quemener
 OptReac: True if one wants to optimize the geometry of the reactants.
211 1 Emmanuel Quemener
 PathOnly:TRUE if one wants to generate the initial path, and stops.
212 1 Emmanuel Quemener
 Hinv: if True, then Hessian inversed is used.
213 1 Emmanuel Quemener
 IniHup: if True, then Hessian inverse is extrapolated using the initial path calculations.
214 1 Emmanuel Quemener
 HupNeighbour: if True, then Hessian inverse is extrapolated using the neighbouring points of the path.
215 1 Emmanuel Quemener
 FFrozen: True if one wants to freeze the positions of some atoms.
216 1 Emmanuel Quemener
          If True, a &frozenlist namelist containing the list of frozen atoms must be given.
217 1 Emmanuel Quemener
           If VASP is used, and frozen is not given
218 1 Emmanuel Quemener
  here, the program will use the F flags of the input geometry
219 1 Emmanuel Quemener
 FCart:  True if one wants to describe some atoms using cartesian coordinates. 
220 1 Emmanuel Quemener
         *** Only used in 'mixed' calculations. ***
221 1 Emmanuel Quemener
       If True, a &cartlist namelist containing the list of cart atoms must be given.
222 1 Emmanuel Quemener
       By default, only frozen atoms are described in cartesian coordinates.
223 1 Emmanuel Quemener
 
224 1 Emmanuel Quemener
 DynMaxStep: if TRUE, the maximum allowed step is updated at each step, for each geometry.
225 1 Emmanuel Quemener
         If energy goes up, Smax=Smax*0.8, if not Smax=Smax*1.2. 
226 1 Emmanuel Quemener
        It is ensured that the dynamical Smax is within [0.5*SMax_0,2*Smax_0]
227 1 Emmanuel Quemener
 Autocart: True if you want to let the program choosing the cartesian atoms.
228 1 Emmanuel Quemener
 VMD: TRUE if you want to use VMD to look at the Path. Used only for VASP for now
229 1 Emmanuel Quemener
</pre>
230 1 Emmanuel Quemener
231 1 Emmanuel Quemener
h2. Exécution d'un exemple complet Test_HCN_zmat_test
232 1 Emmanuel Quemener
233 1 Emmanuel Quemener
<pre>
234 1 Emmanuel Quemener
# Se deplacer dans le dossier des exemples
235 1 Emmanuel Quemener
cd $HOME/carte2opensource/examples
236 1 Emmanuel Quemener
# Lancer l'execution : utilisation de l'exemple 
237 1 Emmanuel Quemener
../path/Path.exe Test_HCN_zmat_test.path Test_HCN_zmat_test.out
238 1 Emmanuel Quemener
</pre>
239 1 Emmanuel Quemener
240 1 Emmanuel Quemener
Le document de sortie @Test_HCN_zmat_test.out@ (disponible dans @Files@) commence et termine par les lignes suivantes :
241 1 Emmanuel Quemener
<pre>
242 1 Emmanuel Quemener
&PATH
243 1 Emmanuel Quemener
 FACT=  1.1000000238418579     ,
244 1 Emmanuel Quemener
 R_COV= 9.99999982451670044E-014,  37.000000000000000     ,  93.000000000000000     ,  123.00000000000000     ,  90.000000000000000     ,
245 1 Emmanuel Quemener
   82.000000000000000     ,  77.000000000000000     ,  75.000000000000000     ,  73.000000000000000     ,  71.000000000000000     ,  69.000000000000000     ,
246 1 Emmanuel Quemener
   154.00000000000000     ,  136.00000000000000     ,  118.00000000000000     ,  111.00000000000000     ,  106.00000000000000     ,  102.00000000000000     ,
247 1 Emmanuel Quemener
   99.000000000000000     ,  97.000000000000000     ,  203.00000000000000     ,  174.00000000000000     ,  144.00000000000000     ,  132.00000000000000     ,
248 1 Emmanuel Quemener
   122.00000000000000     ,  118.00000000000000     , 2*117.00000000000000       ,  116.00000000000000     ,  115.00000000000000     ,  117.00000000000000     ,
249 1 Emmanuel Quemener
   125.00000000000000     ,  120.00000000000000     , 2*122.00000000000000       ,  117.00000000000000     ,  114.00000000000000     ,  110.00000000000000     ,
250 1 Emmanuel Quemener
---
251 1 Emmanuel Quemener
Geometry   9/ 12 for iteration  21
252 1 Emmanuel Quemener
     C
253 1 Emmanuel Quemener
     H    2    1.502532
254 1 Emmanuel Quemener
     N    2    1.139033    1   42.603956
255 1 Emmanuel Quemener
Geometry  10/ 12 for iteration  21
256 1 Emmanuel Quemener
     C
257 1 Emmanuel Quemener
     H    2    1.771786
258 1 Emmanuel Quemener
     N    2    1.179782    1   29.925561
259 1 Emmanuel Quemener
Geometry  11/ 12 for iteration  21
260 1 Emmanuel Quemener
     C
261 1 Emmanuel Quemener
     H    2    2.044868
262 1 Emmanuel Quemener
     N    2    1.161379    1   16.880155
263 1 Emmanuel Quemener
 Exiting Path, IOpt=          21
264 1 Emmanuel Quemener
</pre>